crear un usuario mediante script

crear un usuario mediante script

Quiero crear un nuevo usuario en un grupo específico cuando emito el siguiente comando.

sudo ./create_user.sh "test" "firstname lastname"

El create_user.shguión se ve a continuación.

#!bin/bash
#sudo adduser --gecos "$2" --ingroup testgroup $1

Sin embargo, el problema es que tengo que evitar la inserción de contraseña (debería ser simplemente una prueba) con un documento aquí, pero no tengo idea de la sintaxis.

Probé algunas soluciones pero ninguna pareció funcionar.

Así es como se ve mi intento del documento aquí en el script

#<< EOF
#test
#test
#EOF

mi salida se ve así

#adding user 'test' ...
#adding new user 'test' <1003> with group 'testgroup' ...
#Enter new UNIX password:

Respuesta1

adduserllama a la passwdutilidad para establecer una contraseña. Como muchos programas que solicitan una contraseña, passwdinsiste en que su salida provenga de una terminal. Por lo tanto, no puede pasar la entrada a través de un documento aquí, lo que crea un archivo temporal o una tubería y passwdno acepta ninguno de los dos.

Puede pasar adduser(al menos la versión Debian) la --disabled-passwordopción si no desea poder iniciar sesión con una contraseña (aún podrá iniciar sesión con otros métodos, como claves SSH, si las configura) . adduserno tiene una opción para pasar el hash de la contraseña (no la contraseña en sí), pero useraddsí la tiene el conjunto de utilidades de contraseña oculta de Linux.

Si desea ingresar una contraseña durante la creación de la cuenta, asegúrese de que passwdse lea desde el terminal. Si obtiene la contraseña de alguna otra fuente (por ejemplo, un formulario web), llame passwddesde unesperarguion - ejemplo.

Si se trata de un ejercicio de uso de un documento aquí, la contraseña no es el lugar donde debe usarla. No veo ningún problema que un documento aquí pueda resolver en lo que has publicado.

información relacionada