我正在尝试自动化SFTP访问的设置。该脚本以具有sudo权限且没有密码的用户身份运行。如何在python脚本中设置Linux用户密码?
我可以像这样创建一个用户:
>>> 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上运行python 2.6。
感谢您的意见。实际的代码实际上更彻底,但赞赏不多。 – Jake 2011-01-14 06:57:12