【问题标题】:OS X run bash command as another user with sudo privilegesOS X 以具有 sudo 权限的另一个用户身份运行 bash 命令
【发布时间】:2016-02-23 17:01:54
【问题描述】:

我在我的终端中具有 root 访问权限,我试图以另一个具有 sudo 权限的用户身份运行命令,但我无法使其工作。

这是场景:

我以 root 身份登录,我想以用户 javier 的身份执行 sudo echo hello world

我目前有sudo -u javier sudo echo hello world,但它会提示输入密码。

有没有办法在不提示输入密码的情况下运行它?

【问题讨论】:

  • 您明白sudo 以root 身份运行命令吗?如果您已经是 root,为什么还需要这个?
  • 在现实生活中,sudo 是在我没有编写的脚本中,必须控制。

标签: macos bash terminal root sudo


【解决方案1】:

如果您是sudoer,那么您可以编辑/etc/sudoers 使用 vim 为用户 javier 提供文件:

sudo vi /etc/sudoers

并添加类似:

javier ALL=(ALL) NOPASSWD:ALL

保存文件,然后执行您的命令。你应该很高兴。

【讨论】:

  • 你能解释一下这是什么以及它是如何工作的吗?
  • @JavierCarmona:NOPASSWD:ALL 是我们感兴趣的全部。它只是意味着允许用户javier 使用sudo 来执行所有命令而无需密码。
  • 您可能知道命令可以使用Cmnd_Alias 功能在sudoers 文件中分组,这样您就可以禁用选择命令的sudo 密码。请参阅this 问题。
【解决方案2】:

我认为你需要: sudo -u javier -i echo "你好世界"

或者试试 sudo -u javier -i ls -al

这样 root 在用户上下文中运行命令。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2017-02-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-06-11
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多