允许非管理员用户通过nautilus安装驱动器
我想为非管理员用户提供mount权限,以通过nautilus安装驱动器。 我不希望他们给予其他管理员权限。 我也不想使用setuid方法。
我怎样才能做到这一点? 我正在使用Ubuntu 12.04。
我通过更改默认策略解决了这个问题。 有三种方法可以实现这一目标:
通过给予团体特权
-
首先使用以下命令创建一个组安装
mounter
:sudo addgroup mounter
-
然后将非管理员用户添加到该组。 例如,我正在为此组添加非管理员用户。
sudo adduser normal mounter
-
然后使用admin权限打开策略文件。
gksu gedit /var/lib/polkit-1/localauthority/10-vendor.d/com.ubuntu.desktop.pkla
-
在文件的顶部有一个这样的部分:
[Mounting, checking, etc. of internal drives] Identity=unix-group:admin;unix-group:sudo; Action=org.freedesktop.udisks.filesystem-*;org.freedesktop.udisks.drive-ata-smart* ResultActive=yes
添加
unix-group:mounter;
在Identity=unix-group:admin;unix-group:sudo;
在该部分的第一行。 更改的部分将如下所示[Mounting, checking, etc. of internal drives] Identity=unix-group:admin;unix-group:sudo;unix-group:mounter; Action=org.freedesktop.udisks.filesystem-*;org.freedesktop.udisks.drive-ata-smart* ResultActive=yes
而已。 现在,非管理员用户可以安装驱动器而无需管理员密码。 它们只需要添加到mounter
机组。 注意要将用户novice
添加到组安装mounter
,请执行以下命令: sudo adduser novice mounter
。
通过为特定用户提供权限
如果您不想创建另一个组,只需在该文件中添加其用户名(登录名)即可。
-
使用admin权限打开策略文件。 您可以通过按Alt – F2在终端或短划线提示中键入此命令。
gksu gedit /var/lib/polkit-1/localauthority/10-vendor.d/com.ubuntu.desktop.pkla
-
然后在
[Mounting, checking, etc. of internal drives]
部分的Identity
行中添加unix-user:
。 请记住使用用户的登录名,而不是文字。 。 例如,如果您想为用户tester
授予此权限,则该行将如下所示[Mounting, checking, etc. of internal drives] Identity=unix-group:admin;unix-group:sudo;unix-user:tester; Action=org.freedesktop.udisks.filesystem-*;org.freedesktop.udisks.drive-ata-smart* ResultActive=yes
-
保存文件并退出gedit。
通过为所有用户提供权限
以上两种方法不适用于Ubuntu中的默认猜测用户。 因为,guest用户是在登录时动态创建的,并在注销后被删除。
要解决此问题,您可以为所有用户授予此权限。
-
使用admin权限打开策略文件。 您可以通过按Alt – F2在终端或短划线提示中键入此命令。
gksu gedit /var/lib/polkit-1/localauthority/10-vendor.d/com.ubuntu.desktop.pkla
-
然后在
[Mounting, checking, etc. of internal drives]
部分的Identity
行中添加unix-user:*
。 修改后,该部分将如下所示:[Mounting, checking, etc. of internal drives] Identity=unix-group:admin;unix-group:sudo;unix-user:*; Action=org.freedesktop.udisks.filesystem-*;org.freedesktop.udisks.drive-ata-smart* ResultActive=yes
-
保存文件并退出gedit。
更新
- 测试于14.04。 它的工作方式与答案中描述的方式相同