| Les deux révisions précédentesRévision précédenteProchaine révision | Révision précédente |
| sudoers [Le 27/11/2019, 11:49] – Correction orthographique "Confère" en "Confer". 176.141.243.180 | sudoers [Le 12/09/2023, 19:29] (Version actuelle) – ancienne révision (Le 31/08/2022, 23:58) restaurée Amiralgaby |
|---|
| ===== Modification du fichier /etc/sudoers ===== | ===== Modification du fichier /etc/sudoers ===== |
| |
| | ==== /etc/sudoers.d/ ==== |
| |
| ATTENTION ! | <note warning> |
| | Confer le fichier ///etc/sudoers.d/**README**// |
| |
| Confer le fichier ///etc/sudoers.d/**README**//. | La gestion de ''sudo'' est améliorée dans les dernières versions (Debian version 1.7.2). |
| | C'est à dire pour toutes les versions d'Ubuntu supportées. |
| | </note> |
| |
| La gestion de ''sudo'' est améliorée dans les dernières versions (Debian version 1.7.2). | Tous les fichiers du répertoire **/etc/sudoers.d/** ne finissant pas par ''~'' ou ne contenant pas un ''.'' sont lus et analysés lorsque l'on utilise la commande ''sudo''. |
| |
| Pour modifier le fonctionnement de la commande ''sudo'', l'administrateur du système ne modifie plus le fichier ///etc/**sudoers**// mais positionne des fichiers de personnalisation dans le répertoire ///etc/**sudoers.d**//. | Pour modifier le fonctionnement de la commande ''sudo'', l'administrateur du système ne modifie plus le fichier ///etc/**sudoers**// mais positionne des fichiers de personnalisation dans le répertoire ///etc/**sudoers.d**//. |
| |
| Premier avantage, vous pouvez définir autant de fichiers que de modifications (voir le §2). Le nom est libre et peut donc faire référence à l'élément personnalisé. Exemples : **10-sysctl** **20-userX** **30-apt**. | === avantages === |
| |
| Le deuxième avantage est que la création d'un de ces fichiers ne nécessite aucun droit d'administration. L'intervention de l'administrateur se limite à la copie du(des) fichier(s) sous ///etc/**sudoers.d**// et application du mask 0440. | vous pouvez définir autant de fichiers que de modifications (voir le §2). Le nom est libre et peut donc faire référence à l'élément personnalisé. Exemples : **monfichier** , **10-sysctl** , **20-userX** , **30-apt**. |
| |
| Le troisième avantage. Vous disposez d'un aperçu des modifications en listant simplement le contenu du répertoire ///etc/**sudoers.d**//. | - Vous disposez d'un aperçu des modifications en listant simplement le contenu du répertoire ///etc/**sudoers.d**//. |
| | - l'administrateur peut annuler à tout moment une autorisation particulière de la commande ''sudo'' en supprimant le fichier de personnalisation correspondant. |
| Le quatrième avantage est que l'administrateur peut annuler à tout moment une autorisation particulière de la commande ''sudo'' en supprimant le fichier de personnalisation correspondant. | - En supprimant tous les fichiers de personnalisation, vous êtes certain de revenir à la configuration par défaut de ''sudo'' qui sera restée d'origine. |
| | - Cette configuration peut se mettre à jour sans perdre vos modifications locales. |
| Le dernier avantage est qu'en supprimant tous les fichiers de personnalisation, vous êtes certain de revenir à la configuration par défaut de ''sudo''. | |
| |
| | pour ce faire |
| | <code bash> |
| | sudo visudo -f /etc/sudoers.d/monfichier |
| | </code> |
| | |
| |
| L'ancienne méthode reste utilisable. | ==== /etc/sudoers ==== |
| |
| | Si il est toujours préférable de privilégier d'écrire ses modifications locales dans [[#etcsudoersd|/etc/sudoers.d]] il est toujours possible de surcharger directement le fichier /etc/sudoers. |
| |
| La configuration de ''sudo'' est enregistrée dans le fichier de configuration ///etc/**sudoers**//. | La configuration de ''sudo'' est enregistrée dans le fichier de configuration ///etc/**sudoers**//. |
| ==== Exécuter des tâches d'administration sans mot de passe ==== | ==== Exécuter des tâches d'administration sans mot de passe ==== |
| À la fin du fichier, ajoutez une ligne d'instruction telle que la suivante : | À la fin du fichier, ajoutez une ligne d'instruction telle que la suivante : |
| <file>identifiant ALL = /chemin/complet/commande, NOPASSWD: /chemin/complet/autrecommande | <file>identifiant ALL = (ALL) /chemin/complet/commande, NOPASSWD: /chemin/complet/autrecommande |
| %groupe ALL = NOPASSWD: /chemin/complet/commande,/chemin/complet/autrecommande</file> | %groupe ALL = (ALL) NOPASSWD: /chemin/complet/commande,/chemin/complet/autrecommande</file> |
| Toutes les commandes situées à la droite du mot-clé ''NOPASSWD:'' peuvent être exécutées par l'utilisateur ou le groupe d'utilisateurs précisé en début d'instruction. Celles restées à sa gauche sont toujours soumises à l'authentification par mot de passe. | Toutes les commandes situées à la droite du mot-clé ''NOPASSWD:'' peuvent être exécutées par l'utilisateur ou le groupe d'utilisateurs précisé en début d'instruction. Celles restées à sa gauche sont toujours soumises à l'authentification par mot de passe. |
| |
| Après avoir créé le groupe codeclavier, pensez à utiliser un numéro spécial pour éviter les conflits avec les groupes utilisateurs, vous ajoutez cette ligne dans le fichier /etc/sudoers. | Après avoir créé le groupe codeclavier, pensez à utiliser un numéro spécial pour éviter les conflits avec les groupes utilisateurs, vous ajoutez cette ligne dans le fichier /etc/sudoers. |
| <code bash> | <code bash> |
| %codeclavier ALL = NOPASSWD: /bin/changecode | %codeclavier ALL = (ALL) NOPASSWD: /bin/changecode |
| </code> | </code> |
| et maintenant le petit script évidemment mis dans /bin/code.clavier.sh | et maintenant le petit script évidemment mis dans /bin/code.clavier.sh |
| setkeycodes 0x2b 86 | setkeycodes 0x2b 86 |
| </code> | </code> |
| Et miracle, il marche. Si vous ajoutez un lien dans /etc/profile.d/, il sera exécuté à votre connexion en tout transparence!!! | Et miracle, il marche. Si vous ajoutez un lien dans /etc/profile.d/, il sera exécuté à votre connexion en toute transparence!!! |
| </note> | </note> |
| |
| <file>pkexec visudo</file> | <file>pkexec visudo</file> |
| |
| <note>Ou bien d'utiliser [[http://www.psychocats.net/ubuntu/fixsudo|la solution suivante]]((source http://askubuntu.com/questions/73864/how-to-modify-a-invalid-etc-sudoers-file-it-throws-out-an-error-and-not-allowi)).</note> | <note>Ou bien d'utiliser [[https://www.psychocats.net/ubuntu/fixsudo|la solution suivante]]((source http://askubuntu.com/questions/73864/how-to-modify-a-invalid-etc-sudoers-file-it-throws-out-an-error-and-not-allowi)).</note> |
| | |
| ==== Redémarrer en mode recovery ==== | ==== Redémarrer en mode recovery ==== |
| nano /etc/sudoers | nano /etc/sudoers |
| | |
| Voir [[http://www.psychocats.net/ubuntu/fixsudo|ici]] pour d'autres possibilités. | Voir [[https://www.psychocats.net/ubuntu/fixsudo|ici]] pour d'autres possibilités. |
| |
| ===== Aller plus loin... ===== | ===== Aller plus loin... ===== |