mirror of
https://github.com/saltstack/salt.git
synced 2025-04-17 10:10:20 +00:00
fix #18843: usermod won't create a dir if old home does not exist
usermod only MOVE old home to new path. So create home dir by salt.
This commit is contained in:
parent
6890752dd3
commit
c4e95b9f48
1 changed files with 11 additions and 7 deletions
|
@ -107,8 +107,10 @@ def _changes(name,
|
|||
if home:
|
||||
if lusr['home'] != home:
|
||||
change['home'] = home
|
||||
if createhome and not os.path.isdir(home):
|
||||
change['homeDoesNotExist'] = home
|
||||
if createhome:
|
||||
newhome = home if home else lusr['home']
|
||||
if not os.path.isdir(newhome):
|
||||
change['homeDoesNotExist'] = newhome
|
||||
|
||||
if shell:
|
||||
if lusr['shell'] != shell:
|
||||
|
@ -375,11 +377,13 @@ def present(name,
|
|||
if key == 'date':
|
||||
__salt__['shadow.set_date'](name, date)
|
||||
continue
|
||||
if key == 'home' or key == 'homeDoesNotExist':
|
||||
if createhome:
|
||||
__salt__['user.chhome'](name, val, True)
|
||||
else:
|
||||
__salt__['user.chhome'](name, val, False)
|
||||
if key == 'home':
|
||||
__salt__['user.chhome'](name, val, False)
|
||||
continue
|
||||
if key == 'homeDoesNotExist':
|
||||
__salt__['user.chhome'](name, val, True)
|
||||
if not os.path.isdir(val):
|
||||
__salt__['file.mkdir'](val, pre['uid'], pre['gid'], 0755)
|
||||
continue
|
||||
if key == 'mindays':
|
||||
__salt__['shadow.set_mindays'](name, mindays)
|
||||
|
|
Loading…
Add table
Reference in a new issue