Как автоматизировать linux команды в python? - PullRequest
0 голосов
/ 29 апреля 2020

Хорошо, поэтому я новичок в попытке автоматизировать Linux команды с python. Я написал код для автоматизации функции useradd. Я использую дистрибутив Slax, поэтому по умолчанию в root пользователя, поэтому sudo нет. Я предлагаю пользователю ввести его имя, а затем сохранить его в имя переменной. Затем команда useradd запускается с флагом -m для создания домашнего каталога. Так вот, в следующей строке начинает странно звучать, я должен удалить пароль пользователя, потому что иногда, когда я пытаюсь войти в систему через su, он запрашивает пароль, который уже был создан (но не был)? Затем выполняется команда для входа в систему нового пользователя, и она регистрирует меня в новом пользователе. Затем он перестает работать, как вы можете видеть внизу кода. У меня есть введенная команда пароля, чтобы можно было установить новый пароль, он не запускается при переключении пользователя. Если я вручную выхожу из пользователя, мне предлагают ввести новый пароль. Я пробовал как с подпроцессом, так и с os.system, и у меня были те же ошибки. Также есть ли способ автоматизировать ввод пароля по умолчанию при появлении запроса? Спасибо за любую помощь, спасибо.

import subprocess

name = input("Enter your name: ")
useradd = subprocess.call(["useradd", "-m",name])
deletepasswd = subprocess.call(["passwd", "-d",name])
login = subprocess.call(["su", "-",name])
passwd = subprocess.call(["passwd"])
...