Différences
Ci-dessous, les différences entre deux révisions de la page.
Les deux révisions précédentes Révision précédente Prochaine révision | Révision précédente | ||
sudoers [Le 25/06/2018, 00:28] 77.111.245.11 [Modification du fichier /etc/sudoers] |
sudoers [Le 12/09/2023, 19:29] (Version actuelle) Amiralgaby ancienne révision (Le 31/08/2022, 23:58) restaurée |
||
---|---|---|---|
Ligne 9: | Ligne 9: | ||
===== Modification du fichier /etc/sudoers ===== | ===== Modification du fichier /etc/sudoers ===== | ||
- | La configuration de ''sudo'' est enregistrée dans le fichier de configuration ///etc/**sudoers**//. | ||
- | ATTENTION ! | + | ==== /etc/sudoers.d/ ==== |
- | Cette documentation devrait être corrigée. | + | |
- | Confère le fichier /etc/sudoers.d/README, pour une meilleur méthodologie, il est préférable de ne pas modifier le fichier /etc/sudoers et de privilégier la création de fichiers de personnalisation dans le répertoire /etc/sudoers.d/. | + | <note warning> |
+ | 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> | ||
+ | |||
+ | 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**//. | ||
+ | |||
+ | === avantages === | ||
+ | |||
+ | 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**. | ||
+ | |||
+ | - 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. | ||
+ | - 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. | ||
+ | |||
+ | pour ce faire | ||
+ | <code bash> | ||
+ | sudo visudo -f /etc/sudoers.d/monfichier | ||
+ | </code> | ||
+ | |||
+ | |||
+ | ==== /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**//. | ||
Ligne 28: | Ligne 57: | ||
=== configurer l'éditeur par défaut === | === configurer l'éditeur par défaut === | ||
pour changer l'éditeur en ligne de commande, par défaut, il suffit de lancer : | pour changer l'éditeur en ligne de commande, par défaut, il suffit de lancer : | ||
- | sudo update-alternatives --config editor | + | sudo update-alternatives --config editor |
et de sélectionner l'éditeur de votre choix, dans la liste des [[:editeur_de_texte#editeurs_en_ligne_de_commande|éditeurs de texte]] déjà installés. | et de sélectionner l'éditeur de votre choix, dans la liste des [[:editeur_de_texte#editeurs_en_ligne_de_commande|éditeurs de texte]] déjà installés. | ||
Ligne 44: | Ligne 73: | ||
* ''%groupe'' désigne un groupe d'utilisateurs du système Ubuntu. Le nom du groupe doit donc être précédé d'un symbole de pourcentage (''%''). Un seul groupe doit être précisé par ligne ; | * ''%groupe'' désigne un groupe d'utilisateurs du système Ubuntu. Le nom du groupe doit donc être précédé d'un symbole de pourcentage (''%''). Un seul groupe doit être précisé par ligne ; | ||
* ''ALL'' désigne la ou les machines dans lesquelles les commandes suivantes sont autorisées ou refusées pour cet utilisateur ou ce groupe d'utilisateurs. Le mot-clé ''ALL'' désigne l'ensemble des machines de votre parc informatique. Dans le cadre d'une utilisation à domicile, laisser ''ALL'' n'est pas un inconvénient. Dans un grand parc d'entreprise, de meilleures stratégies sont à prévoir ; | * ''ALL'' désigne la ou les machines dans lesquelles les commandes suivantes sont autorisées ou refusées pour cet utilisateur ou ce groupe d'utilisateurs. Le mot-clé ''ALL'' désigne l'ensemble des machines de votre parc informatique. Dans le cadre d'une utilisation à domicile, laisser ''ALL'' n'est pas un inconvénient. Dans un grand parc d'entreprise, de meilleures stratégies sont à prévoir ; | ||
- | * //user// (entre parenthèses) désigne l'utilisateur dont on prend les droits (peut valoir ALL pour tous) | + | * ''user'' (entre parenthèses) désigne l'utilisateur dont on prend les droits (peut valoir ALL pour tous) |
* ''commande'' et ''autrecommande'' représentent des commandes pouvant être exécutées par l'utilisateur ou le groupe d'utilisateurs désigné en début de ligne. | * ''commande'' et ''autrecommande'' représentent des commandes pouvant être exécutées par l'utilisateur ou le groupe d'utilisateurs désigné en début de ligne. | ||
* Les commandes précédées d'un point d'exclamation (''!'') sont refusées, alors que celles sans point d'exclamation sont autorisées ; | * Les commandes précédées d'un point d'exclamation (''!'') sont refusées, alors que celles sans point d'exclamation sont autorisées ; | ||
Ligne 51: | Ligne 80: | ||
==== 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. | ||
Ligne 66: | Ligne 95: | ||
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 | ||
Ligne 77: | Ligne 106: | ||
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> | ||
Ligne 136: | Ligne 165: | ||
<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 ==== | ||
Ligne 153: | Ligne 182: | ||
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... ===== |