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?
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
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).