Réponses:
Dans MacOS X, l'utilisateur root est désactivé par défaut, donc su
ne fonctionnera pas. Comme d'autres l'ont dit, il vaut mieux l'utiliser sudo
.
Si vous devez activer l'utilisateur root, voir la TechNote d'Apple: Activation et utilisation de l'utilisateur « root » sous Mac OS X .
sudo su
, quel est le point de désactivation su
alors dans le monde ?
su
", c'est d' empêcher la connexion root . En interdisant la connexion en tant que root
, vous évitez un tas de problèmes de sécurité possibles. Ne pas permettre à quelqu'un qui peut sudo
à su
est un peu ridicule. Fondamentalement, il su
suffit de modifier l'ID utilisateur actuel et d'exécuter une commande (un shell, s'il n'est pas spécifié). Si l'ID utilisateur est déjà 0 (root), comme lors de l'exécution avec sudo
, il n'y a rien à faire, donc il exécute simplement le shell. Vous pouvez obtenir un effet similaire en faisant sudo bash
.
Vous avez deux options. La première consiste à utiliser sudo -s
- cela vous donnera un accès superutilisateur, mais vous resterez toujours «vous-même» (pour ainsi dire), donc des choses comme ~
seront toujours votre répertoire personnel. Alternativement, vous pouvez utiliser sudo su
, qui vous donne un shell en tant qu'utilisateur root réel de votre Mac.
sudo
pour exécuter des commandes qui nécessitent des privilèges élevés, pas pour basculer vers un shell racine et travailler à partir de cela.
sudo
poussent la philosophie à l'extrême. Mais peu importe: la sémantique. N'utilisez pas de shell root sous OS X.
Par exemple, si vous avez besoin de déplacer des fichiers ou d'utiliser git à l'aide de la CLI, dans ce cas, la meilleure solution sera d'utiliser la sudo -s
commande. Après cette commande, vous n'avez plus besoin de saisir le mot de passe encore et encore.
Je pense que vous ne pouvez pas faire cela en tant qu'utilisateur "normal" ...
S'il existe un autre compte utilisateur avec des droits d'administrateur, vous devez utiliser celui-ci
restricted user$ su
Password:(the root password here)
Sorry!
restricted user$ su - (an admin account here)
password:(the admin account password)
$ su - root
Password:(The root password here)
# -> You are root user now
sudo -u
Pour exécuter une autre utilisation, utilisez sudo -u
.
Par exemple, pour exécuter un éditeur de texte tel que nano :
sudo -u someuser nano
… Et entrez votre mot de passe utilisateur administrateur Mac lorsque vous y êtes invité. À ce stade, c'est votre administrateur Mac qui invoque sudo
, pas l' someuser
utilisateur, donc vous n'entrez pas le someuser
mot de passe.
sudo
signifie exécuter quelque chose en utilisant les privilèges de superutilisateur.-u
signifie «exécuter une commande spécifiée en tant que cet utilisateur spécifié».someuser
doit être remplacé par le nom d'utilisateur souhaité.Pour simuler une connexion initiale en tant qu’utilisateur particulier, y compris l’exécution de leurs scripts de démarrage, utilisez -I
.
sudo -u someuser -i nano
Cela exécute l' nano
application en tant qu'utilisateur, someuser
mais uniquement après avoir exécuté les scripts de démarrage pour cet utilisateur.
Si nous choisissons de ne pas spécifier de commande ou d'application à exécuter, nous obtenons un shell interactif fonctionnant en tant qu'utilisateur.
sudo -u someuser -i
sudo su someuser
Une autre approche utilise la su
commande en combinaison avec le sudo
. La su
commande signifie «changer d'utilisateur».
sudo su someuser
Ou, pour inclure l'exécution des scripts de démarrage de l'utilisateur, ajoutez le trait d'union.
sudo su - someuser
root
utilisateurL' root
utilisateur des systèmes d'exploitation Unix a le pouvoir absolu de faire n'importe quoi.
Apple a choisi de désactiver le root
compte sous macOS, pour éviter les failles de sécurité et pour vous protéger de vous tirer une balle dans le pied. Apple a créé l'idée des comptes d'utilisateurs Administrateur qui ont de nombreux pouvoirs, plus de pouvoirs qu'un compte d'utilisateur Standard , mais pas un pouvoir absolu comme l' root
a fait. Consultez cette note d'assistance Apple pour en discuter.
Si nécessaire, vous pouvez activer l' root
utilisateur dans macOS, puis basculer vers cet utilisateur. Ceci est fortement déconseillé. Je n'irais dans cette voie qu'en dernier recours.
Pour une discussion à ce sujet dans le contexte de l' postgres
utilisateur exécutant le système de base de données Postgres sur macOS, consultez cette question sur le site partenaire , DBA Stack Exchange .
sudo su
fonctionne toujours, il n'est donc pas vraiment désactivé. Il n'a tout simplement pas de mot de passe.