Set user expires on FreeBSD using UTC. (#52276)
This commit is contained in:
parent
f6ba9be141
commit
687279c7bd
3 changed files with 6 additions and 3 deletions
2
changelogs/fragments/user-freebsd-expire-utc.yaml
Normal file
2
changelogs/fragments/user-freebsd-expire-utc.yaml
Normal file
|
@ -0,0 +1,2 @@
|
||||||
|
bugfixes:
|
||||||
|
- user - on FreeBSD set the user expiration time as seconds since the epoch in UTC to avoid timezone issues
|
|
@ -404,6 +404,7 @@ uid:
|
||||||
|
|
||||||
import errno
|
import errno
|
||||||
import grp
|
import grp
|
||||||
|
import calendar
|
||||||
import os
|
import os
|
||||||
import re
|
import re
|
||||||
import pty
|
import pty
|
||||||
|
@ -1150,7 +1151,7 @@ class FreeBsdUser(User):
|
||||||
if self.expires < time.gmtime(0):
|
if self.expires < time.gmtime(0):
|
||||||
cmd.append('0')
|
cmd.append('0')
|
||||||
else:
|
else:
|
||||||
cmd.append(time.strftime(self.DATE_FORMAT, self.expires))
|
cmd.append(str(calendar.timegm(self.expires)))
|
||||||
|
|
||||||
# system cannot be handled currently - should we error if its requested?
|
# system cannot be handled currently - should we error if its requested?
|
||||||
# create the user
|
# create the user
|
||||||
|
@ -1268,7 +1269,7 @@ class FreeBsdUser(User):
|
||||||
# Current expires is negative or we compare year, month, and day only
|
# Current expires is negative or we compare year, month, and day only
|
||||||
if current_expires <= 0 or current_expire_date[:3] != self.expires[:3]:
|
if current_expires <= 0 or current_expire_date[:3] != self.expires[:3]:
|
||||||
cmd.append('-e')
|
cmd.append('-e')
|
||||||
cmd.append(time.strftime(self.DATE_FORMAT, self.expires))
|
cmd.append(str(calendar.timegm(self.expires)))
|
||||||
|
|
||||||
# modify the user if cmd will do anything
|
# modify the user if cmd will do anything
|
||||||
if cmd_len != len(cmd):
|
if cmd_len != len(cmd):
|
||||||
|
|
|
@ -364,7 +364,7 @@
|
||||||
- name: BSD | Ensure proper expiration date was set
|
- name: BSD | Ensure proper expiration date was set
|
||||||
assert:
|
assert:
|
||||||
that:
|
that:
|
||||||
- bsd_account_expiration.stdout == '2529878400'
|
- bsd_account_expiration.stdout == '2529881062'
|
||||||
when: ansible_facts.os_family == 'FreeBSD'
|
when: ansible_facts.os_family == 'FreeBSD'
|
||||||
|
|
||||||
- name: Change timezone
|
- name: Change timezone
|
||||||
|
|
Loading…
Reference in a new issue