![在sudo命令中输入密码](https://linux22.com/image/75559/%E5%9C%A8sudo%E5%91%BD%E4%BB%A4%E4%B8%AD%E8%BE%93%E5%85%A5%E5%AF%86%E7%A0%81.png)
我可以在 sudo 命令本身上输入密码吗?就像是:
sudo rm (dir) -p (password)
我使用了 sudo help 但找不到正确的语法(如果有的话)
答案1
不。您能做的就是:
- 配置 sudo,使用户或用户组永远不需要输入 sudo 密码
- 配置 sudo,以便用户或用户组在使用 sudo 运行特定脚本时永远不需要输入密码。
推荐实践后者。编写一个包装器脚本,该脚本完全执行 root 需要执行的操作,最好不接受任何用户输入(例如来自命令行或环境变量),仅此而已。如果您确实需要为脚本获取用户输入,请确保正确引用所有变量并使用其他防御性编程实践。
答案2
从这个 StackOverflow 线程,似乎有一个标志-S
告诉sudo
我们从标准输入读取密码。给出的例子是
echo myPassword | sudo -S ls /tmp
然而,似乎没有任何方法可以sudo
直接将密码作为参数提供。
此外,还必须考虑以这种方式使用密码的安全隐患。