Je cours Ubuntu 14.04 LTS. J'ai lancé la commande suivante pour créer un utilisateur
$Sudo useradd -m -p password1 guest_user
puis essayé de passer à l'utilisateur avec
$su guest_user
Mais je ne pouvais pas me connecter avec password1
Est-ce que je manque quelque chose? Suis-je censé me connecter avec password1 ou autre chose, comme le dit l'option -p dans la page de manuel de useradd
-p, --password PASSWORD
The encrypted password, as returned by crypt(3). The default is to disable the password.
Note: This option is not recommended because the password (or encrypted password) will be
visible by users listing the processes.
You should make sure the password respects the system's password policy.
Ce qui précède me perturbe parce que quand je tape la commande
useradd -m -p motdepasse1
le mot de passe password1 est visible sur la ligne de commande. Comment le rendre invisible dans la commande ci-dessus?
De man useradd
:
-p, --password PASSWORD
The encrypted password, as returned by crypt(3). The default is to disable the password.
Comme vous pouvez le voir, PASSWORD
avec l'option -p
est le mot de passe chiffré renvoyé par la fonction de bibliothèque crypt(3)
.
Si vous utilisez -p password1
, le système considérera ce texte en clair password1
comme une entrée de mot de passe masquée chiffrée dans /etc/shadow
.
La solution consiste à utiliser le mot de passe chiffré ici avec -p
qui est nsafe, vous devez définir le mot de passe de manière interactive.
Par exemple, créez d'abord le suer:
Sudo useradd -m -s /bin/bash guest_user
Maintenant, définissez le mot de passe:
Sudo passwd guest_user
Ou mieux, utilisez adduser
à la place:
Sudo adduser --gecos '' guest_user
Essayez d'ajouter un argument après chaque option que vous souhaitez utiliser. Par exemple:
useradd -m guest_user -p passwd1
Comme le suggère la page de manuel de useradd, ajouter votre mot de passe de cette manière n'est pas considéré comme sécurisé car il est transmis en texte brut. Pour une alternative, essayez:
Sudo useradd -m guest_user
et alors:
Sudo passwd guest_user
Deux mises en garde:
la ligne commençant par: NAME_REGEX = in: /etc/adduser.conf peut interdire l’utilisation du caractère de soulignement "_" pour les noms d’utilisateur;
des exigences relatives à la complexité des mots de passe peuvent être définies dans: /etc/pam.d/common-password, ce qui nécessite un mot de passe plus complexe.