允许特定组的用户无需sudo即可运行命令


11

我知道如何编辑/ etc / sudoers,以便我可以以sudo的身份运行命令而不必输入密码,但是,有一种方法可以允许某个组中的所有用户完全不用sudo地运行程序。(我要运行的程序是“ mount”和“ umount”)。


您的操作系统是什么?您是否要挂载NTFS分区,EXT分区或光盘驱动器?
2013年

Answers:


13

假设我想添加一组允许运行mountumount没有密码的用户。所以我首先要添加一个名为“ anyname”的组

sudo groupadd anyname

接下来,我们需要编辑/etc/group和添加用户

anyname:x:407:

将会出现,因此追加您要添加​​用逗号分隔的用户的用户。

anyname:x:407:user1,user2,...

现在,我们需要配置sudo,以允许“ anyname”组的成员实际调用 mountand umount命令。

您只需要在/ etc / sudoers中添加以下行

%anyname ALL=NOPASSWD: /sbin/mount, /sbin/umount

现在sudo mount不再询问密码,但是由于一直以来都在输入sudo来打屁股,所以我们可以通过以下操作来避免输入密码:

我可以创建以下名为“ / usr / bin / mount”的脚本(以及与umount类似的脚本)

#! /bin/sh
sudo /sbin/mount $*

为了使其更加安全,我们可能需要将这些脚本的所有权更改为“ anyname”组。

chgrp anyname /usr/bin/mount /usr/bin/umount

然后使它们仅对“ anyname”组可执行

chmod g+x /usr/bin/mount  /usr/bin/umount

编辑:根据您使用的操作系统,请检查mount和umount命令的位置。它可能在/ bin /而不是/ sbin中,因此您可能必须进行必要的更改

重要信息:BTW不能在所有bin文件夹都相互链接的基于Arch的系统上运行脚本。


1
谢谢。我实际上已经使用全局.bashrc实现了它,其中包含一个看起来像这样的函数安装:mount {sudo mount $ *}
w4etwetewtwet 2013年
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.