À grand pouvoir, grandes responsabilités

Définition de root (racine)

Sous Linux, root désigne l’utilisateur ayant tous les droits administratifs sur le système. C’est le superutilisateur qui peut :

  • accéder à tous les fichiers et répertoires, même ceux des autres utilisateurs,
  • installer, modifier ou supprimer des logiciels et des services,
  • gérer les utilisateurs et les permissions,
  • effectuer des opérations critiques comme le formatage de disques ou la modification du noyau.

Le compte root est essentiel pour l’administration du système, mais il doit être utilisé avec prudence, car une erreur peut facilement endommager le système.

On accède aux privilèges root via :

  • une connexion directe au compte root (s’il est activé),
  • ou en utilisant la commande sudo avec un autre compte autorisé (ex : sudo apt update).

Résumé : root = l’utilisateur tout-puissant du système Linux.

Celui qui possède la racine de l’arbre possède l’arbre ! cd / retour à la racine de l’arborescence

root jadis avait un mot de passe !

C’est toujours possible que root possède un mot de passe , mais dans les distributions récentes on ne donne plus de mot de passe pour root! Mais avec sudo on va donner des droits (en particulier de devenir root) à un utilisateur de la machine.

Sur certaines distributions modernes (ex : Ubuntu), le compte root est désactivé par défaut, c’est-à-dire qu’il n’a pas de mot de passe défini. On utilise donc sudo avec son compte utilisateur normal pour faire les actions administratives. Dans ce cas, on ne “perd” pas le mot de passe root, il n’existe simplement pas.

on peut lui en remettre mais ça n’est pas une bonne idée , vous allez avoir des attaques!

sudo passwd root  #et la !! root aura un mot de passe ! mais ça n'est pas une bonne idée.

sudo est la solution !

sudo (abréviation de « superuser do ») est une commande sous Unix/Linux qui permet à un utilisateur autorisé d’exécuter une commande avec les droits d’un autre utilisateur, généralement root (l’administrateur système).

  • sudo donne temporairement des pouvoirs d’administrateur à un utilisateur normal.
  • Il n’est pas nécessaire de connaître le mot de passe de root, juste son propre mot de passe.
  • Toutes les actions faites avec sudo sont journalisées (on peut savoir qui a fait quoi et quand).
  • L’accès à sudo est contrôlé dans un fichier spécial : /etc/sudoers.

sudo et ses options

sudo avec la commande

réaliser une commande qui aura les droits de root

exemple:

sudo apt update 

cette commande demande au système de mettre a jour la liste des dépôts de votre distribution (Debian et ses dérivées)

sudo -s

permet de devenir root en restant la ou on est avec l’environnement de si l’option env_reset dufichier sudoers n’est pas mise !

l’intérêt est surtout de devenir root dans le répertoire ou vous étiez.

sudo -i

Devenir root , être projeté dans l’espace de root /root , on est bien totalement root !

etudiant@ordi:~$ sudo -i
root@ordi:~# pwd
/root

La commande visudo

permet d’éditer avec vi ou nano le fichier /etc/sudoers

avec sudo visudo

qu’il faut éditer avec cette commande pour éviter de faire des erreurs.

#
# This file MUST be edited with the 'visudo' command as root.
#
# Please consider adding local content in /etc/sudoers.d/ instead of
# directly modifying this file.
#
# See the man page for details on how to write a sudoers file.
#
Defaults	env_reset
Defaults	mail_badpass
Defaults	secure_path="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/snap/bin"
Defaults	use_pty
...
# User privilege specification
root	ALL=(ALL:ALL) ALL

# Members of the admin group may gain root privileges
%admin ALL=(ALL) ALL

# Allow members of group sudo to execute any command
%sudo	ALL=(ALL:ALL) ALL

# See sudoers(5) for more information on "@include" directives:

ici en rouge permet au utilisateurs faisant parti du groupe sudo , Tout membre du groupe sudo peut utiliser sudo pour exécuter n’importe quelle commande en tant que n’importe quel utilisateur et n’importe quel groupe, depuis n’importe quelle machine.