Sous Linux, l'utilisateur root équivaut à l'utilisateur administrateur sous Windows. Cependant, alors que Windows a longtemps eu une culture d'utilisateurs moyens se connectant en tant qu'administrateur, vous ne devriez pas vous connecter en tant que root sur Linux.
Microsoft a essayé d'améliorer les pratiques de sécurité de Windows avec UAC - vous ne devriez pas vous connecter en tant que root sur Linux pour le même raison pour laquelle vous ne devriez pas désactiver l'UAC sous Windows .
Pourquoi Ubuntu utilise Sudo
Décourager les utilisateurs de s'exécuter en tant que root est l'une des raisons pour lesquelles Ubuntu utilise sudo au lieu de su . Par défaut, le mot de passe root est verrouillé sur Ubuntu, de sorte que les utilisateurs moyens ne peuvent pas se connecter en tant que root sans faire tout leur possible pour réactiver le compte root.
Sur d'autres distributions Linux, il était historiquement possible de se connecter en tant que root à partir de l'écran de connexion graphique et d'obtenir un bureau racine, bien que de nombreuses applications puissent se plaindre (et même refuser de s'exécuter en tant que root, comme le fait VLC). Les utilisateurs venant de Windows ont parfois décidé de se connecter en tant que root, tout comme ils utilisaient le compte Administrateur sous Windows XP.
Avec sudo, vous exécutez une commande spécifique (préfixée par sudo) qui obtient les privilèges root. Avec su, vous utiliserez la commande su pour obtenir un shell racine, dans lequel vous exécuteriez la commande que vous souhaitez utiliser avant (espérons-le) de quitter le shell racine. Sudo aide à appliquer les meilleures pratiques, en exécutant uniquement les commandes qui doivent être exécutées en tant que root (telles que les commandes d'installation de logiciels) sans vous laisser dans un shell racine où vous pouvez rester connecté ou exécuter d'autres applications en tant que root.
Limiter les dégâts
Lorsque vous vous connectez en tant que votre propre compte utilisateur, les programmes que vous exécutez ne peuvent pas écrire sur le reste du système - ils ne peuvent écrire que dans votre dossier de départ. Vous ne pouvez pas modifier les fichiers système sans obtenir les autorisations root. Cela permet de sécuriser votre ordinateur. Par exemple, si le navigateur Firefox avait une faille de sécurité et que vous l'exécutiez en tant que root, une page Web malveillante serait capable d'écrire dans tous les fichiers de votre système, de lire les fichiers dans les dossiers d'accueil des autres comptes d'utilisateur et de remplacer les commandes système par des ceux. En revanche, si vous êtes connecté en tant que compte d'utilisateur limité, la page Web malveillante ne pourra faire aucune de ces choses - elle ne pourra infliger des dommages qu'à votre dossier d'accueil. Bien que cela puisse toujours causer des problèmes, c'est bien mieux que d'avoir tout votre système compromis.
Cela permet également de vous protéger contre les applications malveillantes ou tout simplement boguées. Par exemple, si vous exécutez une application qui décide de supprimer tous les fichiers auxquels elle a accès (peut-être qu'elle contient un bogue désagréable), l'application effacera votre dossier personnel. C'est mauvais, mais si vous avez des sauvegardes (ce que vous devriez!), Il est assez facile de restaurer les fichiers dans votre dossier de départ. Cependant, si l'application avait un accès root, elle pourrait supprimer tous les fichiers de votre disque dur, ce qui nécessiterait une réinstallation complète.
Autorisations affinées
Alors que les anciennes distributions Linux exécutaient des programmes d'administration système entiers en tant que root, les bureaux Linux modernes utilisent PolicyKit pour un contrôle encore plus fin des autorisations qu'une application reçoit.
Par exemple, une application de gestion de logiciels peut uniquement être autorisée à installer des logiciels sur votre système via PolicyKit. L’interface du programme s’exécuterait avec les autorisations limitées du compte d’utilisateur, seule la partie du programme qui installait le logiciel recevrait des autorisations élevées - et cette partie du programme ne serait en mesure d’installer que le logiciel.
Le programme n’aurait pas un accès root complet à l’ensemble de votre système, ce qui pourrait vous protéger si une faille de sécurité est trouvée dans l’application. PolicyKit permet également aux comptes d'utilisateurs limités d'apporter des modifications à l'administration système sans obtenir un accès root complet, ce qui facilite l'exécution en tant que compte d'utilisateur limité avec moins de tracas.
Linux vous permettra de vous connecter à un bureau graphique en tant que root - tout comme il vous permettra de supprimer chaque fichier de votre disque dur pendant que votre système fonctionne ou d'écrire un bruit aléatoire directement sur votre disque dur, effaçant votre système de fichiers - mais ce n'est pas c'est pas une bonne idée. Même si vous savez ce que vous faites, le système n’est pas conçu pour être exécuté en tant que root - vous contournez une grande partie de l’architecture de sécurité qui rend Linux si sûr.