В python2.4 скрипте надо задать для пользователя usertest пароль, допустим 123:
passwd = "123"
os.system(passwd usertest)
На что OS выдает:
Changing password for usertest.
New password:
Как подставить после приглашения ввода пароля автоматически пароль из переменной . (Можно и не из переменной, главное, чтобы можно было этот процесс автоматизировать)
Передать пароль параметрами passwd
Т.е. это не к питону вопросы, а именно к passwd.
Можно использовать другие тулзы, если они есть в системе, например: usermod --password PASSWORD USERNAME
Nurbol Suleimenov, я изначально свои скрипты писал , используя subprocess, но сейчас перехожу на os.system. Получается зря? Если работа напрямую с OS несекьюрна, чем же лучше?
Решил проблему через usermod в os.system
Да, я уже приводил ссылку, что subprocess пришел на замену os.system.
Т.к. методы работы с os.system крайне скудны.
Она не возвращает статус выполнения, и Вы не узнаете о том, что операция не выполнилась.
Она не возвращает результат выполнения, а subprocess может получить вывод команды. И дальше использовать его как данные для обработки или для интеллектуальной проверки об успешности выполнения
subprocess позволяет писать скрипты, которые можно использовать с UNIX pipes. В таком стиле:
cat /etc/password | grep user | your_script.py | cat
И немаловажно, что os.system оставлен только для сохранения совместимости и не будет улучшаться.
В конечном счете, Вам решать что использовать.
Если работа напрямую с OS несекьюрна, чем же лучше?
Как я уже писал, что можно использовать, но осторожно. Это я про то, что
когда Вы смешиваете строку для отправки в оболочку (shell) с переменной,
то появляется потенциальная дыра. Следует об этом помнить, если Вы пишите
к примеру web приложение, которая получает данные извне.