Il n'est pas nécessaire d'activer l'utilisateur root sur un Mac. Et vous ne devriez pas le faire si vous tenez à votre sécurité. C'est une bien meilleure idée d'utiliser sudo, principalement en raison du principe largement accepté du moindre privilège, mais aussi pour d'autres bonnes raisons.
Least Privilege
C'est toujours une bonne idée de fonctionner avec le moins de privilèges escaladés possible, car (a) cela réduit les chances d'accidents d'escalade de privilèges, et (b) cela réduit l'impact des accidents d'escalade de privilèges qui se produisent. Si vous avez besoin d'entendre cela d'une source plus crédible qu'un mec sur Internet, voici't ce qu'Apple eux-mêmes ont à dire à ce sujet (de la page 61 du Guide de configuration de la sécurité de Mac OS X):
À moins que vous n'ayez besoin d'un accès administrateur pour des tâches spécifiques de maintenance du système qui ne peuvent pas être accomplies en vous authentifiant avec le compte de l'administrateur's tout en étant connecté en tant qu'utilisateur normal, connectez-vous toujours en tant qu'utilisateur non-administrateur. Déconnectez-vous du compte administrateur lorsque vous n'utilisez pas l'ordinateur en tant qu'administrateur. Ne naviguez jamais sur le Web ou ne vérifiez jamais votre courrier électronique lorsque vous êtes connecté au compte d'un administrateur's.
Si vous êtes connecté en tant qu'administrateur, vous bénéficiez de privilèges et de capacités dont vous n'avez peut-être pas besoin. Par exemple, vous pouvez potentiellement modifier les préférences du système sans être obligé de vous authentifier. Cette authentification contourne une mesure de sécurité qui empêche la modification malveillante ou accidentelle des préférences du système.
Lorsque vous êtes connecté en tant qu'administrateur (ou root), tout ce que vous faites et chaque programme que vous exécutez (directement ou indirectement, volontairement ou par inadvertance) - y compris chacun des différents processus nécessaires au fonctionnement de l'interface utilisateur du système - est exécuté avec les privilèges de l'administrateur (ou root), ce qui signifie que chacun de ces processus dispose automatiquement d'un accès sans entrave à davantage de parties du système que les comptes utilisateurs standard. Cela signifie que si vous faites une erreur en modifiant, déplaçant ou supprimant des fichiers système, ou en exécutant des programmes, ou pire, si vous exécutez sans le savoir un trojan / ver ou qu'il existe une faille de sécurité dans l'un de ces processus, vous pouvez endommager et modifier des fichiers système critiques avec peu ou pas de protection ou de reconnaissance de la part du système.
Bien que vous puissiez certainement utiliser un compte administratif quotidiennement sans effets néfastes, voire pendant des mois ou des années sans incident, c'est la seule fois où cela compte que vous pouvez vouloir vous en préoccuper. Par exemple, je ne peux pas vous dire combien de fois j'ai vu des utilisateurs de Mac demander de l'aide parce qu'ils avaient accidentellement supprimé un fichier sur leur système qu'ils n'auraient peut-être pas supprimé aussi facilement s'ils n'avaient pas utilisé l'escalade de privilèges à ce moment-là.
Alors que la majorité des fichiers de votre dossier personnel vous appartiennent, beaucoup de fichiers et de dossiers dans Mac OS X appartiennent au groupe "admin", dont chaque compte administratif est membre. Lorsque vous êtes connecté en tant qu'utilisateur normal, Mac OS X ne vous permet pas de modifier ces parties du système sans avoir préalablement saisi le nom d'utilisateur et le mot de passe d'un compte administratif. Il s'agit d'une couche de sécurité supplémentaire dont vous ne disposerez pas si vous vous exécutez en tant qu'administrateur. En revanche, lorsque vous êtes connecté en tant qu'administrateur, Mac OS X vous permet de modifier, déplacer et supprimer ces fichiers et dossiers sans poser de questions. Et lorsque vous êtes connecté en tant que root, on vous donne encore plus de pouvoir puisque le système vous permet de modifier *tous* les fichiers sur l'ensemble du système sans question ni demande.
Je pense que la raison pour laquelle Apple ne donne pas ce conseil à tous les utilisateurs de Mac est probablement parce que la longue explication nécessaire pour transmettre les raisons de ce conseil et la façon de le faire ne serait probablement pas très bien reçue. La plupart des utilisateurs n'en savent pas assez sur les questions de sécurité pour comprendre, et franchement, la plupart ne veulent tout simplement pas être dérangés. Apple pourrait probablement automatiser la création d'un compte administratif initial et d'un compte non-administratif, mais si les utilisateurs ne sont pas correctement éduqués sur les problèmes impliqués, il n'y a aucune garantie qu'ils les utilisent correctement. C'est plus impliqué que de proposer une seule ligne de conseil dans un guide de l'utilisateur. ; )
Il existe d'autres bonnes raisons d'utiliser sudo plutôt que de se connecter en tant que root :
Sécurité des utilisateurs multiples
Puisque l'authentification sudo utilise le mot de passe de l'utilisateur plutôt que le mot de passe root, plusieurs utilisateurs peuvent utiliser sudo sans partager le mot de passe root.
La réflexion
Chaque commande sudo nécessite une authentification, ce qui vous amène à vous arrêter et à réfléchir à ce que vous faites. En revanche, lorsque vous êtes connecté en tant que root, les commandes ne nécessitent aucune authentification, ce qui signifie qu'il'est plus facile de commettre des erreurs.
Ticketing
Lorsque vous invoquez sudo pour la première fois et que vous vous authentifiez avec vos informations d'identification, on vous accorde un ticket qui expire après un certain nombre de minutes (généralement 5 minutes par défaut). Les commandes suivantes mettent à jour le timer pour 5 minutes supplémentaires. Si aucune commande n'a été émise après l'expiration de ce délai de 5 minutes, les commandes suivantes nécessitent une nouvelle authentification. Cela signifie que si vous vous éloignez de votre ordinateur en oubliant que vous avez une session sudo ouverte dans une fenêtre de terminal, quelqu'un d'autre ne pourra pas utiliser votre authentification pour faire des choses avec sudo. Aucune protection de ce type n'est en place lorsque vous êtes connecté au compte root.
Logging
Chaque commande que vous saisissez lorsque vous utilisez sudo est enregistrée dans le journal du système, ce qui permet à l'administrateur (vous) de voir qui a émis quelles commandes sur votre système. C'est préférable du point de vue de la sécurité, mais c'est aussi extrêmement utile pour le dépannage. En revanche, les commandes saisies lors de la connexion en tant que root ne sont pas enregistrées dans le journal du système.
Les scripts automatisés utilisés par de nombreux logiciels malveillants supposent qu'il existe un compte root activé et tentent d'utiliser la force brute pour deviner le mot de passe de ce compte afin d'obtenir un accès root à n'importe quelle machine sur Internet. Le fait d'avoir le compte racine de Mac OS X désactivé (comme c'est le cas dans toute installation par défaut) empêche entièrement cela, car cela supprime effectivement ce vecteur d'attaque.
Je'suis sûr qu'il y a d'autres raisons qui ne me sont pas venues à l'esprit pour le moment ; mais il suffit de dire que pour toutes les raisons ci-dessus, il n'y a tout simplement pas'de bonne raison d'activer le compte racine dans Mac OS X quand sudo fonctionne bien et est très peu compliqué à utiliser.