Comment ajouter un utilisateur Linux sur une seule ligne?

8

Existe-t-il une option pour ajouter un utilisateur sur une seule ligne. il comprend le mot de passe. Ne demande rien.

OS = RHEL 5.5

Albin
la source

Réponses:

19

Vous pouvez utiliser useraddpour tout définir, y compris le mot de passe. Le mot de passe doit déjà être chiffré, mais vous pouvez utiliser opensslpour créer le mot de passe md5 si vous souhaitez simplement spécifier le mot de passe en texte brut:

useradd -u 12345 -g users -d /home/username -s /bin/bash -p $(echo mypasswd | openssl passwd -1 -stdin) username

Vous voudrez peut-être exclure cela de votre historique, si vous utilisez un mot de passe en texte brut dans la commande. Vous pouvez ajouter un espace avant la commande pour l'exclure de l'historique. Si vous exécutez cette commande sur de nombreuses machines, vous souhaiterez peut-être simplement générer le mot de passe une fois et l'utiliser directement dans la commande:

useradd -u 12345 -g users -d /home/username -s /bin/bash -p '$1$NNfXfoym$Eos.OG6sFMGE8U6ImwBqT1' username
Cakemox
la source
1
Je ne pense pas que ce -usoit nécessaire, dans ce cas, à moins que vous ne vouliez choisir spécifiquement un certain UID.
Alex W
4

Vous devriez pouvoir utiliser quelque chose comme ceci:

adduser --uid 3434 --password my_password my_login
WhiteFang34
la source
3

Il semble que useraddva crypter le mot de passe avec crypt. Si vous préférez utiliser une autre méthode (MD5, SHA256, SHA512), vous pouvez créer l'utilisateur avec useraddet définir le mot de passe avec chpasswd, vous pouvez exécuter:

useradd <options> && echo username:password | chpasswd --crypt-method=SHA512

Votre méthode de cryptage de mot de passe par défaut à l'échelle du système est définie dans /etc/login.defs dans la variable ENCRYPT_METHOD. &&cause de chpasswdfonctionner que si la création d'utilisateur avec useradda réussi (code de sortie de 0)

Paweł Brodacki
la source
3

Une arrivée tardive au jeu - RHEL 7.1 - la chose suivante fonctionne. Crée un utilisateur SUDO, ne crypte pas le mot de passe et se connecte immédiatement en tant que nouvel utilisateur:

U=youzerneim; P="pswrd"; adduser $U; echo $P | passwd $U --stdin; usermod -aG wheel $U; su - $U
Lefty G Balogh
la source
1

useradd -u <uid> -G <group> -d / home / <user home dir> -p password -m

-u pour l'UID
-d pour le répertoire personnel
-m pour créer le répertoire personnel comme mentionné dans l'option -d

Eh bien, il existe de nombreuses autres options en fonction de la saveur de Linux.
Vous pouvez toujours faire ... man useradd OU man adduser

Mayank
la source