saltstack内置执行模块shadow
shadow用于命令行管理shadow文件
salt.modules.shadow.default_hash()
用户未设置密码的默认哈希
例:salt '*' shadow.default_hash
salt.modules.shadow.del_password(name)
删除用户密码
例:salt '*' shadow.del_password username
salt.modules.shadow.gen_password(password, crypt_salt=None, algorithm='sha512')
生产哈希密码
参数解释:
password 明文密码
crypt_salt 密码加密对应数
algorithm 哈希类型有md5、sha256、sha512 (default)
例:
salt '*' shadow.gen_password 'I_am_password'
salt '*' shadow.gen_password 'I_am_password' crypt_salt'I_am_salt' algorithm=sha256
salt.modules.shadow.info(name)
返回指定用户shadow信息
例:salt '*' shadow.info root
salt.modules.shadow.set_date(name, date)
指定密码最后修改的日期
例:salt '*' shadow.set_date username 0
salt.modules.shadow.set_expire(name, expire)
设置账号的过期日期,如果为0,立即过期;如果为-1,永不过期。
例:salt '*' shadow.set_expire username -1
salt.modules.shadow.set_inactdays(name, inactdays)
设置密码过期后,锁定账号的天数
例:salt '*' shadow.set_inactdays username 7
salt.modules.shadow.set_maxdays(name, maxdays)
两次修改密码相距的最大天数
例:salt '*' shadow.set_maxdays username 90
salt.modules.shadow.set_mindays(name, mindays)
设置修改密码的最小天数
例:salt '*' shadow.set_mindays username 7
salt.modules.shadow.set_password(name, password, use_usermod=False)
设置用户密码
可再命令行通过如下命令生产哈希密码
python -c "import crypt; print crypt.crypt('password', '\$6\$SALTsalt')"
其中$6代表sha512
例:salt '*' shadow.set_password root '$1$UYCIxa628.9qXjpQCjM4a..'
salt.modules.shadow.set_warndays(name, warndays)
设置密码过期前,开始警告天数
例:salt '*' shadow.set_warndays username 7