我正在尝试自动化设置SFTP访问。此脚本正在以具有sudo权限且无密码的用户身份运行。
我可以像这样创建用户:
>>> import subprocess
>>> process = subprocess.Popen(['sudo', 'useradd', 'test'], shell=False, stdout=subprocess.PIPE, stderr=subprocess.PIPE)
>>> process.communicate()
('', '')
接下来我需要设置用户的密码,但是我不知道该怎么做。这是我尝试过的方法:
>>> process = subprocess.Popen(['sudo', 'chpasswd'], shell=False, stdout=subprocess.PIPE, stderr=subprocess.PIPE)
>>> process.communicate('test:password')
在我的Python程序中,它没有任何作用,在交互式解释器中,它在第一行之后锁定。
最好的方法是什么?
我在Ubuntu lucid上运行Python 2.6。