wiki:os:gnu_linux:tutos:admin:sudo

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentes Révision précédente
Prochaine révision
Révision précédente
wiki:os:gnu_linux:tutos:admin:sudo [2025/04/09 14:19] – [En passant par le groupe utilisateur sudo] Thibault Seguinwiki:os:gnu_linux:tutos:admin:sudo [2025/04/09 17:52] (Version actuelle) – [Quelques commandes sudo] Thibault Seguin
Ligne 1: Ligne 1:
 ====== La commande sudo comme alternative au compte root ====== ====== La commande sudo comme alternative au compte root ======
 +Logo de **sudo** : {{ :wiki:os:gnu_linux:tutos:admin:sudo_logo.png?nolink&120 |}}
 ===== Présentation de sudo ===== ===== Présentation de sudo =====
-La commande **sudo** (**substitute user do**) est une commande qui permet de lancer des commandes administratives sans nécessité d'accès au compte **root** (**superutilisateur** sous les système **Unix**) mais également des applications graphiques d'administration tel que **GParted**.+La commande **sudo** (**substitute user do**) est une commande qui permet de lancer des commandes administratives sans nécessité d'accès au compte **root** (**superutilisateur** sous les systèmes **Unix**) mais également des applications graphiques d'administrations tel que **GParted**. Il existe une commande similaire à //sudo// du nom de **doas** qui provient du **projet OpenBSD**.
  
 ===== Installation de sudo ===== ===== Installation de sudo =====
-Pour les distribution Linux n'ayant pas //sudo// par défaut, il faut d'abord vous connectez en tant que //root// :+Pour les distributions Linux n'ayant pas //sudo// par défaut, il faut d'abord vous connectez en tant que //root// :
 <code user>su -</code>puis entrez votre //mot de passe// root. <code user>su -</code>puis entrez votre //mot de passe// root.
  
Ligne 30: Ligne 31:
 <code root>visudo</code>ouvre le fichier ''/etc/sudoers'' avec votre éditeur de texte. <code root>visudo</code>ouvre le fichier ''/etc/sudoers'' avec votre éditeur de texte.
  
-Copier la ligne ''root ALL=(ALL:ALL) ALL'' et ajoutez au fichier ''tom ALL=(ALL:ALL) ALL'', //tom// est à remplacer par votre //nom d'utilisateur//. L'ajout de ''tom ALL=(ALL:ALL) ALL'' au fichier ''sudoers'' vous donne tous les //droits// du compte //root//. Vous pouvez évidemment peaufiner votre réglage et n'attribuer que quelques autorisations à votre //utilisateur//.+Copier la ligne ''root ALL=(ALL:ALL) ALL'' et ajoutez au fichier ''tom ALL=(ALL:ALL) ALL'', //tom// est à remplacer par votre //nom d'utilisateur//. L'ajout de ''tom ALL=(ALL:ALL) ALL'' au fichier ''sudoers'' vous donne tous les //droits// du compte //root// de manière immédiate. Vous pouvez évidemment peaufiner votre réglage et n'attribuer que quelques autorisations à votre //utilisateur//.
  
 ==== En passant par le groupe utilisateur sudo ==== ==== En passant par le groupe utilisateur sudo ====
