Я пытаюсь автоматизировать настройку доступа по 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 это не действует, в интерактивном интерпретаторе он блокируется после первой строки.
Как лучше всего это сделать?
Я запускаю python 2.6 в Ubuntu lucid.