Exécutez adduser de manière non interactive

156

Je voudrais utiliser la commande adduser pour ajouter un utilisateur (avec un mot de passe désactivé) via un script shell.

Par défaut, adduser vous demande diverses valeurs (par exemple, Nom complet). Est-il possible de soumettre ces valeurs via la ligne de commande? Ou aurai-je besoin de useradd à la place?

    
posée Lorin Hochstein 09.01.2012 - 14:54
la source

2 réponses

211

Utilisez l’option --gecos pour ignorer la partie interactive chfn .

adduser --disabled-password --gecos "" username

Tout est dans la page de manuel. 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é les mentions de la page de manuel finger information Détails - Wikipedia

J'espère que cela vous aidera.

    
réponse donnée Zoke 09.01.2012 - 15:18
la source
28

useradd peut également ajouter des utilisateurs et ne semble pas avoir d'invite intégrée.

useradd -m -p <encryptedPassword> -s /bin/bash <user>
  • -m , --create-home : crée un répertoire personnel
  • -p , --password : spécifiez le mot de passe utilisateur
  • -s , --shell : shell par défaut pour l'utilisateur d'ouverture de session

    Blank utilisera le shell de connexion par défaut spécifié par la variable SHELL dans /etc/default/useradd

  • Remplacez <user> par le nom de connexion
  • Remplacez <encryptedPassword> par le mot de passe crypté

Générer un mot de passe haché:

Il ya beaucoup d’implémentations crypt3 pouvant générer un hachage mot de passe. Le tout est votre mot de passe haché.

Basé sur Sha-512

Le format de sortie résultant: le mécanisme de hachage ( pour sha-512), le sel aléatoire (les huit octets après le second signe dollar $ASDF1234 ), le reste étant la charge utile.

  • mkpasswd mkpasswd -m sha-512

    ( mkpasswd est fourni par le package whois )

DES basé:

Le format de sortie résultant: les 2 premiers octets sont votre sel, le reste est la charge utile. Le tout est votre mot de passe haché.

  • mkpasswd: mkpasswd (fourni par le package whois )
  • openssl: openssl passwd -crypt
  • perl: perl -e "print crypt('password', 'sa');"

    /!\ Choisissez votre propre sel aléatoire à deux octets au lieu de 'sa'

  • python: python -c 'import crypt; print crypt.crypt("password", "Fx")'

    /!\ Choisissez votre propre sel aléatoire à deux octets au lieu de "Fx"

réponse donnée ThorSummoner 31.08.2015 - 20:48
la source

Lire d'autres questions sur les étiquettes