Puis-je configurer mon compte d'utilisateur pour qu'il n'ait pas de mot de passe?

81

Si je tente de remplacer mon mot de passe par rien en ouvrant "Comptes d'utilisateurs", le bouton "Modifier" reste grisé:

Comment puis-je changer mon mot de passe pour être vide? Je sais que vous pouvez configurer Ubuntu pour vous connecter automatiquement, mais je veux que mon mot de passe soit vide, je ne veux jamais taper de mot de passe pour m'authentifier en tant qu'utilisateur.

Je sais qu'il y a des raisons pour lesquelles cela pourrait ne pas être une bonne idée, mais je veux savoir si c'est même possible. J'utilise Ubuntu 12.10.

Flimm
la source

Réponses:

140

Vous ne pouvez pas faire cela en utilisant l'outil graphique, mais vous pouvez utiliser le terminal.

  1. Premièrement, si votre utilisateur a des privilèges sudo, vous devez activer son NOPASSWDoption. Sinon, vous sudodemanderez un mot de passe même lorsque vous n'en avez pas et n'accepterez pas un mot de passe vide.

    Pour ce faire, ouvrez le fichier de configuration sudoers avec sudo visudoet ajoutez la ligne suivante au fichier, en le remplaçant davidpar votre nom d'utilisateur:

    david ALL=(ALL) NOPASSWD:ALL
    

    Fermez l'éditeur pour appliquer les modifications et testez l'effet sur sudo dans un nouveau terminal.

  2. Supprimez le mot de passe de votre utilisateur en exécutant cette commande:

    sudo passwd -d `whoami`
    

Si vous êtes invité à entrer un mot de passe, entrez simplement et cela devrait fonctionner. J'ai testé cette réponse avec LightDM, l'écran de verrouillage sudo, gksuet cela fonctionne, mais il reste encore une étape pour la faire fonctionnerpkexec (merci muru).

Flimm
la source
1
Pour pkexec, voir askubuntu.com/a/614537/158442
muru
Toute nouvelle modification visudo telle que nopasswddevrait être ajoutée à la fin afin qu'aucun autre paramètre ne remplace l'entrée.
Dean Meehan
4
Cela ne fonctionnait pas pour moi (Ubuntu 16.04) via la connexion SSH. Il demande toujours un mot de passe, mais aucun mot de passe n'est accepté (vide ou l'ancien ou celui de la clé ssh).
Deleet
3
Sur Debian, j'ai reçu le message "Désolé, cela n'a pas fonctionné, essayez à nouveau" lorsque j'essaie de me connecter avec un mot de passe vide après la commande passwd david -d. Et maintenant, je ne peux pas me connecter avec l'ancien mot de passe aussi.
fabriciorissetto
1
Maintenant, je ne peux pas installer de logiciel car un mot de passe est nécessaire pour le faire.
Matthieu
14

Avertissement: Soyez prudent lorsque vous supprimez votre mot de passe à l’aide de cette méthode, vous ne pourrez plus vous authentifier pour prouver que vous disposez de droits d’administrateur, dans une interface graphique ou dans un terminal (comme installer une application avec Synaptic ou en utilisant sudola commande ligne). Ceci est dû au bogue n ° 1168749 .

Ne le faites que si l'utilisateur n'est pas le seul utilisateur administrateur.

Cela a été testé sur Ubuntu 12.04 et 12.10.

  1. Assurez-vous de cliquer sur Déverrouiller pour pouvoir accomplir les tâches suivantes:

    Déverrouiller la capture d'écran

  2. Allez dans les comptes d'utilisateurs, et cliquez sur le champ mot de passe:

  3. Une fois la fenêtre ouverte, cliquez sur la flèche vers le bas à droite de "Action" ...

  4. et changez-le en "Connectez-vous sans mot de passe", puis cliquez sur "Modifier":

  5. Facultativement, vous pouvez également activer la connexion automatique, comme ceci:

    Capture d'écran

