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
)?
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.
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.
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?