我可以在 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
直接将密码作为参数提供。
此外,还必须考虑以这种方式使用密码的安全隐患。