【问题标题】:Add sudo permission to a group of users for specific shell file为特定 shell 文件的一组用户添加 sudo 权限
【发布时间】:2016-05-26 13:03:29
【问题描述】:

我一直在寻找答案,但我找不到。

我有一个位于 /home/myuser/shell.sh 的 shell 脚本,它需要运行 sudo。我希望我来自mygroup 的所有用户都能够在没有密码的情况下运行它。

于是我执行了:visudo,并在文件末尾添加了这一行:

%mygroup ALL=(ALL) NOPASSWD: /home/myuser/shell.sh

问题是它不起作用。当我尝试作为mygroup 的用户之一执行sh /home/myuser/shell.sh 时,它要求我输入sudo 密码。

你能帮帮我吗?

非常感谢!

【问题讨论】:

  • 你试过冒号后面没有空格吗?
  • 您好,谢谢您的回答。我刚试了还是不行
  • 好的,我找到了一种方法,即允许 shell 脚本中的所有命令在 sudoers 文件中使用 mygroup。但是,是否有任何方法可以使整个脚本成为可能?

标签: linux shell sudo


【解决方案1】:

用 sudo 运行它

visudo 会影响 sudo 的行为,所以你必须使用它。

但不要使用sh /.../shell.sh,先让脚本可执行

chmod +x /home/myuser/shell.sh

那你就可以了

sudo /home/myuser/shell.sh

没有密码。然后删除脚本中的所有 sudo 调用。

【讨论】:

  • 该文件可以root权限执行,并且文件内部使用sudo,也就是说shell.sh里面基本上有sudo xxx这样的命令
  • @EmmanuelO 那么你有两个选择。要么删除所有这些 sudo 调用,要么为此 xxx 命令创建一个 visudo 条目。
  • 非常感谢! :-)
【解决方案2】:

确保用户在允许 sudo 的组中。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2017-06-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-02-20
    • 2020-05-14
    • 2010-12-24
    • 1970-01-01
    相关资源
    最近更新 更多