mirror of
https://github.com/ansible-collections/community.general.git
synced 2024-09-14 20:13:21 +02:00
On FreeBSD apply 'login_class' only if there is real change.
This commit is contained in:
parent
657d9d1f25
commit
845b6d78be
1 changed files with 11 additions and 2 deletions
|
@ -797,8 +797,17 @@ class FreeBsdUser(User):
|
||||||
cmd.append(self.shell)
|
cmd.append(self.shell)
|
||||||
|
|
||||||
if self.login_class is not None:
|
if self.login_class is not None:
|
||||||
cmd.append('-L')
|
# find current login class
|
||||||
cmd.append(self.login_class)
|
user_login_class = None
|
||||||
|
if os.path.exists(self.SHADOWFILE) and os.access(self.SHADOWFILE, os.R_OK):
|
||||||
|
for line in open(self.SHADOWFILE).readlines():
|
||||||
|
if line.startswith('%s:' % self.name):
|
||||||
|
user_login_class = line.split(':')[4]
|
||||||
|
|
||||||
|
# act only if login_class change
|
||||||
|
if self.login_class != user_login_class:
|
||||||
|
cmd.append('-L')
|
||||||
|
cmd.append(self.login_class)
|
||||||
|
|
||||||
if self.groups is not None:
|
if self.groups is not None:
|
||||||
current_groups = self.user_group_membership()
|
current_groups = self.user_group_membership()
|
||||||
|
|
Loading…
Reference in a new issue