web-dev-qa-db-fra.com

Utilisateur sans mot de passe - comment peut-on se connecter à ce compte à partir d'un compte non root

Je viens de commencer à utiliser Scientific Linux (7.0) (bien que je suppose que cette question pourrait être neutre en termes de distribution ..). La version du noyau est 3.10.0-123.20.1.el7.x86_64.

Revenons à ma question.

Je suis passé au compte root et à partir de là, j'ai créé un nouveau compte utilisateur test-account en utilisant la commande adduser test-account. Il ne m'a pas demandé de mot de passe et je n'ai pas non plus utilisé l'option pour fournir un mot de passe. Donc je suppose que c'est un compte "sans mot de passe". Je peux me connecter à ce compte à partir du compte root - ce que je suppose que je pourrais sans fournir de mot de passe même si le compte de test avait un mot de passe. Cependant, lorsque j'essaie de me connecter à ce compte de test à partir d'un troisième compte, il me demande un mot de passe. Et appuyer simplement sur Enter ne fonctionne pas.

Est-il possible de se connecter à ce compte à partir d'un compte non root. Existe-t-il un moyen (sans passer à root ou utiliser Sudo)?

27
Lavya

Par défaut sur l'entreprise GNU/Linux et ses dérivés, la commande adduser crée un utilisateur qui est désactivé jusqu'à ce que vous spécifiez explicitement un mot de passe pour cet utilisateur.

Voici un exemple sur CentOS 6.5, qui devrait être le même que Scientific Linux.

 $ Sudo adduser test
 $ Sudo grep test /etc/shadow
 test:!!:123456:0:99999:7:::

la raison en est que dans le /etc/shadow fichier, le champ du mot de passe est !! comme vous pouvez le voir dans l'exemple.

une fois que vous exécutez passwd pour ce compte, il modifiera le mot de passe de l'utilisateur et lui permettra de se connecter.

donc ce que vous devriez pouvoir faire est le suivant pour avoir un utilisateur sans mot de passe, créez simplement un compte puis supprimez le mot de passe.

 $ Sudo adduser test
 $ Sudo passwd -d test
 Removing password for user test.
 passwd: Success
 $ su test
 $ whoami
 test

maintenant, tout utilisateur devrait pouvoir utiliser su et se connecter en tant qu'utilisateur test dans mon exemple. vous n'aurez pas à utiliser Sudo pour vous connecter en tant que compte.

Bien que cela soit possible et que vous puissiez avoir un compte sans mot de passe, cela n'est pas conseillé. Si vous définissez simplement le mot de passe de l'utilisateur, vous devez être autorisé à vous connecter.

$ Sudo passwd test
[Sudo] password for <YOURACCOUNT>:
Changing password for user test.
New password:
Retype new password:
passwd: all authentication tokens updated successfully.
30
Nathan McCoy

J'ai l'utilisateur invité qui est sans mot de passe. C'est son record:

invité: U6aMy0wojraho: 17057: 0: 99999: 7 :::

La chaîne "U6aMy0wojraho" est le mot de passe haché de l'utilisateur invité. Lorsque je me connecte, je clique simplement sur Entrée pour le mot de passe et le système me permet d'entrer.

Vous devez éditer le fichier/etc/shadow et ajouter la chaîne mentionnée ci-dessus juste après le nom d'utilisateur et le premier deux-points.

J'ai copié cette chaîne à partir du CD live d'Ubuntu - son utilisateur est sans mot de passe.

3
Raicho Nikolov

Utilisateur avec mot de passe vide

Sudo useradd test-user-0
echo test-user-0:U6aMy0wojraho | Sudo chpasswd -e
su test-user-0

L'invite de mot de passe s'affiche toujours malheureusement.

Mais si vous appuyez simplement sur Entrée sans rien taper, et qu'il se connecte en tant qu'utilisateur test-user-0.

Le -e flags indique à chpasswd que le mot de passe est déjà crypté et U6aMy0wojraho est le hachage de la chaîne vide.

Testé sur Ubuntu 18.04.

Connexion automatique BusyBox

Sur le terminal au moins, vous n'avez pas besoin de créer un utilisateur sans mot de passe pour permettre à quelqu'un de ne pas taper son mot de passe à chaque fois, pirater inittab un peu suffit: Comment se connecter automatiquement sans taper le nom d'utilisateur ou le mot de passe root dans Buildroot BusyBox init?