Par défaut, Ubuntu ne configure pas de mot de passe root et vous ne pouvez donc pas vous connecter en tant que root. Au lieu de cela, vous avez la possibilité d'effectuer des tâches avec des privilèges de superutilisateur à l'aide de sudo.
J'ai répondu à question similaire avant.
Alors que vous pouvez créer un mot de passe pour le compte root vous permettant de vous connecter en tant que root avec su
, ce n'est pas la manière habituelle de faire "Ubuntu". Au lieu de cela, Ubuntu s'attend à utiliser sudo
.
Utiliser sudo
Sudo est une alternative à donner aux utilisateurs un mot de passe root pour effectuer des tâches de super-utilisateur. Dans une installation par défaut d'Ubuntu, la personne qui a installé le système d'exploitation reçoit l'autorisation "sudo" par défaut.
Toute personne ayant l'autorisation "sudo" peut effectuer quelque chose "en tant que superutilisateur" en pré-mettant en attente sudo
sur sa commande. Par exemple, pour exécuter apt-get dist-upgrade
en tant que superutilisateur, vous pouvez utiliser:
sudo apt-get dist-upgrade
Par défaut, sudo vous demandera le mot de passe de votre compte lors de l'exécution de cette opération. Cela aide la sécurité. On se souvient de cela pendant quelques minutes, donc si vous avez quelques tâches à faire avec sudo, cela ne vous demandera que votre mot de passe sur le premier.
Vous verrez l'utilisation de sudo ci-dessus à peu près partout où vous lisez un didacticiel sur Ubuntu sur le Web. C'est une alternative à cela.
su
apt-get dist-upgrade
exit
Avantages
Avec sudo, vous choisissez à l’avance quels utilisateurs ont un accès sudo. Il n'est pas nécessaire qu'ils se souviennent d'un mot de passe root, car ils utilisent leur propre mot de passe. Si vous avez plusieurs utilisateurs, vous pouvez révoquer son accès en supprimant simplement leur autorisation sudo, sans avoir à changer le mot de passe root et à informer tout le monde d'un nouveau mot de passe. Vous pouvez même choisir les commandes qu'un utilisateur est autorisé à exécuter en utilisant sudo et quelles commandes sont interdites pour cet utilisateur. Enfin, s’il ya une faille de sécurité, elle peut dans certains cas laisser une meilleure piste d’audit indiquant quel compte utilisateur a été compromis.
L'absence de mot de passe root rend impossible les attaques par force brute sur le compte root: cela est pertinent si vous autorisez la connexion via SSH. Au lieu de cela, un attaquant devrait connaître un nom de compte local.
Sudo facilite l'exécution d'une seule commande avec les privilèges de superutilisateur. Avec su
, vous passez définitivement à un shell superutilisateur qui doit être quitté en utilisant exit
ou logout
. Cela peut amener les utilisateurs à rester dans le shell du superutilisateur plus longtemps que nécessaire, simplement parce que cela est plus pratique que de se déconnecter et de revenir plus tard.
Obtenir un shell racine
Avec sudo, vous avez toujours la possibilité d’ouvrir un shell superutilisateur permanent (interactif) avec la commande:
sudo su
... et cela peut toujours être fait sans mot de passe root, car sudo
donne les privilèges du superutilisateur à la commande su
.
De même, au lieu de su -
pour un shell de connexion, vous pouvez utiliser sudo su -
ou même sudo -i
.
Cependant, vous devez simplement savoir que vous agissez en tant que superutilisateur pour chaque commande. C'est un bon principe de sécurité de ne pas rester en tant que superutilisateur plus longtemps que nécessaire, juste pour réduire la possibilité de causer accidentellement des dommages au système (sans cela, vous ne pouvez endommager que les fichiers que votre utilisateur possède).
Juste pour clarifier, vous pouvez , si vous le souhaitez, donner à l’utilisateur root un mot de passe autorisant les connexions en tant que root, si vous souhaitez faire les choses de cette façon à la place. Je voulais juste vous informer de la convention Ubuntu de préférer sudo
à la place et vous faire savoir qu'il existe une alternative.