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