C'est une bonne question. Je pense que la réponse est légèrement différente selon que l'on parle d'un serveur ou d'une installation de bureau.
Sur un ordinateur de bureau, il est rare d'utiliser l'option root
compte. En fait, Ubuntu est livré avec l'accès root désactivé. Toutes les modifications nécessitant les privilèges du super-utilisateur sont effectuées par l'intermédiaire de sudo
et ses équivalents graphiques gksudo
y kdesudo
. Étant donné qu'il est facile de définir un root
mot de passe, cependant, pourquoi les gens ne le font-ils pas ?
L'une des raisons est que cela vous donne une couche supplémentaire de sécurité. Si vous exécutez un programme en tant que root
et qu'une faille de sécurité est exploitée, l'attaquant a accès à toutes les données et peut contrôler directement le matériel. Par exemple, il peut installer un cheval de Troie ou un enregistreur de frappe dans votre noyau. Dans la pratique, cependant, une attaque peut faire beaucoup de dégâts même sans les privilèges de superutilisateur. Après tout, toutes les données de l'utilisateur - y compris les documents et les mots de passe stockés - sont accessibles sans accès root.
Un point plus valable, sur un système mono-utilisateur, est que l'utilisateur est empêché de rendre accidentellement le système inutilisable. Si l'utilisateur lance involontairement une commande qui supprime tous les fichiers, il pourra toujours démarrer le système, même si les données sont perdues.
En outre, la plupart des applications orientées vers l'utilisateur (X11) sont aujourd'hui construites en partant du principe qu'elles sont exécutées avec un compte utilisateur normal et sans droits d'administrateur. Ainsi, certains programmes peuvent se comporter de manière incorrecte lorsqu'ils sont exécutés en tant que root
.
Sur un système multi-utilisateurs avec un accès non graphique Shell uniquement, beaucoup de ces raisons ne s'appliquent pas. Cependant, Ubuntu utilise encore raisonnablement par défaut une version inaccessible de root
compte. D'une part, il existe une réelle différence entre le fait d'accéder à un compte d'utilisateur (avec sudo
) à travers une faille de sécurité et d'obtenir un accès à root
comme dans le premier cas, la perturbation d'autres utilisateurs nécessitera l'exécution de sudo
et demandera toujours le mot de passe du compte comme mesure de sécurité supplémentaire. D'autre part, il est utile d'effectuer de nombreuses tâches administratives à partir d'un compte d'utilisateur et de n'invoquer que le mot de passe du compte. sudo
lorsque les privilèges du super-utilisateur sont absolument nécessaires. Ainsi, lors de l'installation d'un programme à partir des sources, il est conseillé de construire les sources - en exécutant configure
y make
- dans le répertoire de l'utilisateur et en utilisant uniquement sudo make install
dans la dernière étape. Encore une fois, cela rend plus difficile le fait de se tirer une balle dans le pied (et dans celui des autres utilisateurs du système multi-utilisateurs), et cela diminue la probabilité que les scripts de construction fassent des ravages dans le système. Ainsi, même sur un serveur, il est bon de s'en tenir à la méthode de construction d'Ubuntu. administration basée sur sudo .