Я пытаюсь написать программу python, для которой требуется пароль пользователя для запуска некоторых внешних команд с использованием библиотек subprocess
. Код будет выглядеть примерно так.Как проверить пароль пользователя для root privledges в python
import subprocess
passwordInput = raw_input("What is your password: ")
subprocess.call('echo ' + passwordInput + ' | sudo -S pacman -Syy', shell=True)
Эта программа работает нормально, однако если вы вводите неправильный пароль, программа не работает. Как я могу добавить некоторую проверку ошибок, чтобы определить, введен ли пароль неправильно?
Я думал, может быть оборачивать этот код в while
цикла, а затем с помощью try-except
для проверки пароля, однако я не уверен, какой except
мог бы сделать это.
Любая помощь очень ценится.
Почему бы не добавить эту программу/пользовательскую комбо в файл sudoers и вернуться домой рано? –
Не появится ли «эхо-пароль» в ps -ef? Если да, это проблема безопасности. – dstromberg