Allow '*' as empty password.
If `password` is defined as `*` `useradd` or `usermod` returns an error: msg: usermod: Invalid password: `*' This works very well on Linux host to not define any password for a user (mainly useful if your setup is only based on SSH keys for auth). On OpenBSD this does not work, so we have to ignore the encrypted password parameter if it defined as `*`.
This commit is contained in:
parent
b93633d7c2
commit
0fd3ece053
1 changed files with 3 additions and 2 deletions
|
@ -933,7 +933,7 @@ class OpenBSDUser(User):
|
||||||
cmd.append('-L')
|
cmd.append('-L')
|
||||||
cmd.append(self.login_class)
|
cmd.append(self.login_class)
|
||||||
|
|
||||||
if self.password is not None:
|
if self.password is not None and self.password != '*':
|
||||||
cmd.append('-p')
|
cmd.append('-p')
|
||||||
cmd.append(self.password)
|
cmd.append(self.password)
|
||||||
|
|
||||||
|
@ -1031,7 +1031,8 @@ class OpenBSDUser(User):
|
||||||
cmd.append('-L')
|
cmd.append('-L')
|
||||||
cmd.append(self.login_class)
|
cmd.append(self.login_class)
|
||||||
|
|
||||||
if self.update_password == 'always' and self.password is not None and info[1] != self.password:
|
if self.update_password == 'always' and self.password is not None \
|
||||||
|
and self.password != '*' and info[1] != self.password:
|
||||||
cmd.append('-p')
|
cmd.append('-p')
|
||||||
cmd.append(self.password)
|
cmd.append(self.password)
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue