Je pense que vous êtes un peu confus au sujet de "Admin" vs root. Votre compte normal est probablement un compte admin (c’est-à-dire, il est membre du groupe admin, et est donc autorisé à effectuer des actions telles que modifier les paramètres système dans les Préférences Système). Je pense que ce que vous essayez de faire est de devenir root (alias superutilisateur). Sur macOS, le compte root n'a généralement pas de mot de passe (et ne devrait pas en avoir). Consultez ma réponse ici pour plus d'informations sur la distinction.
Étant donné cela, la réponse courte est que si vous êtes déjà connecté en tant qu'administrateur, vous devriez utiliser sudo -s
pour ouvrir une session interactive en tant que root (ou sudo somecommand
pour exécuter une seule commande en tant que root).
Si vous êtes connecté en tant qu'utilisateur standard (non admin), vous devez passer en mode root en deux étapes: d'abord, utilisez su someadmin
(où someadmin
est le nom d'un compte admin dont vous connaissez le mot de passe) pour passer en mode administrateur, puis utilisez sudo -s
comme indiqué ci-dessus pour devenir root à partir de là. Notez que les deux commandes demanderont un mot de passe, et dans les deux cas, il s'agit du mot de passe du compte admin que vous suivez.
Explication supplémentaire: sur macOS, les commandes su
et sudo
peuvent être utilisées pour passer d'un compte à un autre, mais elles présentent quelques différences significatives:
-
su
demande le mot de passe du compte vers lequel vous basculez. Comme root n'a généralement pas de mot de passe, cela signifie que su
ne peut pas être utilisé pour basculer vers root. D'autre part, sudo
demande le mot de passe du compte que vous quittez, puis vérifie un fichier de configuration (/etc/sudoers) pour voir si votre compte est autorisé à le faire (ce qui, par défaut, est défini sur "si vous êtes dans le groupe admin ou êtes root, vous pouvez faire ce que vous voulez").
Ces différences expliquent pourquoi, si vous êtes connecté en tant qu'utilisateur standard (non admin), vous devez utiliser les deux pour passer d'un utilisateur standard à un admin, puis à root.
-
su
se lance par défaut en tant que session shell interactive en tant que l'utilisateur vers lequel vous basculez, mais vous pouvez exécuter une seule commande avec son option -c
. sudo
fonctionne à l'inverse - il se lance par défaut en exécutant une seule commande, mais son option -s
lui dit d'ouvrir une session interactive.
P.s. il y a quelques questions connexes : "Quelle est la différence entre les commandes sudo
et su
?" et "sudo
vs su
(en tant qu'utilisateur non-root)".