【问题标题】:osx - sudo with password executeosx - 带密码执行的 sudo
【发布时间】:2017-03-05 00:31:47
【问题描述】:

试图弄清楚如何使用密码作为参数执行 sudo 命令。

echo mypassword | sudo -S command

正在使用此引用 Use sudo with password as parameter

但是,在 OS X 上,它一直说“sudo:不正确的密码尝试”但是密码是正确的。

我做错了什么?

【问题讨论】:

  • 只是一个小小的评论:这是一个非常糟糕的主意。例如,如果您在命令行中键入它,您的密码将存储在您的 shell 历史记录中。我不知道你在做什么,但我认为你是在找麻烦;)

标签: macos unix command-line


【解决方案1】:

正如 cmets 中已经指出的那样,您正在做的是一个非常个坏主意,因为它会留下一个帐户的密码。相反,如果您需要在脚本中使用 sudo 运行特定命令,您可以——而且你应该——为 一个特定用户定义 single 命令无需输入密码即可执行的方式。

因此,您应该编辑/etc/sudoers 以包含一个您的特定用户 的条目,用于该一个、单个、特定命令,并带有标签NOPASSWD: p>

youruser yourhostname = (root) NOPASSWD: /some/path/your/command

或者,如果您真的不想输入计算机的主机名,请选择:

youruser ALL = (root) NOPASSWD: /some/path/your/command

这样您可能会泄露以 root 身份执行该单个命令 的能力,而不是泄露您的密码,并可能会以 root 身份运行 任何命令 .

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多