Pour redonner un mot de passe à l'utilisateur après avoir exécuté cette procédure, vous ne pouvez pas utiliser d'interface graphique ( bogue n ° 882255 ), vous devez utiliser la ligne de commande:

  1. Connectez-vous en tant qu'utilisateur avec des privilèges d'administrateur. (N'oubliez pas que le système d'origine ne peut pas fonctionner avec les privilèges d'administrateur sans mot de passe utilisant cette méthode.)

  2. Exécutez ce qui suit dans un terminal:

    sudo passwd <username>
    

Encore une fois, je dois vous avertir qu'une fois le mot de passe supprimé, vous ne pourrez plus vous authentifier dans l'interface graphique ou dans un terminal, comme pour l'installation d'une application à l'aide de Synaptic ou à l'aide sudode la ligne de commande.

Mitch
la source
J'ai une question cependant, que fait réellement l'option "Se connecter sans mot de passe"? Fait-il fondamentalement passwd -det supprime le mot de passe?
Alaa Ali
Bien honnêtement, je ne suis pas sûr à 100%. Mais passwd -dest un moyen rapide de supprimer un mot de passe pour un compte. Il va définir le compte nommé sans mot de passe. Disponible pour root uniquement.
Mitch
Disponible pour root seulement? Non, vous pouvez l'utiliser pour supprimer le mot de passe de l'utilisateur =). Je pense que c’est ce que fait réellement l’option «Se connecter sans mot de passe»; il supprime simplement votre mot de passe, c'est pourquoi vous ne pourrez pas vous authentifier. C'est juste stupide cependant.
Alaa Ali
1
Je suis d'accord, mais juste pour vous donner un exemple, j'ai un ordinateur portable partagé, que mes enfants utilisent parfois, et ils le redémarrent environ un million de fois par heure, et je n'ai pas le temps de continuer à taper le mot de passe à chaque fois, alors Je mets le compte en connexion automatique, pour éviter les tracas, et ils ne peuvent donc rien manquer de plus que ce qu'ils ont déjà fait. :)
Mitch
7

Je pense que c'est possible , mais cela vous causera des problèmes une fois que vous aurez essayé d'installer des mises à jour ou quoi que ce soit qui nécessite sudo; car vous avez besoin d’un compte avec accès sudo (et d’un mot de passe) pour l’installer.

Vos meilleures options semblent être:

  • Utilisez le compte Invité sans mot de passe. Laissant ainsi un compte par défaut avec mot de passe.
  • Hellbent sur un compte sans mot de passe? Recommande fortement de ne pas procéder ainsi: ajoutez un nouveau compte utilisateur (avec mot de passe), puis changez-le pour qu'il soit équivalent à vide. Pour faire ça:
    1. créer un utilisateur (via l'interface graphique ou useradd, etc.). Ensuite,
    2. CTRL- ALT- Tpour ouvrir le terminal. Prochain,
    3. gksu gedit nano -B /etc/shadowpuis trouvez le nouvel utilisateur et modifiez le hachage de mot de passe existant avec: U6aMy0wojraho- afin qu'il ressemble à quelque chose comme:newuser:U6aMy0wojraho:13996:0:99999:7:::
  • La meilleure solution à votre question: choisissez de vous connecter automatiquement à votre compte, ce qui constitue probablement le principal avantage que vous recherchez. pour faire ça:

    1. appuyez sur CTRL- ALT- T(pour ouvrir le terminal). Dans Terminal, tapez:

      sudo gedit /etc/lightdm/lightdm.conf
      

      ajouter les lignes:

      autologin-user=YOURUSERNAME
      autologin-user-timeout=0
      

      remplacer YOURUSERNAME- par un nom d'utilisateur réel sur votre système.

Mike Stewart
la source
Merci d'avoir signalé les alternatives. Je sais que ne pas avoir de mot de passe n'est pas une bonne idée, mais je veux savoir si c'est possible (j'ai mis à jour la question).
Flimm
2

C'est une interface graphique et c'est ce qui vous empêche de faire un mot de passe vide.

S'il y avait un moyen, cela devrait être fait via un terminal.

