Ejecutar adduser de forma no interactiva

158

Me gustaría utilizar el comando adduser para agregar un usuario (con contraseña deshabilitada) a través de un script de shell.

De manera predeterminada, adduser le solicita varios valores (por ejemplo, Nombre completo). ¿Hay alguna forma de enviar estos valores a través de la línea de comando? ¿O necesitaré useradd en su lugar?

    
pregunta Lorin Hochstein 09.01.2012 - 14:54

2 respuestas

212

Use la opción --gecos para omitir la parte interactiva chfn .

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

Todo está en la página de manual. No es la formulación más obvia aunque.

--gecos GECOS
          Set  the  gecos field for the new entry generated.  adduser will
          not ask for finger information if this option is given.

El campo GECOS es una lista separada por comas como tal: Full name,Room number,Work phone,Home phone , a pesar de que la página de manual menciona finger information Detalles - Wikipedia

Espero que esto te ayude.

    
respondido por el Zoke 09.01.2012 - 15:18
28

useradd también puede agregar usuarios y no parece tener ningún formato de indicaciones integradas.

useradd -m -p <encryptedPassword> -s /bin/bash <user>
  • -m , --create-home : crear directorio de inicio de usuario
  • -p , --password : especificar la contraseña del usuario; omita tenerlo deshabilitado
  • -s , --shell : shell predeterminado para el usuario de inicio de sesión

    Blanco utilizará el shell de inicio de sesión predeterminado especificado por la variable SHELL en /etc/default/useradd

  • Sustituir <user> con el nombre de inicio de sesión
  • Sustituye <encryptedPassword> con la contraseña cifrada

Generando una contraseña hash:

Hay muchas implementaciones de crypt3 que pueden generar un hash contraseña. Todo es tu contraseña hash.

Basado en Sha-512

El formato de salida resultante: el mecanismo hash ( para sha-512), la sal aleatoria (los ocho bytes después del segundo signo de dólar $ASDF1234 ), el resto es la carga útil.

  • mkpasswd mkpasswd -m sha-512

    ( mkpasswd es proporcionado por el paquete whois )

Basado en DES:

El formato de salida resultante: los primeros 2 bytes son su sal, el resto es la carga útil. Todo es tu contraseña hash.

  • mkpasswd: mkpasswd (proporcionado por whois paquete)
  • openssl: openssl passwd -crypt
  • perl: perl -e "print crypt('password', 'sa');"

    /!\ Elija su propia sal aleatoria de dos bytes en lugar de 'sa'

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

    /!\ Elija su propia sal aleatoria de dos bytes en lugar de "Fx"

respondido por el ThorSummoner 31.08.2015 - 20:48

Lea otras preguntas en las etiquetas