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.