4 votes

Le mot de passe administrateur ne fonctionne pas pour sudo ?

J'ai essayé d'exécuter cette commande dans le terminal :

$  sudo rm -ri ~/.Trash

Cependant, après avoir été invité à saisir mon mot de passe (qui, je crois, doit être le mot de passe de l'administrateur) et après l'avoir saisi, il est simplement indiqué : "Sorry, try again".

Je suis connecté au seul compte utilisateur de ce Mac, qui a des privilèges d'administrateur. J'ai essayé de réparer les permissions du disque ainsi que de réinstaller le système d'exploitation (Mojave), mais sans succès.

Je ne sais plus quoi faire ! Quelqu'un peut-il m'aider ?

UDPATE #1

Quand je cours $ sudo -l Je comprends :

Matching Defaults entries for diogopires on MacBook-Pro-DI:
    env_reset, env_keep+=BLOCKSIZE, env_keep+="COLORFGBG COLORTERM",
    env_keep+=__CF_USER_TEXT_ENCODING, env_keep+="CHARSET LANG LANGUAGE LC_ALL
    LC_COLLATE LC_CTYPE", env_keep+="LC_MESSAGES LC_MONETARY LC_NUMERIC
    LC_TIME", env_keep+="LINES COLUMNS", env_keep+=LSCOLORS,
    env_keep+=SSH_AUTH_SOCK, env_keep+=TZ, env_keep+="DISPLAY XAUTHORIZATION
    XAUTHORITY", env_keep+="EDITOR VISUAL", env_keep+="HOME MAIL",
    lecture_file=/etc/sudo_lecture, targetpw

User diogopires may run the following commands on MacBook-Pro-DI:
    (ALL) ALL
    (ALL) ALL

Et si j'essaie d'exécuter visudo o sudo -u diogopires visudo j'obtiens :

visudo: /etc/sudoers.tmp: Permission denied

UDPATE #2

De plus, pour vérifier l'appartenance à un groupe, j'ai obtenu :

$ id -a | grep -o '[0-9]\+(admin)'
80(admin)

UDPATE #3

Lors de l'exécution set -x J'ai couru et je l'ai eu :

$ sudo -l
+ sudo -l
Password:
Matching Defaults entries for diogopires on MacBook-Pro-DI:
    env_reset, env_keep+=BLOCKSIZE, env_keep+="COLORFGBG COLORTERM",
    env_keep+=__CF_USER_TEXT_ENCODING, env_keep+="CHARSET LANG LANGUAGE LC_ALL
    LC_COLLATE LC_CTYPE", env_keep+="LC_MESSAGES LC_MONETARY LC_NUMERIC
    LC_TIME", env_keep+="LINES COLUMNS", env_keep+=LSCOLORS,
    env_keep+=SSH_AUTH_SOCK, env_keep+=TZ, env_keep+="DISPLAY XAUTHORIZATION
    XAUTHORITY", env_keep+="EDITOR VISUAL", env_keep+="HOME MAIL",
    lecture_file=/etc/sudo_lecture, targetpw

User diogopires may run the following commands on MacBook-Pro-DI:
    (ALL) ALL
    (ALL) ALL
++ update_terminal_cwd
++ local url_path=
++ local i ch hexch LC_CTYPE=C LC_ALL=
++ (( i = 0 ))
++ (( i < 17 ))
++ ch=/
++ [[ / =~ [/._~A-Za-z0-9-] ]]
++ url_path+=/
++ (( ++i ))
++ (( i < 17 ))
++ ch=U
++ [[ U =~ [/._~A-Za-z0-9-] ]]
++ url_path+=U
++ (( ++i ))
++ (( i < 17 ))
++ ch=s
++ [[ s =~ [/._~A-Za-z0-9-] ]]
++ url_path+=s
++ (( ++i ))
++ (( i < 17 ))
++ ch=e
++ [[ e =~ [/._~A-Za-z0-9-] ]]
++ url_path+=e
++ (( ++i ))
++ (( i < 17 ))
++ ch=r
++ [[ r =~ [/._~A-Za-z0-9-] ]]
++ url_path+=r
++ (( ++i ))
++ (( i < 17 ))
++ ch=s
++ [[ s =~ [/._~A-Za-z0-9-] ]]
++ url_path+=s
++ (( ++i ))
++ (( i < 17 ))
++ ch=/
++ [[ / =~ [/._~A-Za-z0-9-] ]]
++ url_path+=/
++ (( ++i ))
++ (( i < 17 ))
++ ch=d
++ [[ d =~ [/._~A-Za-z0-9-] ]]
++ url_path+=d
++ (( ++i ))
++ (( i < 17 ))
++ ch=i
++ [[ i =~ [/._~A-Za-z0-9-] ]]
++ url_path+=i
++ (( ++i ))
++ (( i < 17 ))
++ ch=o
++ [[ o =~ [/._~A-Za-z0-9-] ]]
++ url_path+=o
++ (( ++i ))
++ (( i < 17 ))
++ ch=g
++ [[ g =~ [/._~A-Za-z0-9-] ]]
++ url_path+=g
++ (( ++i ))
++ (( i < 17 ))
++ ch=o
++ [[ o =~ [/._~A-Za-z0-9-] ]]
++ url_path+=o
++ (( ++i ))
++ (( i < 17 ))
++ ch=p
++ [[ p =~ [/._~A-Za-z0-9-] ]]
++ url_path+=p
++ (( ++i ))
++ (( i < 17 ))
++ ch=i
++ [[ i =~ [/._~A-Za-z0-9-] ]]
++ url_path+=i
++ (( ++i ))
++ (( i < 17 ))
++ ch=r
++ [[ r =~ [/._~A-Za-z0-9-] ]]
++ url_path+=r
++ (( ++i ))
++ (( i < 17 ))
++ ch=e
++ [[ e =~ [/._~A-Za-z0-9-] ]]
++ url_path+=e
++ (( ++i ))
++ (( i < 17 ))
++ ch=s
++ [[ s =~ [/._~A-Za-z0-9-] ]]
++ url_path+=s
++ (( ++i ))
++ (( i < 17 ))
++ printf '\e]7;%s\a' file://MacBook-Pro-DI.local/Users/diogopires

Et après, j'ai couru et j'ai eu :

$ sudo ls
+ sudo ls
Password:
Sorry, try again.
Password:
Sorry, try again.
Password:
sudo: 3 incorrect password attempts
++ update_terminal_cwd
++ local url_path=
++ local i ch hexch LC_CTYPE=C LC_ALL=
++ (( i = 0 ))
++ (( i < 17 ))
++ ch=/
++ [[ / =~ [/._~A-Za-z0-9-] ]]
++ url_path+=/
++ (( ++i ))
++ (( i < 17 ))
++ ch=U
++ [[ U =~ [/._~A-Za-z0-9-] ]]
++ url_path+=U
++ (( ++i ))
++ (( i < 17 ))
++ ch=s
++ [[ s =~ [/._~A-Za-z0-9-] ]]
++ url_path+=s
++ (( ++i ))
++ (( i < 17 ))
++ ch=e
++ [[ e =~ [/._~A-Za-z0-9-] ]]
++ url_path+=e
++ (( ++i ))
++ (( i < 17 ))
++ ch=r
++ [[ r =~ [/._~A-Za-z0-9-] ]]
++ url_path+=r
++ (( ++i ))
++ (( i < 17 ))
++ ch=s
++ [[ s =~ [/._~A-Za-z0-9-] ]]
++ url_path+=s
++ (( ++i ))
++ (( i < 17 ))
++ ch=/
++ [[ / =~ [/._~A-Za-z0-9-] ]]
++ url_path+=/
++ (( ++i ))
++ (( i < 17 ))
++ ch=d
++ [[ d =~ [/._~A-Za-z0-9-] ]]
++ url_path+=d
++ (( ++i ))
++ (( i < 17 ))
++ ch=i
++ [[ i =~ [/._~A-Za-z0-9-] ]]
++ url_path+=i
++ (( ++i ))
++ (( i < 17 ))
++ ch=o
++ [[ o =~ [/._~A-Za-z0-9-] ]]
++ url_path+=o
++ (( ++i ))
++ (( i < 17 ))
++ ch=g
++ [[ g =~ [/._~A-Za-z0-9-] ]]
++ url_path+=g
++ (( ++i ))
++ (( i < 17 ))
++ ch=o
++ [[ o =~ [/._~A-Za-z0-9-] ]]
++ url_path+=o
++ (( ++i ))
++ (( i < 17 ))
++ ch=p
++ [[ p =~ [/._~A-Za-z0-9-] ]]
++ url_path+=p
++ (( ++i ))
++ (( i < 17 ))
++ ch=i
++ [[ i =~ [/._~A-Za-z0-9-] ]]
++ url_path+=i
++ (( ++i ))
++ (( i < 17 ))
++ ch=r
++ [[ r =~ [/._~A-Za-z0-9-] ]]
++ url_path+=r
++ (( ++i ))
++ (( i < 17 ))
++ ch=e
++ [[ e =~ [/._~A-Za-z0-9-] ]]
++ url_path+=e
++ (( ++i ))
++ (( i < 17 ))
++ ch=s
++ [[ s =~ [/._~A-Za-z0-9-] ]]
++ url_path+=s
++ (( ++i ))
++ (( i < 17 ))
++ printf '\e]7;%s\a' file://MacBook-Pro-DI.local/Users/diogopires

5voto

slm Points 4018

Idée n°1 - Utiliser votre mot de passe

Le but entier de sudo consiste à accorder aux utilisateurs ou aux groupes d'utilisateurs l'accès à des fonctions élevées sans avoir à révéler les informations d'identification de l'administrateur. Par conséquent, le mot de passe que vous voudrez utiliser lorsque vous serez invité par l'application sudo est en fait le mot de passe de votre utilisateur.

En outre, vous pouvez utiliser le commutateur -l a sudo pour voir quelles permissions spécifiques ont été accordées à votre ID utilisateur.

Par exemple :

$ sudo -l
Password:
Matching Defaults entries for joeuser on unagi:
    env_reset, env_keep+=BLOCKSIZE, env_keep+="COLORFGBG COLORTERM", env_keep+=__CF_USER_TEXT_ENCODING, env_keep+="CHARSET LANG LANGUAGE LC_ALL LC_COLLATE LC_CTYPE", env_keep+="LC_MESSAGES LC_MONETARY
    LC_NUMERIC LC_TIME", env_keep+="LINES COLUMNS", env_keep+=LSCOLORS, env_keep+=SSH_AUTH_SOCK, env_keep+=TZ, env_keep+="DISPLAY XAUTHORIZATION XAUTHORITY", env_keep+="EDITOR VISUAL", env_keep+="HOME
    MAIL", lecture_file=/etc/sudo_lecture

User joeuser may run the following commands on unagi:
    (ALL) ALL

Ce qui précède indique que l'utilisateur joeuser a toutes les permissions, (ALL) ALL sur le système.

Idée n°2 - Manque de permissions sudo

Si vous constatez que votre mot de passe est correct, alors il est probable que votre compte n'a simplement pas d'entrée dans les fichiers de configuration de Sudo donnant à l'utilisateur des autorisations d'utilisation. Pour confirmer cela, vous pouvez essayer d'exécuter la commande visudo pour voir le fichier de configuration de Sudo :

$ visudo
...
##
# Cmnd alias specification
##
# Cmnd_Alias    PAGERS = /usr/bin/more, /usr/bin/pg, /usr/bin/less

##
# User specification
##

# root and users in group wheel can run anything on any machine as any user
root        ALL = (ALL) ALL
%admin      ALL = (ALL) ALL

## Read drop-in files from /private/etc/sudoers.d
## (the '#' here does not indicate a comment)
#includedir /private/etc/sudoers.d

NOTE : visudo ne fait qu'ouvrir le fichier /etc/sudoers en vi de manière protégée afin que deux utilisateurs ne puissent pas le piétiner en même temps.

Idée n° 3 - Adhésion à un groupe

En général, l'utilisateur se voit accorder un accès à sudo ils seront ajoutés à un groupe spécial UNIX appelé admin . Vous pouvez confirmer si votre compte est membre de ce groupe comme suit :

$ id -a | grep -o '[0-9]\+(admin)'
80(admin)

Ce groupe est spécial car il s'agit généralement de ce qui apparaît dans l'écran du système. /etc/sudoers accordant aux utilisateurs un accès admin via sudo via cette ligne :

$ cat /etc/sudoers
...
...
%admin      ALL = (ALL) ALL
...
...

Idée n° 4 - TextExpander

J'ai pu trouver des fils de discussion où d'autres personnes signalaient que TextExpander mettait automatiquement en majuscule le premier mot d'une phrase, ce qui faisait que la première lettre de leur mot de passe était en majuscule lorsqu'ils le tapaient. Vous pouvez désactiver TextExpander pour voir si cela est à l'origine de vos problèmes de mot de passe avec sudo .

Idée n° 5 - Compte ou mot de passe corrompu

Il y a une petite chance que le mot de passe de votre utilisateur ait été corrompu, ce qui rend sudo incapable de l'utiliser. Pour éliminer cette cause possible, vous pouvez essayer de réinitialiser/changer le mot de passe de votre utilisateur. Pour ce faire, accédez aux Préférences des systèmes, puis ouvrez la section Utilisateurs et groupes, sélectionnez votre utilisateur et cliquez sur le bouton Modifier le mot de passe.

En outre, vous pouvez trouver un certain succès en essayant de suivre certaines des étapes de ce guide intitulé : Comment réparer les comptes d'utilisateur corrompus dans MacOS si vous pensez que votre compte utilisateur MacOS est corrompu.

NOTE : Je garde cette dernière suggestion comme quelque chose à essayer une fois que vous avez complètement éliminé tout le reste.

Idée n° 6 - Créer un autre compte

Pour éliminer tout problème avec le système lui-même, vous pouvez essayer de créer un autre compte d'utilisateur MacOS et de lui accorder sudo également. Une fois que vous avez créé ce compte, essayez d'utiliser sudo -l et vérifier qu'il fonctionne. Si ce n'est pas le cas, le problème vient probablement d'une mauvaise configuration du système ou peut-être de certains fichiers/bibliothèques qui sont critiques pour le fonctionnement du système. sudo sont devenus corrompus.

Idée n°7 - Un problème avec certaines commandes

J'ai remarqué que quelqu'un vous a demandé dans les commentaires comment vous avez pu exécuter la commande sudo -l et fournir votre mot de passe, mais dans les commandes suivantes telles que sudo ls il a échoué.

Cela m'a fait penser que peut-être votre problème a quelque chose à voir avec un alias, une fonction shell ou un script shell qui est récupéré lorsque vous exécutez sudo ls .

Pour approfondir cette idée, vous pouvez procéder comme suit :

$ set -x; sudo -l; sudo ls; set +x 

Ceci permettra une sortie plus verbeuse des commandes. Le site set -x est ce qui permet cela. Le site set +x à la fin désactivera ceci.

Entre-temps, nous allons exécuter le sudo -l et le sudo ls afin que nous puissions voir quelles commandes sont réellement exécutées lors de leur exécution.

Par exemple :

$ set -x; sudo -l; sudo ls; set +x
+ sudo -l
...
...
+ sudo ls
...
...
+ set +x

Votre sortie devrait être la même, si vous voyez autre chose que sudo ls alors vous avez peut-être un alias ou une fonction shell qui vous empêche d'exécuter sudo ls .

2voto

nohillside Points 82672

Pour une raison quelconque, vous semblez avoir le targetpw l'ensemble des options. À partir de man sudoers :

targetpw   If set, sudo will prompt for the password of the user specified by the -u
           option (defaults to root) instead of the password of the invoking user when
           running a command or editing a file.  Note that this flag precludes the use
           of a uid not listed in the passwd database as an argument to the -u option.
           This flag is off by default.

Vous pouvez donc faire des choses comme sudo -u diogopires ls en entrant votre propre mot de passe, mais vous ne pouvez pas exécuter sudo -u diogopires visudo parce que cela ferait fonctionner visudo comme diogopires (et non comme root comme il se doit).

Donc, pour résoudre ce problème

  • Démarrez en mode utilisateur unique en appuyant sur Cmd-S au démarrage
  • Exécuter mount -uw /
  • Utilice visudo (sans sudo ) pour supprimer l'option
  • Type Ctrl-D ou courir reboot pour redémarrer

LesApples.com

LesApples est une communauté de Apple où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres utilisateurs d'appareils Apple, poser vos propres questions ou résoudre celles des autres.

Powered by:

X