Ligne 42: Ligne 43:
  
 <note>Par défaut l'ajout de votre utilisateur au groupe sudo vous donnes les mêmes droits que root.</note> <note>Par défaut l'ajout de votre utilisateur au groupe sudo vous donnes les mêmes droits que root.</note>
 +
 +<note tip>Sur les distributions Linux actuels, privilégiez la méthode d'ajout du groupe sudo à votre utilisateur. Mais pour n'importe quel système Unix, privilégiez l'édition du fichier ''sudoers'', qui fonctionne sur tout OS de type Unix.</note>
 +
 +===== Utilisation de la commande sudo =====
 +Pour avoir une information complète sur la commande //sudo// :
 +<code user>man sudo</code>
 +
 +Pour avoir un bref résumé de l'utilisation de la commande //sudo// :
 +<code user>sudo --help</code>qui affiche :
 +<file>sudo – exécute une commande en tant qu'un autre utilisateur
 +
 +usage: sudo -h | -K | -k | -V
 +usage: sudo -v [-ABkNnS] [-g group] [-h host] [-p prompt] [-u user]
 +usage: sudo -l [-ABkNnS] [-g group] [-h host] [-p prompt] [-U user] [-u user] [command [arg ...]]
 +usage: sudo [-ABbEHkNnPS] [-r role] [-t type] [-C num] [-D directory] [-g group] [-h host] [-p prompt] [-R directory] [-T timeout] [-u user]
 +            [VAR=value] [-i | -s] [command [arg ...]]
 +usage: sudo -e [-ABkNnS] [-r role] [-t type] [-C num] [-D directory] [-g group] [-h host] [-p prompt] [-R directory] [-T timeout] [-u user] file ...
 +
 +Options:
 +  -A, --askpass                 utiliser un programme adjoint pour demander le mot de passe
 +  -b, --background              exécuter la commande en arrière-plan
 +  -B, --bell                    émettre un signal sonore lors d'une demande
 +  -C, --close-from=num          fermer tous les descripteurs de fichiers >= n°
 +  -D, --chdir=directory         changer le répertoire de travail avant d'exécuter la commande
 +  -E, --preserve-env            préserver l'environnement de l'utilisateur en exécutant la commande
 +      --preserve-env=list       préserver les variables d'environnement spécifiques
 +  -e, --edit                    éditer les fichiers au lieu d'exécuter une commande
 +  -g, --group=group             exécuter la commande en tant que le nom ou ID de groupe spécifié
 +  -H, --set-home                assigner à la variable HOME le répertoire personnel de l'utilisateur cible
 +  -h, --help                    afficher le message d'aide et terminer
 +  -h, --host=host               exécuter la commande sur l'hôte (si supporté par le greffon)
 +  -i, --login                   exécuter le shell de login comme l'utilisateur cible. Une commande peut aussi être spécifiée
 +  -K, --remove-timestamp        supprime complètement le fichier d'horodatage
 +  -k, --reset-timestamp         invalide le fichier d'horodatage
 +  -l, --list                    afficher les privilèges de l'utilisateur ou vérifie une commande spécifique. Utilisez deux fois pour une forme
 +                                plus longue
 +  -n, --non-interactive         mode non interactif, aucune invite utilisée
 +  -P, --preserve-groups         préserve le vecteur des groupes au lieu de le changer en celui de la cible
 +  -p, --prompt=prompt           utiliser l'invite de mot de passe spécifié
 +  -R, --chroot=directory        changer le répertoire racine avant d'exécuter la commande
 +  -r, --role=role               créer le contexte de sécurité SELinux avec le rôle spécifié
 +  -S, --stdin                   lire le mot de passe depuis l'entrée standard
 +  -s, --shell                   exécuter le shell en tant que l'utilisateur cible. Une commande peut aussi être spécifiée
 +  -t, --type=type               créer le contexte de sécurité SELinux avec le type spécifié
 +  -T, --command-timeout=timeout terminer la commande après la limite de temps spécifiée
 +  -U, --other-user=user         en mode liste, afficher les privilèges de l'utilisateur
 +  -u, --user=user               exécuter la commande (ou éditer le fichier) sous le nom d'utilisateur ou le ID spécifié
 +  -V, --version                 afficher les informations de version et terminer
 +  -v, --validate                mettre à jour l'horodatage de l'utilisateur sans exécuter de commande
 +  --                            arrêter de traiter les arguments en ligne de commande</file>
 +
 +==== Quelques commandes sudo ====
 +Pour vous connecter en tant que //root// via votre //utilisateur// :
 +<code user>sudo su -</code>ou :
 +<code user>sudo -i</code>
 +
 +Exécuter une commande //administrative// avec les droits root sous sudo :
 +<code user>sudo cmd_admin</code>exemple :
 +<code user>sudo apt update</code>
 +
 +Exécuter une commande avec //sudo// en choisissant votre //utilisateur// :
 +<code user>sudo -u tom fdisk -l</code>exécute la commande ''fdisk -l'' via l'utilisateur //tom// avec des droits //root//
 +
 +Vous connectez en tant que //root// en spécifiant un //shell Unix// installé :
 +<code user>sudo -s tcsh</code>vous connectes en //root// avec le shell //tcsh//.
 +
 +Terminer une //session// sudo, pour devoir retaper le //mot de passe// de votre utilisateur après une nouvelle commande sudo :
 +<code user>sudo -k</code>
 +
 +<note>Il existe encore bon nombres d'//options// pour la commande //sudo//, je vous laisse plonger dans le **man** de la commande.</note>
 +
 +
 +
 +
 +
  
  
  
  
  • wiki/os/gnu_linux/tutos/admin/sudo.1744208398.txt.gz
  • Dernière modification : 2025/04/09 14:19
  • de Thibault Seguin