J'aimerais utiliser la commande adduser
pour ajouter un utilisateur (avec un mot de passe désactivé) via un script Shell.
Par défaut, adduser
vous invite à saisir différentes valeurs (par exemple, Nom complet). Est-il possible de soumettre ces valeurs via la ligne de commande? Ou devrai-je plutôt useradd
?
Utilisez l'option --gecos
pour ignorer la partie interactive chfn
.
adduser --disabled-password --gecos "" username
Tout est dans la page de manuel. Ce n'est pas la formulation la plus évidente.
--gecos GECOS
Set the gecos field for the new entry generated. adduser will
not ask for finger information if this option is given.
Le champ GECOS est une liste séparée par des virgules en tant que telle: Full name,Room number,Work phone,Home phone
, malgré que la page de manuel mentionne finger information
Détails - Wikipedia
J'espère que cela vous aide.
useradd
peut également ajouter des utilisateurs et ne semble avoir aucune forme d'invite intégrée.
useradd -m -p <encryptedPassword> -s /bin/bash <user>
-m
, --create-home
: Créer le répertoire de base de l'utilisateur-p
, --password
: spécifiez le mot de passe de l'utilisateur; ignorer qu'il soit désactivé-s
, --Shell
: Shell par défaut pour l'utilisateur connecté
Blank utilisera le shell de connexion par défaut spécifié par la variable Shell
dans /etc/default/useradd
<user>
par le nom d'utilisateur<encryptedPassword>
par le mot de passe crypté Il y a beaucoup d'implémentations crypt3 pouvant générer un mot de passe haché. Le tout est votre mot de passe haché.
Le format de sortie résultant: le mécanisme de hachage ($6
pour sha-512), le sel aléatoire (les huit octets après le deuxième signe dollar $ASDF1234
), le reste est la charge utile.
mkpasswd mkpasswd -m sha-512
(mkpasswd
est fourni par le package whois
)
Le format de sortie résultant: les 2 premiers octets sont votre sel, le reste est la charge. Le tout est votre mot de passe haché.
mkpasswd
(fourni par le paquet whois
)openssl passwd -crypt
Perl -e "print crypt('password');"
python3 -c 'import crypt; print(crypt.crypt("password"))'