Question Exécutez adduser de manière non interactive


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

Par défaut, adduser vous invite à entrer différentes valeurs (par exemple, Nom complet). Est-il possible de soumettre ces valeurs via la ligne de commande? Ou devrais-je useradd au lieu?


158
2018-01-09 13:54


origine


Jetez un oeil à la page de manuel pour adduser. Cela vous aidera. - Zoke
@Zoke Je n'ai pas pu trouver l'information que je cherchais sur la page de manuel. - Lorin Hochstein


Réponses:


Utilisez le --gecos option pour sauter le chfn partie interactive

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.


213
2018-01-09 14:18



Oui, je peux voir comment j'ai raté ça. "gecos" n'est pas une description évidente - Lorin Hochstein
+1 --gecos est très déroutant. - Trevor Sullivan


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éer le répertoire personnel de l'utilisateur
  • -p, --password: Spécifiez le mot de passe utilisateur; sauter pour l'avoir désactivé
  • -s, --shell: Shell par défaut pour l'utilisateur de connexion

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

  • Remplacer <user> avec le nom de connexion
  • Remplacer <encryptedPassword> avec le crypté mot de passe

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

Il y a beaucoup des implémentations crypt3 pouvant générer un mot de passe haché. Le tout est votre mot de passe haché.

Sha-512 Basé

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 whois paquet)

DES basé:

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

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

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

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

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


28
2017-08-31 18:48



Les options que vous mentionnez n'existent pas pour adduser sur ma version (récente) d'Ubuntu. - ᴠɪɴᴄᴇɴᴛ
@ ᴠɪɴᴄᴇɴᴛ adduser est distinct de useradd, confus je sais. - ThorSummoner
Oups, en effet, vous avez manqué son nom presque identique… n’y at-il pas de BDFL protégeant l’espace de noms de la ligne de commande? p - ᴠɪɴᴄᴇɴᴛ
@ mum007 Ce ne sont que des conseils généraux, essayez d'ajouter -v ou -vv ou -vvv à vos commandes ssh pour voir ce qui ne va pas et rechercher vos messages d'erreur ici sur SO ou Google. - ThorSummoner
@KovacsAkos essayez ceci: sudo sed -i"" -e "s/PasswordAuthentication no/PasswordAuthentication yes/" /etc/ssh/sshd_config et sudo service ssh restart - JSBach