Je veux donner le privilège de montage aux utilisateurs non-administrateurs pour monter les disques via Nautilus. Je ne veux pas qu'ils donnent d'autres privilèges d'administrateur. Je ne veux pas non plus utiliser la méthode setuid.
Comment puis-je atteindre cet objectif? J'utilise Ubuntu 12.04.
J'ai résolu ce problème en changeant la politique par défaut. Il y a trois façons d'y parvenir:
Créez d'abord un groupe mounter
en utilisant cette commande:
Sudo addgroup mounter
Ajoutez ensuite les utilisateurs non-administrateurs à ce groupe. Par exemple, j'ajoute l'utilisateur non-administrateur normal
à ce groupe.
Sudo adduser normal mounter
Ouvrez ensuite le fichier de stratégie avec les privilèges d'administrateur.
gksu gedit /var/lib/polkit-1/localauthority/10-vendor.d/com.ubuntu.desktop.pkla
En haut du fichier, il y a une section comme celle-ci:
[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
Ajoutez unix-group:mounter;
après Identity=unix-group:admin;unix-group:Sudo;
à la première ligne de la section. La section modifiée ressemblera à ceci
[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
C'est ça. Désormais, les utilisateurs non administrateurs peuvent monter les lecteurs sans requérir mot de passe administrateur. Ils doivent seulement être ajoutés au groupe mounter
. Remarque: pour ajouter un utilisateur novice
au groupe mounter
, exécutez la commande suivante: Sudo adduser novice mounter
.
Si vous ne souhaitez pas créer un autre groupe, vous pouvez simplement ajouter leur nom d'utilisateur (nom d'utilisateur) dans ce fichier.
Ouvrez le fichier de stratégie avec les privilèges d'administrateur. Vous pouvez taper cette commande dans un terminal ou dans l'invite du tableau de bord en appuyant sur Alt-F2.
gksu gedit /var/lib/polkit-1/localauthority/10-vendor.d/com.ubuntu.desktop.pkla
Ajoutez ensuite unix-user:<login-name>
à la ligne Identity
de la section [Mounting, checking, etc. of internal drives]
. N'oubliez pas d'utiliser le nom de connexion de l'utilisateur, pas le littéral. . Par exemple, si vous voulez donner à l'utilisateur tester
ce privilège, la ligne ressemblera à celle ci-dessous
[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
Enregistrez le fichier et quittez gedit.
Les deux méthodes ci-dessus ne fonctionneront pas pour l'utilisateur de devin par défaut sous Ubuntu. En effet, l’utilisateur invité est créé dynamiquement lors de la connexion et est supprimé après la déconnexion.
Pour contourner ce problème, vous pouvez accorder ce privilège à tous les utilisateurs.
Ouvrez le fichier de stratégie avec les privilèges d'administrateur. Vous pouvez taper cette commande dans un terminal ou dans l'invite du tableau de bord en appuyant sur Alt-F2.
gksu gedit /var/lib/polkit-1/localauthority/10-vendor.d/com.ubuntu.desktop.pkla
Ajoutez ensuite unix-user:*
à la ligne Identity
de la section [Mounting, checking, etc. of internal drives]
. Après modification, la section ressemblera à celle ci-dessous:
[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
Enregistrez le fichier et quittez gedit.