Par défaut, Ubuntu ne configure pas de mot de passe root et vous n'avez donc pas la possibilité de 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 en utilisant sudo.
J'ai répondu à un question similaire avant.
Pendant que vous peut créez un mot de passe pour le compte root vous permettant de vous connecter en tant que root avec su
, ce n'est pas la façon typique "Ubuntu" de faire les choses. Au lieu de cela, Ubuntu s'attend à ce que vous utilisiez sudo
.
Utiliser sudo
Sudo est une alternative à donner aux gens un mot de passe root afin d'effectuer des tâches de superutilisateur. Dans une installation Ubuntu par défaut, la personne qui a installé le système d'exploitation reçoit l'autorisation "sudo" par défaut.
Toute personne disposant de l'autorisation "sudo" peut effectuer quelque chose "en tant que superutilisateur" en pré-attendant sudo
à leur commandement. 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 votre propre mot de passe de compte lors de cette opération. Cela aide à la sécurité. Ceci est mémorisé pendant quelques minutes, donc si vous avez quelques tâches à faire avec sudo, il ne vous demandera votre mot de passe que lors de la première.
Vous verrez l'utilisation ci-dessus de sudo à peu près partout où vous lirez un tutoriel sur Ubuntu sur le Web. C'est une alternative à cela.
suapt-get dist-upgradeexit
Avantage
Avec sudo, vous choisissez à l'avance quels utilisateurs ont 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 l'accès d'un superutilisateur simplement en supprimant son autorisation sudo, sans avoir besoin de changer le mot de passe root et d'informer tout le monde d'un nouveau mot de passe. Vous pouvez même choisir quelles commandes un utilisateur est autorisé à exécuter en utilisant sudo et quelles commandes sont interdites pour cet utilisateur. Et enfin, s'il y a une faille de sécurité, cela peut dans certains cas laisser une meilleure piste d'audit indiquant quel compte d'utilisateur a été compromis.
Ne pas avoir de mot de passe root rend les attaques par force brute sur le compte root impossibles: cela est pertinent si vous autorisez la connexion via SSH. Au lieu de cela, un attaquant aurait besoin de connaître un nom de compte local.
Sudo facilite l'exécution d'une seule commande avec des privilèges de superutilisateur. Avec su
, vous passez en permanence à un shell superutilisateur qui doit être quitté en utilisant exit
ou logout
. Cela peut amener les gens à rester dans le shell du superutilisateur plus longtemps que nécessaire simplement parce que c'est plus pratique que de se déconnecter et de se reconnecter 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 des privilèges de superutilisateur au su
commande.
Et de même, au lieu de su -
pour un shell de connexion, vous pouvez utiliser sudo su -
ou même sudo -i
.
Cependant, lorsque vous le faites, il vous suffit de 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 peut, si vous le souhaitez, donnez à l'utilisateur root un mot de passe lui permettant de se connecter en tant que root, si vous souhaitez spécifiquement faire les choses de cette façon à la place. Je voulais juste vous informer de la convention Ubuntu de préférer sudo
au lieu de cela et faites-vous savoir qu'il existe une alternative.