如何允许所有用户通过sudo运行给定命令?


25

我知道如何创建给定用户可以通过执行的命令sudo。我有一个给定的命令,我希望允许任何用户sudo无需输入密码即可执行。为了实现此目的,我将在/ etc / sudoers文件中放入什么?


感谢您提出这个问题。我看了man sudoers一次,却没有找到答案。我man sudoers更加仔细地调查了第二次。我还是失败了,TMI!然后,多亏了这里的答案,我摸索了一下man sudoers,发现了为什么这是可行的。看来您首先需要了解如何做才能理解man sudoers。叹!
Tino

Answers:


24

sudoers中的此类部分可能就是您想要的。

Cmnd_Alias NAMEOFTHIS=/usr/bin/program
ALL ALL=NOPASSWD: NAMEOFTHIS

那不是只授予用户吗?是否可以使用通配符代替?我希望任何经过身份验证的用户都能够执行命令。
乔什

然后使用他们都是成员的组。
Broam 2010年

谢谢!我发誓我尝试过,但是我忘了一个空间,所以它没有用!
乔什(Josh)2010年

1
如果不是所有用户,我只是添加一个组是因为这是您要跟踪的对象的成员-谁可以sudo这样做。
Broam

1
如果您确实不想添加组(为什么不这么做)并且仍然需要单个用户,请使用User_Alias SOMEUSERS = user1, user2
布雷特·瑞安

18

您可以考虑使用SUID位。某些程序需要root特权并使用SUID位,例如passwd

如果sudo是您更好的选择,则可以使用:

ALL ALL=NOPASSWD: /path/to/command

3
这是一个重新启动本地缓存名称服务器的外壳程序脚本,因此在这种情况下,SUID将不起作用,对吗?
乔什

Zoredache在测试我推荐的解决方案所需的时间中击败了我。=)
华纳

当他因为发布这样一个简单的问题而同时在聊天中骚扰我时,同样如此!
乔什

1
@Josh:那么不要发布简单的问题了:-)
Bart Silverstrim 2010年

2
@Josh:实际上听起来像是一个简洁的功能。多harassitasking。
巴特·
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.