我正在尝试使用Fabric在远程Ubuntu系统上创建用户帐户。我希望帐户有一个强密码。我可以使用以下方法创建帐户:
sudo('useradd -m test -s /bin/bash')
问题是我不确定如何设置密码。 useradd -p选项需要加密密码。我该如何设置密码?盐如何传递到远程系统?
示例代码将不胜感激。
由于
答案 0 :(得分:1)
试试chpasswd
。与passwd
不同,您可以在命令的标准输入中传递用户名和密码。因此,您可以上传包含密码的文件,并将此行放在fabfile中:
sudo('chpasswd < my_password_file')
来自man chpasswd
:
chpasswd命令从标准输入中读取用户名和密码对的列表,并使用此信息更新一组现有的 用户。每行的格式为:
USER_NAME:密码
提供的密码必须是明文。
答案 1 :(得分:1)
我这样做:
sudo('useradd %s' % username)
sudo('echo %s | passwd %s --stdin' % (username, username))
sudo('chage -d 0 %s' % username)
密码将与用户名匹配,系统将在首次登录时提示用户更改密码。