web-dev-qa-db-fra.com

Configurez Sudo de sorte qu'un utilisateur commun puisse modifier / etc / fstab

Comment puis-je configurer Sudo de sorte qu'un utilisateur commun puisse éditer /etc/fstab? J'ai pensé à éditer le fichier /etc/sudoers.d pour le faire, mais comment pouvons-nous éditer /etc/fstab dans ce fichier?

1
user786034

Créez un script simple, appelé editfstab et situé dans /usr/local/bin (pour être accessible en tant que commande Shell), et rendez-le exécutable:

echo -e '#!/bin/sh\nnano /etc/fstab' | Sudo tee /usr/local/bin/editfstab && Sudo chmod +x /usr/local/bin/editfstab

Exécutez la commande Sudo visudo -f /etc/sudoers.d/editfstab et ajoutez la règle suivante au contenu du fichier nouvellement créé:

ALL ALL=NOPASSWD: /usr/local/bin/editfstab

À ce stade, chaque utilisateur du système pourra éditer /etc/fstab, sans mot de passe, à l'aide de la commande:

Sudo editfstab

Vous pouvez étendre les fonctionnalités de /usr/local/bin/editfstab en ajoutant une fonctionnalité permettant de créer une copie de sauvegarde avant la modification:

#!/bin/sh
cp /etc/fstab /etc/fstab.bak
nano /etc/fstab
1
pa4080

Ajouter une ligne dans sudoers.d avec votre logiciel de montage favori dans un alias cmd devrait faire l'affaire:

Cmnd_Alias EDITFSTAB = /etc/bin/vim /etc/fstab
username    ALL = (user) EDITFSTAB

Attention, il y a un risque énorme de privilège d'échappement, vous devriez peut-être écrire un script Shell basique pour restreindre/contrôler les modifications de fstab SANS utiliser éditeur (c'est-à-dire "pour cette modification, appuyez sur 1" et renvoyant directement dans fstab).

1
Simon Van Machin