web-dev-qa-db-fra.com

L'authentification graphique fonctionne. Pourquoi Sudo dit-il que mon mot de passe est erroné?

J'essaie d'installer un thème et lorsque j'entre la commande Sudo cp -r $HOME/Desktop/Overglossed /usr/share/themes, le terminal demande mon mot de passe Sudo que j'ai entré, mais on me dit que mon mot de passe est incorrect. Quel est le problème ici? Je me suis connecté avec le même mot de passe, et je n'ai pas de majuscule ou quoi que ce soit du genre.

C'est la première fois que j'utilise le terminal. Si cela est dû à ma méconnaissance, veuillez me le faire savoir.

Je ne suis pas toujours empêché d'effectuer des tâches administratives en saisissant mon mot de passe. Je peux installer un logiciel dans le centre logiciel, par exemple, j'ai installé Chrome (avec lequel j'ai déjà travaillé sur cette question).

4
Nemo

Première ... Une solution de contournement probable

Il est probable que vous puissiez contourner ce problème jusqu'à ce qu'il soit résolu en utilisant pkexec à la place de Sudo lorsque vous souhaitez exécuter une commande en tant que root. Voir " Peut-être que Sudo est cassé " ci-dessous pour plus de détails.

Ce n'est pas certain que cela fonctionnera. Sinon, l'une des autres solutions ou solutions de contournement proposées ici pourrait l'être. Sinon, cela vous aidera probablement à rassembler des informations sur le problème, que vous pourrez ajouter à votre question.

(Les personnes ayant ce problème autre que le demandeur de cette question peuvent créer une nouvelle question avec des informations sur ce qui est arrivé quand elles ont essayé les techniques ici.)


Les bases de cette situation

La plupart du temps, lorsque des personnes signalent qu’elles ne peuvent pas entrer efficacement leur mot de passe pour Sudo dans un terminal, mais qu’elles peuvent s’authentifier graphiquement au moins de temps en temps, c’est parce qu’elles ne réalisent pas que - aucun caractère de substitution (comme *) n'est supposé apparaître . Ici, il semble que ce n’est pas le cas. Si vous avez entré votre mot de passe correctement et en entier avant d'appuyer sur Enter, il y a vraiment un problème.

Pour savoir ce que c'est, il faut plus d'informations. Sudo n'accepte pas le mot de passe dans le terminal, même si vous pouvez le saisir graphiquement pour installer le logiciel.

1. Peut-être que le mot de passe est vide

proposé par Bruno Pereira.

Si votre mot de passe est vide, c’est-à-dire zéro caractère, c’est-à-dire que vous appuyez simplement sur Enter  lorsque votre mot de passe vous est demandé, changez-le en un élément non vide.

Il est probable que vous puissiez changer votre mot de passe dans les paramètres système (car vous pouvez effectuer au moins certaines tâches administratives graphiquement). Si cela ne fonctionne pas et que vous pouvez installer un logiciel, vous pouvez installer gnome-admin-tools Install gnome-admin-tools , lancez users-admin (un autre utilitaire graphique) et changez votre mot de passe de cette façon.

Si cela ne fonctionne pas, essayez de lancer pkexec passwd $USER. (pkexec demandera graphiquement votre mot de passe si une interface graphique est disponible et fonctionne, même si elle est utilisée pour exécuter des commandes CLI .)

Si cela ne fonctionne pas, essayez n’importe laquelle de ces méthodes ; si cela ne fonctionne pas, essayez cette méthode .

2. Peut-être que le mot de passe contient des caractères étranges

Si votre mot de passe contient des caractères autres que les chiffres (0 à 9), les lettres majuscules (A à Z) et les lettres minuscules (a à z) sans marques d'accent, ainsi que la ponctuation qui apparaît sur un clavier américain/anglais, modifiez-le ainsi. Si vous utilisez des paramètres régionaux différents, par sécurité, vous pouvez également (temporairement) modifier vos paramètres régionaux.

Les espaces sont généralement acceptables dans les mots de passe, mais si vous rencontrez des problèmes, il est logique de les essayer sans eux. Ils sont relativement rares, donc il pourrait y avoir un bug non découvert déclenché par la combinaison d'un mot de passe avec des espaces et d'autres conditions.

3. Peut-être que le mot de passe est parfaitement ordinaire, mais a été mal enregistré

Même si un ou plusieurs caractères de votre mot de passe sont couramment utilisés, il est néanmoins judicieux de changer votre mot de passe pour voir si le problème est résolu. De plus, si vous modifiez votre mot de passe et que cela ne résout pas votre problème, il s'agit d'un autre élément d'information important.

J'ai parlé à des personnes dans cette situation, où la modification du mot de passe a corrigé le problème, même si rien de particulier ne le dérangeait ou n'était étrange à l'origine. Je suppose que le problème tient peut-être à la manière dont le mot de passe est stocké, mais il se peut que la cause sous-jacente soit corrigée par coïncidence en définissant le mot de passe, ou que la situation ait été rapportée (mais à plusieurs reprises par différentes personnes) à tort, ou que J'ai mal compris.

4. Peut-être que vous ne tapez pas ce que vous pensez être

Assurez-vous que la configuration de votre clavier correspond à ce que vous pensez lorsque vous entrez votre mot de passe.

5. Votre terminal interprète peut-être mal les entrées

Peut-être que le mot de passe que vous voyez n’est pas ce que vous entrez réellement. Pour voir si c'est le cas:

  • Entrez-le dans le terminal lorsque vous n'entrez pas votre mot de passe (ne le "lancez pas", et encore ne nous dites pas ce que c'est).

  • Essayez-le dans une application de terminal différente. Vous utilisez un terminal; essayez xterm. (Presse Alt+F2 et lancez xterm.)

  • Essayez-le sur un console virtuelle . presse Ctrl+Alt+F1 et voyez si vous pouvez vous connecter. Comme avec Sudo, il est normal que rien ne se passe lorsque vous entrez votre mot de passe. Il suffit de taper et appuyez sur Enter quand tu as fini.

    Que cela réussisse ou échoue, savoir si cela a fonctionné fournit des informations utiles.

    Ensuite, essayez de lancer Sudo.

    Pour revenir à l'interface graphique, appuyez sur Alt+F7.

