Nautilusを介してドライブをマウントするために、非管理者ユーザーにマウント特権を与えたいです。私は彼らに他の管理者権限を与えたくありません。また、setuidメソッドを使用したくありません。
どうすればこれを達成できますか? Ubuntu 12.04を使用しています。
デフォルトのポリシーを変更することでこの問題を解決しました。これを実現するには、次の3つの方法があります。
最初に、次のコマンドを使用してグループmounter
を作成します。
Sudo addgroup mounter
次に、このグループに非管理者ユーザーを追加します。たとえば、管理者以外のユーザーnormal
をこのグループに追加しています。
Sudo adduser normal mounter
次に、管理者特権でポリシーファイルを開きます。
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
。
別のグループを作成したくない場合は、そのファイルにユーザー名(ログイン名)を追加するだけです。
管理者権限でポリシーファイルを開きます。ターミナルまたはダッシュプロンプトでこのコマンドを入力するには、 Alt-F2。
gksu gedit /var/lib/polkit-1/localauthority/10-vendor.d/com.ubuntu.desktop.pkla
次に、unix-user:<login-name>
セクションのIdentity
行に[Mounting, checking, etc. of internal drives]
を追加します。 リテラルの。ではなく、ユーザーのログイン名を使用することを忘れないでください。たとえば、ユーザー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を終了します。
上記の2つの方法は、Ubuntuのデフォルトの推測ユーザーには機能しません。ゲストユーザーはログイン時に動的に作成され、ログアウト後に削除されるためです。
これを回避するには、すべてのユーザーにこの権限を付与します。
管理者権限でポリシーファイルを開きます。ターミナルまたはダッシュプロンプトでこのコマンドを入力するには、 Alt-F2。
gksu gedit /var/lib/polkit-1/localauthority/10-vendor.d/com.ubuntu.desktop.pkla
次に、unix-user:*
セクションのIdentity
行に[Mounting, checking, etc. of internal drives]
を追加します。変更後、セクションは次のようになります。
[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を終了します。