Я пытаюсь автоматизировать настройку доступа по 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.