veremos como crear usuarios en Linux desde la línea de comando (CLI). Para hacerlo, utilizaremos las siguientes herramientas:
useradd
Es un binario del sistema. Todos los parámetros de la cuenta del usuario hay que pasarlos con opciones desde la línea de comando (CLI). Los valores por defecto que tomará useradd, se configuran en el archivo /etc/default/useradd.
adduser
Es un script en Perl que utiliza el binario useradd entre otros. Crea un nuevo usuario con opciones por defecto, como pueden ser la ubicación de su directorio de inicio (home), caducidad de la cuenta de usuario, la shell que utilizará o los grupos a los que pertenecerá. Los valores por defecto que tomará adduser se configuran en el archivo /etc/adduser.conf.
Crear usuarios con useradd
La particularidad que tiene este comando es que tendremos que pasar como parámetros en la línea de comandos (CLI), todas las opciones de la cuenta, como són: nombre completo del usuario, contraseña, si queremos que tenga directorio de inicio, grupos a los que pertenece, shell que utilizará, etc.
Las opciones más utilizadas son:
-c ‘COMENTARIO’: Permite añadir un comentario al usuario, como puede ser su nombre real.
-d HOME_DIR: Esta opción nos permite cambiar el directorio por defecto del usuario, que suele ser /home/.
-e FECHA: Permite seleccionar la fecha en la que se deshabilitará la cuenta. Debe introducirse siguiendo el formato AAAA-MM-DD.
-f DÍAS: Nos permite seleccionar el número de días a partir de la fecha de expiración de la contraseña para deshabilitar la cuenta. Con un valor de -1, no se deshabilitará.
-g GRUPO: Permite añadir al usuario a un grupo. El grupo debe existir con anterioridad para poder añadirlo. Podemos introducir el grupo por su nombre o por su identificador de grupo (GID).
-G GRUPO1[,GRUPO2,…[,GRUPOn]]]: Similar a la opción anterior, pero permite introducir varios grupos separados por comas. Los grupos deben existir con anterioridad para poder añadirlo.
-m: Crea el directorio personal (home) del usuario si no existe.
-M: No crea el directorio de inicio (home) del usuario.
-n: No crea un grupo privado para el usuario.
-r: La cuenta se convierte en cuenta del sistema, con identificador de usuario (UID) menor a 500 y sin directorio personal.
-p CONTRASEÑA: Establece una contraseña de usuario. Hay que tener en cuenta que al pasar la contraseña como opción, esta irá en claro. La contraseña se puede crear posteriormente con el comando passwd .
-s SHELL: Permite modificar la shell de inicio de sesión del usuario, con useradd por defecto es /bin/sh y con adduser por defecto es /bin/bash.
-u UID: Permite especificar el identificador de usuario (UID), que deberá ser mayor a 499 y único.
-k SKEL_DIR: The skeleton directory (El directorio esqueleto) contiene archivos y directorios que se copiarán en el directorio de inicio del usuario cuando useradd crea el directorio de inicio. Esta opción solo es válida cuando se especifica la opción -m. Si la opción -k no está configurada, el directorio esqueleto está definido por la variable SKEL en el archivo /etc/default/useradd. Por defecto el directorio esqueleto se guarda en /etc/skel.
Crear usuarios con adduser
adduser añade usuarios al sistema de acuerdo a las opciones de la línea de órdenes y a la configuración en /etc/adduser.conf. Ofrece una interfaz más sencilla para programas de bajo nivel como useradd.
A continuación listamos las opciones más utilizadas:
– -disabled-login : No ejecuta el comando passwd para establecer la contraseña. El usuario no podrá usar la cuenta hasta que se establezca una contraseña.
– -disabled-password : Como – -disabled-login, pero todavía es posible usar la cuenta, por ejemplo mediante claves SSH RSA, pero no usando autenticación con contraseña.
– -gid ID : Cuando se crea un grupo, esta opción fuerza el nuevo identificador de grupo (GID) al número dado con ID. Cuando se crea un usuario la opción añade el usuario a ese grupo.
– -group : Cuando se combina con – -system, se crea un grupo con el ID y nombre del usuario del sistema. Si no se combina con – -system, se crea un grupo con el nombre dado.
– -help : Muestra unas instrucciones cortas.
– -home DIRECTORIO : Usa DIRECTORIO para el directorio de inicio, en vez del predeterminado especificado en el fichero de configuración. Si el directorio no existe, se crea y se copian los directorios y archivos contenidos en el skeleton directory.
– -shell CONSOLA ; Usa CONSOLA como la shell del usuario en vez de la predeterminada especificada en el fichero de configuración. Si no se especifica los contrario, por defecto, adduser asigna la shell /bin/bash.
– -ingroup GRUPO : Añade el nuevo usuario al GRUPO en vez de al grupo del usuario o al grupo predeterminado definido por USERS_GID en el fichero de configuración. Afecta al grupo principal de usuarios. Para añadir grupos adicionales, usaremos la opción add_extra_groups.
– -no-create-home : No crea el directorio de inicio, incluso si no existe.
– -system : Crea un usuario del sistema o grupo.
– -uid ID : Fuerza el nuevo identificador de usuario (UID) al número dado por ID. adduser fallará si el UID ya está en uso.
– -add_extra_groups : Añade un nuevo usuario a los grupos adicionales definidos en el fichero de configuración.
Para ver todas las opciones, puedes usar el comando de ayuda man adduser.