• Agregar un User a Linux Con Password Por Command Line

    Un requerimiento que tuve era agregar usuarios a un linux mediante un shell script. La verdad es que dije “listo”, piece of cake, pero al final estuve todo un dia investigando como poder hacerlo hasta que di con la solucion. Aca el problema y su final.

    Para agregar un usuario al linux simplemente usamos

    $ useradd rodrigo

    Esto agrega un usuario rodrigo al sistema pero sin password asignada, o sea, el usuario no esta habilitado aun para loguearse. Debemos a continuacion hacer esto.

    $ passwd rodrigo
    Enter new UNIX password:

    OK, no pude de ninguna manera simular el input del usuario en un script (no porque no se pueda, solo no encontre como) entonces empece a leer y encontre que useradd puede obtener un parametro -p <ENCRYPTED PASS>. OK ahora lo ultimo era como carajo encryptar una password. Bueno, leyendo otro poco mas hizo que me baje un programa para hacerlo y termine con el siguente script.

    $ apt-get install makepasswd

    Este es el encryptador y debajo el script final

    #This script will be used to add users to the system
    # usage ./myadduser.sh USERNAME PASSWORD
    useradd -m $1
    echo $2 >> passfile
    ph=$(makepasswd --clearfrom=passfile --crypt | awk '{print $2}')
    usermod -p $ph $1
    rm passfile

     

    Para usar este script solo tenemos que hacer lo siguiente:

    $ ./myadduser.sh rodrigo mipasswd

Leave a comment