允许非管理员用户通过nautilus安装驱动器

我想为非管理员用户提供mount权限,以通过nautilus安装驱动器。 我不希望他们给予其他管理员权限。 我也不想使用setuid方法。

我怎样才能做到这一点? 我正在使用Ubuntu 12.04。

我通过更改默认策略解决了这个问题。 有三种方法可以实现这一目标:

通过给予团体特权

  1. 首先使用以下命令创建一个组安装mounter

      sudo addgroup mounter 
  2. 然后将非管理员用户添加到该组。 例如,我正在为此组添加非管理员用户。

      sudo adduser normal mounter 
  3. 然后使用admin权限打开策略文件。

      gksu gedit /var/lib/polkit-1/localauthority/10-vendor.d/com.ubuntu.desktop.pkla 
  4. 在文件的顶部有一个这样的部分:

     [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

通过为特定用户提供权限

如果您不想创建另一个组,只需在该文件中添加其用户名(登录名)即可。

  1. 使用admin权限打开策略文件。 您可以通过按AltF2在终端或短划线提示中键入此命令。

      gksu gedit /var/lib/polkit-1/localauthority/10-vendor.d/com.ubuntu.desktop.pkla 
  2. 然后在[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 
  3. 保存文件并退出gedit。

通过为所有用户提供权限

以上两种方法不适用于Ubuntu中的默认猜测用户。 因为,guest用户是在登录时动态创建的,并在注销后被删除。

要解决此问题,您可以为所有用户授予此权限。

  1. 使用admin权限打开策略文件。 您可以通过按AltF2在终端或短划线提示中键入此命令。

      gksu gedit /var/lib/polkit-1/localauthority/10-vendor.d/com.ubuntu.desktop.pkla 
  2. 然后在[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 
  3. 保存文件并退出gedit。


更新

  1. 测试于14.04。 它的工作方式与答案中描述的方式相同