【发布时间】:2014-01-22 13:35:33
【问题描述】:
我正在尝试编写一个 python 程序,该程序需要用户密码才能使用 subprocess 库运行一些外部命令。代码大致如下所示。
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 中吗?如果是,那就有点安全问题了。
标签: python linux passwords python-2.x