6. Peut-être que Sudo fonctionne, mais pas lorsqu'il est appelé à partir de la ligne de commande

Pour vérifier cela, exécutez gksudoxclock. Votre mot de passe vous sera demandé graphiquement, mais Sudo sera utilisé "sous le capot".

Si cela fonctionne - c'est-à-dire si une simple application d'horloge graphique apparaît - alors Sudo fonctionne, mais (en supposant que cela a également échoué lorsque vous avez essayé de l'exécuter dans une autre application de terminal et dans une console virtuelle), quelque chose ne va pas dans la façon dont il fonctionne. prend des entrées des interfaces de ligne de commande.

7. Peut-être que l'authentification par mot de passe CLI est cassée

Cela peut se produire s'il existe un problème commun empêchant Sudo et d'autres méthodes différentes de demander des mots de passe sur la ligne de commande, afin qu'elles ne fonctionnent pas correctement.

Exécutez su $USER -c 'echo Success'. Vous serez invité à entrer votre mot de passe. Tapez-le (encore une fois, il est normal que rien ne s'affiche à l'écran comme vous le faites), appuyez sur Enteret voyez si Success apparaît.

Si vous ne parvenez pas à vous authentifier, le problème concerne à la fois Sudo basé sur terminal et su basé sur terminal.

8. Peut-être que Sudo est cassé

Essayez d’exécuter une commande avec PolicyKit : pkexec echo Success

Une fenêtre graphique devrait apparaître et vous demander votre mot de passe. Si l'authentification réussit, Success apparaîtra dans le terminal.

Si cela fonctionne, vous avez une solution de contournement pour le problème: utilisez pkexec au lieu de Sudo.

Si Sudo est cassé, vous pourrez peut-être le réparer en fonction de ce qui ne va pas avec Sudo:

8.1. Peut-être que l'installation est foirée.

Essayez de réinstaller Sudo avec:

pkexec apt-get update && pkexec apt-get --purge --reinstall Sudo

Cela peut réparer une installation corrompue ou mal configurée.

8.2. Peut-être que Sudo est mal configuré dans /etc/sudoers.

Pour les erreurs de configuration liées aux échecs d'authentification par mot de passe inexpliqués, vérifiez les lignes Defaults dans /etc/sudoers en exécutant:

pkexec grep Defaults /etc/sudoers

Dans Ubuntu, la sortie est normalement:

Defaults    env_reset
Defaults    secure_path="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin"

Si vous voyez rootpw, runaspw ou targetpw, cela signifie que Sudo ne demande pas nécessairement votre mot de passe.

Cela est particulièrement probable si vous êtes invité [Sudo] password for root: ou [Sudo] password for some-other-username au lieu de [Sudo] password for your-username. Mais cela vaut la peine de vérifier dans tous les cas (car il est facile à vérifier).

Même si vous ne voyez pas aucun de ces trois termes ...pw, vous pouvez toujours voir quelque chose qui ne va pas; si votre sortie de pkexec grep Defaults /etc/sudoers n'est pas identique à celle présentée ci-dessus, vous devriez l'examiner (par exemple, vous pouvez l'inclure lorsque vous modifiez votre question pour fournir des détails sur ce qui s'est passé lorsque vous avez essayé toutes ces techniques).

Si cela ne révèle rien, jetez un coup d'œil à /etc/sudoers. Vous pouvez utiliser pkexec less /etc/sudoers ou ouvrir le fichier dans un éditeur avec pkexec visudo. Si vous ne voyez rien de mal, je vous recommande de continuer à poster le contenu du fichier dans votre question.

Si vous trouvez un problème dans /etc/sudoers et savez ce qui doit être changé, vous pouvez le modifier en utilisant pkexec visudo.

8.3. Peut-être que Sudo est mal configuré dans /etc/Sudo.conf.

Normalement sur Ubuntu, /etc/Sudo.conf n'existe pas. Et c’est bien, cela fonctionne normalement dans cette situation. Si /etc/Sudo.conf existe, Sudo peut être configuré pour fonctionner de manière radicalement différente. (Ou il peut être configuré pour fonctionner exactement de la même manière, et n'a rien à voir avec votre problème. Ou quoi que ce soit entre les deux.)

