我正在嘗試自動化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