Crear un usuario en Linux

En esta pequeña guía mostramos como crear un usuario en linux:

En linux hay un usuario predefinido, tiene UID (ID de usuario) numero “0” y es el usuario “root” o “raiz” (aunque se ha traducido siempre se llama root, hay gente que se refiere a el de esta manera), este usuario es el “superusuario” del sistema. Con el se tiene acceso prácticamente a todo. A la hora de ejecutar aplicaciones algunas nos pedirán permisos de    “root”. Para veríficar si somo usuario “root” debemos fijarnos en una cosa (en la consola), el promp. Un usuario normal se muestra con “$”, sin embargo root, muestra “#”.

Ejemplo de root:

root@localhost:~#

 

Ejemplo de usuario

user@localhost:~$

 

Desde este usuario vamos a poder realizar modificaciones en cualquier directorio aunque no tengamos permisos, cambiar la password de cualquier usuario, crear usuarios, eliminar usuarios o modificarlos, etc.

Todos los usuarios tiene un directorio “home”, este directorio tiene permisos para que el usuario actual lea, escriba y ejecute. Es el directorio donde se crearán todos los ficheros de configuración del usuario y donde el usuario guardará sus ficheros. En un entorno grafico, tambien se alojan directorios como “imagenes”, “escritorio”, etc. Se puede saber de muchas formas cual es el directorio home del usuario actual, dos de ellas son ejecutar: “echo $HOME” o “echo ~”, que como se puede ver en las imágenes nos muestra cual es el directorio:

Crear un usuario en linux

Para dirigirnos a este directorio con nuestro usuario solo debemos ejecutar “cd ~” o “cd $HOME”.

Si queremos acceder a un directorio home de otro usuario por defecto no podremos a no ser que seamos root ya que mediante permisos suele estar limitado.

 

Para crear un usuario se utiliza el comando “useradd”, este tiene que ejecutarse desde el usuario root.

Por lo que para crear un usuario llamado “juanito” tendríamos que ejecutar:

“useradd -m -s /bin/bash juanito”, se puede ampliar con las siguientes opciones:

 

root@portatil:~# useradd --help
Modo de uso: useradd [opciones] USUARIO
             useradd -D
             useradd -D [opciones]

Opciones:
  -b, --base-dir DIR_BASE       directorio base para el directorio personal
                                de la nueva cuenta
  -c, --comment COMENTARIO      campo GECOS de la nueva cuenta
  -d, --home-dir DIR_PERSONAL   directorio personal de la nueva cuenta
  -D, --defaults                imprime o cambia la configuración
                                predeterminada de useradd
  -e, --expiredate FECHA_CADUCIDAD  fecha de caducidad de la nueva cuenta
  -f, --inactive INACTIVO       periodo de inactividad de la contraseña
                                de la nueva cuenta
  -g, --gid GRUPO               nombre o identificador del grupo primario de
                                la nueva cuenta
  -G, --groups GRUPOS           lista de grupos suplementarios de la nueva
                                cuenta
  -h, --help                    muestra este mensaje de ayuda y termina
  -k, --skel DIR_SKEL           utiliza este directorio «skeleton» alternativo
  -K, --key CLAVE=VALOR         sobrescribe los valores predeterminados de
                                «/etc/login.defs»
  -l, --no-log-init             no añade el usuario a las bases de datos de
                                lastlog y faillog
  -m, --create-home             crea el directorio personal del usuario
  -M, --no-create-home          no crea el directorio personal del usuario
  -N, --no-user-group           no crea un grupo con el mismo nombre que el
                                usuario
  -o, --non-unique              permite crear usuarios con identificadores
                                (UID) duplicados (no únicos)
  -p, --password CONTRASEÑA     contraseña cifrada de la nueva cuenta
  -r, --system                  crea una cuenta del sistema
  -R, --root CHROOT_DIR         directorio en el que hacer chroot
  -s, --shell CONSOLA           consola de acceso de la nueva cuenta
  -u, --uid UID                 identificador del usuario de la nueva cuenta
  -U, --user-group              crea un grupo con el mismo nombre que el
                                usuario
  -Z, --selinux-user USUARIO_SE  utiliza el usuario indicado para el usuario
                                 de SELinux
      --extrausers              Use the extra users database

 

Un aspecto interesante de las opciones anteriores es la opción -s path_de_la_shell (por ejemplo -s /bin/bash), esta opción cambia la shell utilizada por el usuario. Otra opción interesante es -d /path_del_usuario esta opción definirá la shell del usuario, por defecto será /home/NOMBRE_DE_USUARIO. Por ultimo, una opción importante es “-o” que usada junto con “-u 0” hace que el nuevo usuario sea equivalente a un alias de root pero con su propia password. Otra opción interesante es la opción “ –expiredate FECHA_CADUCIDAD”, ya que con esta opción se pueden crear usuarios temporales.

Una vez creado el usuario debemos configurar su password, esto se puede hacer con el usuario root con el comando “passwd USUARIO” donde “USUARIO” debe ser sustituido por el usuario a modificar. Si no se especifica usuario se cambiará la password del usuario actual (hasta root). Es decir, en el caso de ejecutarse sin usuario como parámetro y no ser un usuario root, se ejecutará el cambio sin problema en el usuario actual.

 

Si queremos modificar podemos utilizar el comando usermod con los mismos parametros que usariamos en useradd. Por ejemplo si queremos cambiar el directorio de un usuario llamado foo por /usr/local/share/foo solamente deberíamos ejecutar: usermod -m /usr/local/share/foo foo  y el usuario quedaría cambiado y tendrían una ruta nueva.

Y por ultimo si queremos eliminar el usuario: Este caso es muy sencillo, solamente debemos ejecutar sudo userdel -r USUARIO donde  “USUARIO” es el nombre del usuario a eliminar. Con esta sentencia se elimina el usuario en cuestión y su directorio home.

Deja una respuesta