试图找出如何以密码作为参数执行sudo命令。
echo mypassword | sudo -S command
正在使用此引用Use sudo with password as parameter
然而,在OS X上,它一直说" sudo:密码尝试不正确"但密码是正确的。
我做错了什么?
答案 0 :(得分:2)
正如评论中已经指出的那样,你正在做的是非常坏主意,因为它会留下帐户的密码。相反,如果您需要使用脚本中的sudo运行特定命令,您可以 - 并且您应该 - 为这样的一个特定用户定义单个命令允许执行它而不必输入密码的方式。
因此,您应该编辑/etc/sudoers
以包含您的特定用户的条目,以使用标记为{{1}的单个特定命令 }:
NOPASSWD
或者,如果您真的不想输入计算机的主机名,请转到:
youruser yourhostname = (root) NOPASSWD: /some/path/your/command
这样你就可能会泄漏以root身份执行 one,single命令而不是泄露你的密码的能力,并且可能会以root身份运行任何命令