Si ce fichier existe, peu importe son contenu, veuillez en fournir le contenu complet.

If/etc/Sudo.conf existe, par défaut, les seules lignes non commentées (c'est-à-dire, les seules lignes qui ne commencent pas par #) sont les suivantes:

Plugin sudoers_policy sudoers.so
Plugin sudoers_io sudoers.so

Ceci utilise le module sudoers pour contrôler la politique de sécurité et l'interface de Sudo. Si un autre module est utilisé, les choses peuvent être très différentes, ce sont donc des informations très pertinentes.

8.4. Peut-être que c'est un problème de PAM, présentant de manière inhabituelle.

C'est un peu exagéré, mais peut-être que Sudo est configuré pour utiliser des modules d'authentification enfichables et que sa configuration PAM pose un problème.

  • C’est un effort parce qu’il n’est généralement pas demandé de saisir un mot de passe du tout ​​lorsque cela se produit.

Pour vérifier, lancez:

ls -ld /etc/pam.d
ls -l /etc/pam.d/Sudo
cat /etc/pam.d/Sudo

Le texte dans le terminal devrait ressembler à ceci:

$ ls -ld /etc/pam.d
drwxr-xr-x 2 root root 4096 Jan 16 01:44 /etc/pam.d
$ ls -l /etc/pam.d/Sudo
-rw-r--r-- 1 root root 239 May 31  2012 /etc/pam.d/Sudo
$ cat /etc/pam.d/Sudo
#%PAM-1.0

auth       required   pam_env.so readenv=1 user_readenv=0
auth       required   pam_env.so readenv=1 envfile=/etc/default/locale user_readenv=0
@include common-auth
@include common-account
@include common-session-noninteractive

Si l'un des caractères gras est différent du tout, cela suggère un problème.

J'ai eu cette idée en amont de Sudopage de dépannage (mais cette page ne ne suggère pas que le problème se produira de cette façon).

9. Peut-être que c'est autre chose

Peut-être qu'aucune des situations ne couvre votre problème. Ou peut-être que le problème est que Sudo est cassé, mais aucune des sous-situations pour cela ne s'applique.

Si c'est le cas, n'abandonnez pas! (sauf si vous le souhaitez.)

Fournissez simplement autant d'informations que possible, y compris ce qui s'est passé lorsque vous avez essayé chaque technique ou étape de diagnostic. Cela éclairera probablement le problème.

Cette réponse est déplacée, avec une légère modification, de cette question (où elle n'appartenait pas vraiment, car il n'est pas clair que le PO existe vraiment ce problème).Merci à gertvdijk de m'avoir aidé à reconnaître l'ambiguïté là-bas et à l'avoir suggéré d'être posté ailleurs. (Il n'est cependant pas responsable des erreurs éventuelles.)

9
Eliah Kagan

Pour résoudre ce problème, vous pouvez utiliser gksudo à la place de Sudo jusqu'à ce que la cause première du problème soit résolue.

0
totti

Sudo n'acceptait pas mon mot de passe non plus. C'était parce que j'avais ajouté

auth required pam_tally.so per_user magic_root onerr=fail

en haut de /etc/pam.d/common_auth pour tenter de créer un délai de 10 minutes après 3 tentatives infructueuses de mot de passe. Supprimer cette ligne a résolu mon problème.

0
Daniel Pasono