Mais, à la fin, vous devez entrer dans le système via l'interface graphique et même si vous changiez le mot de passe pour le vider, l'interface graphique l'empêcherait. Donc, à moins de vouloir passer à une interface non graphique, ce n'est tout simplement pas possible.

Meer Borg
la source
2

On dirait qu'un mot de passe vide ne correspond pas aux exigences de complexité du mot de passe.

C'est ce que j'ai trouvé dans man passwd

As a general guideline, passwords should consist of 6 to 8 characters including one or
       more characters from each of the following sets:

       ·   lower case alphabetics

       ·   digits 0 thru 9

       ·   punctuation marks

       Care must be taken not to include the system default erase or kill characters.  passwd will reject any password which is not
       suitably complex.

EDIT: Malheureusement, vous ne pouvez pas définir le mot de passe pour vider à travers cette interface utilisateur.

http://bazaar.launchpad.net/~ubuntu-branches/ubuntu/quantal/gnome-control-center/quantal-proposed/view/head:/panels/user-accounts/um-password-dialog.c#L358

est la fonction qui décide d'activer ou non le bouton "Modifier".

    if (strlen (password) < MIN_PASSWORD_LEN) {
            can_change = FALSE;
            if (password[0] == '\0') {
                    tooltip = _("You need to enter a new password");
            }
            else {
                    tooltip = _("The new password is too short");
            }
    }
    else if (strcmp (password, verify) != 0) {
            can_change = FALSE;
            if (verify[0] == '\0') {
                    tooltip = _("You need to confirm the password");
            }
            else {
                    tooltip = _("The passwords do not match");
            }
    }
    else if (!um->old_password_ok) {
            can_change = FALSE;
            if (old_password[0] == '\0') {
                    tooltip = _("You need to enter your current password");
            }
            else {
                    tooltip = _("The current password is not correct");
            }
    }
    else {
            can_change = TRUE;
            tooltip = NULL;
    }

    gtk_widget_set_sensitive (um->ok_button, can_change);

Le mot de passe minimal len 6 est codé en dur :(

http://bazaar.launchpad.net/~ubuntu-branches/ubuntu/quantal/gnome-control-center/quantal-proposed/view/head:/panels/user-accounts/um-password-dialog.c#L39

#define MIN_PASSWORD_LEN 6
thefourtheye
la source
1
C'est "plus ce que vous appelez des directives que des règles réelles" ...
Oli
Mais la dernière ligne dit: "passwd rejettera tout mot de passe qui n’est pas suffisamment complexe.". Donc, cela ne permettrait peut-être pas un mot de passe vide, je crois.
thefourtheye
Mais encore une fois, ces éléments là ne sont pas les exigences. Vous n'avez pas besoin de tout le spectre de caractères et de cas, ils vous suggèrent simplement de les utiliser pour un mot de passe plus fort. PAM s'occupe des règles sur ce dont vous avez réellement besoin.
Oli
2
Vous pouvez définir un mot de passe vide avec passwdavec l' -doption.
Flimm
Ouaip. Lisez-le dans les pages de manuel. C'est pourquoi j'ai dit "je ne peux pas configurer le mot de passe pour qu'il se vide via cette interface utilisateur".
thefourtheye
1

Il est possible de changer le mot de passe après la suppression. Vous devez simplement démarrer en mode de récupération. Vous trouverez ici un bon tutoriel: http://www.psychocats.net/ubuntu/resetpassword

En bref, ce que vous trouverez sur le lien ci-dessus:

  1. vous devez redémarrer en mode de récupération. (pour que le menu de démarrage s'affiche, vous devez maintenir la touche Maj enfoncée pendant le démarrage)
  2. Dans le menu de démarrage, sélectionnez l'option "Supprimer l'invite du shell root".

  3. tapez sur la console un par un

    ls /home
    passwd username
    passwd susan
    exit
    

    puis redémarrez normal

Larshaeuser
la source
1
Pensez à modifier votre réponse pour inclure au moins un aperçu de ce qui est décrit dans l'article que vous créez un lien et fournir le lien à des fins de référence / attribution. Ainsi, si le lien devient indisponible pour une raison quelconque, votre réponse restera utile.
hmayag