Chaque fois que j'essaie d'émettre, su
j'obtiens ceci:
$ su
Password:
su: Sorry
Inutile de dire que j'entre le mot de passe administrateur correct qui fonctionne avec sudo
. Ce que je veux, c'est de ne pas avoir à entrer à sudo
chaque fois.
sudo su
fonctionne toujours, il n'est donc pas vraiment désactivé. Il n'a tout simplement pas de mot de passe.sudo su
, quel est le point de désactivationsu
alors dans le monde ?su
", c'est d' empêcher la connexion root . En interdisant la connexion en tant queroot
, vous évitez un tas de problèmes de sécurité possibles. Ne pas permettre à quelqu'un qui peutsudo
àsu
est un peu ridicule. Fondamentalement, ilsu
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 avecsudo
, il n'y a rien à faire, donc il exécute simplement le shell. Vous pouvez obtenir un effet similaire en faisantsudo 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 utilisersudo su
, qui vous donne un shell en tant qu'utilisateur root réel de votre Mac.la source
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.la source
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
la source
Solution moderne:
sudo -u
Pour exécuter une autre utilisation, utilisez
sudo -u
.Par exemple, pour exécuter un éditeur de texte tel que 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 lesomeuser
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
.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.
Vieille école:
sudo su someuser
Une autre approche utilise la
su
commande en combinaison avec lesudo
. Lasu
commande signifie «changer d'utilisateur».Ou, pour inclure l'exécution des scripts de démarrage de l'utilisateur, ajoutez le trait d'union.
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 .la source