Skip to main content

1.4 - Utilisateur, root, su et sudo

Linux sépare les tâches courantes des opérations d'administration. Un utilisateur normal limite l'impact d'une erreur ; root possède presque tous les droits sur le système.

Identifier l'utilisateur et ses groupes

whoami
id
groups

Afficher les sessions ouvertes :

who
w

Exécuter une commande avec sudo

sudo systemctl restart ssh
sudo apt update

sudo exécute uniquement la commande qui suit avec des privilèges élevés. Le mot de passe demandé est normalement celui de l'utilisateur courant.

Tester ses autorisations :

sudo -v        # valider ou renouveler l'authentification
sudo -l        # lister les commandes autorisées
sudo -k        # oublier immédiatement l'authentification en cache

Ouvrir un shell d'administration seulement lorsque cela est nécessaire :

sudo -i
exit

Différence entre su et sudo

su - utilisateur
su -
  • su - utilisateur ouvre une session de connexion pour cet utilisateur.
  • su - tente d'ouvrir une session root et demande généralement le mot de passe de root.
  • sudo -i utilise les règles sudo et conserve une trace des commandes lancées.

Sur certaines distributions, le compte root n'a volontairement pas de mot de passe utilisable ; l'administration passe alors par sudo.

Redirections et privilèges

Cette commande peut échouer, car la redirection > est réalisée par le shell normal avant sudo :

sudo echo "127.0.0.1 exemple.local" > /etc/hosts

Utiliser tee :

echo "127.0.0.1 exemple.local" | sudo tee -a /etc/hosts

Pour modifier un fichier système de manière contrôlée :

sudoedit /etc/hosts

sudoedit copie temporairement le fichier, ouvre l'éditeur avec l'identité normale, puis remet le résultat en place avec les droits requis.

Règles de prudence

  • Rester utilisateur normal pour les tâches habituelles.
  • Vérifier les chemins avant toute commande précédée de sudo.
  • Ne jamais lancer un script inconnu avec curl ... | sudo sh.
  • Ne pas modifier /etc/sudoers directement ; utiliser sudo visudo.
  • Quitter un shell root dès la tâche terminée.
  • Préférer une commande précise à une session administrateur prolongée.