Python:如何使用Fabric在ubuntu用户帐户上设置密码

时间:2011-03-16 09:52:29

标签: python fabric

我正在尝试使用Fabric在远程Ubuntu系统上创建用户帐户。我希望帐户有一个强密码。我可以使用以下方法创建帐户:

 sudo('useradd -m test -s /bin/bash')

问题是我不确定如何设置密码。 useradd -p选项需要加密密码。我该如何设置密码?盐如何传递到远程系统?

示例代码将不胜感激。

由于

2 个答案:

答案 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)

密码将与用户名匹配,系统将在首次登录时提示用户更改密码。