Hay varios comandos y formas manuales para crear usuarios y gestionar sus opciones, en esta entrada explicamos cada una de ellas y ponemos ejemplos en cada situación.
Si además te interesa gestionar grupos puedes visitar: Gestionar Grupos a los que pertenecen directorios y archivos
Veremos las siguientes cosas:
- Crear Usuarios de forma interactiva
- Crear Usuarios de forma personalizada
- Crear Usuarios de forma manual
- Modificar preferencias de usuarios
- Eliminar usuarios
- Cambiar usuario al que pertenece un archivo o directorio
- Ver grupos a los que pertenece un usuario
- Cambiar shell por defecto a un usuario
Gestión de usuarios en Linux por Comandos
Conceptos Generales
Dato | Descripción |
---|---|
ID | Es el identificador de usuario, es un dato único |
GID | Es el identificador del grupo al que pertenece el usuario por defecto |
Texto descriptivo de usuario | En algunos sistemas este campo se utiliza para incluir el nombre completo del usuario y sus datos personales |
Crear Usuarios
Hay distintas formas de crear usuarios ya sea con más detalles personalizando cada parámetro sobre las opciones de dicho usuario como por ejemplo la shell que usará, el directorio que usará para trabajar…
Veremos a continuación 3 formas de crear un usuario:
- Crear usuario de forma interactiva
- Crear usuario personalizando opciones
- Crear usuario de forma totalmente manual editando archivos de texto
Crear usuarios mediante el comando interactivo adduser
Esta se podría decir que es la forma más sencilla de crear un usuario, para mi no es la mejor opción pero cumple perfectamente su objetivo y se puede usar perfectamente sin ningún tipo de problema.
El comando “adduser” permite crear cuentas de usuarios en un modo más automático, también se puede utilizar para añadir un usuario existente a un grupo existente.
Crear el usuario laguialinux preguntando paso a paso cada dato y mostrando resultado:
sudo adduser laguialinux
Crear el usuario laguialinux y lo añade al grupo “informaticos”
sudo adduser laguialinux informaticos
En el caso de añadir un usuario a un grupo, este debe existir previamente.
Crear usuarios con el comando personalizado useradd
El comando “useradd” permite crear usuarios definiendo directorio home, grupos y otras opciones. Un ejemplo del comando useradd sería:
useradd -d /home/usuario2 -m -g usuarios -s /bin/bash usuario2
Modificador | Función |
---|---|
-c | Descripción del usuario |
-d | Directorio home (no lo crea, debe existir) |
-e | Fecha de caducidad de la cuenta |
-g | Grupo por defecto (no lo crea, debe existir) |
-G | Otros grupos a los que pertenecerá a parte del principal |
-s | Shell que usará (/bin/bash) |
-u | Identificador del usuario (ID) |
-m | Crea el directorio home asignado con la opción -d |
Crear un nuevo usuario perteneciente al grupo “admin”.
useradd -c “Name Surname ” -g admin -d /home/user1 -s /bin/bash user1
Para crear un usuario con un grupo primario distinto a su nombre, además que cree la carpeta de usuario y decirle cual es la carpeta de usuario, también que utilice el interprete de comandos /bin/bash. Sustituir el texto entre comillas por el que necesitéis:
useradd -g “grupo_primario” -d “directorio_personal” -m -s /bin/bash
Crear usuarios manualmente editando ficheros
Para crear un usuario de forma manual los pasos serían básicamente los 3 siguientes:
- Editar nueva entrada en /etc/passwd
- Crear el directorio de usuario “mkdir /home/newUser”
- Crear contraseña para el usuario creado en /etc/shadow
Este es un proceso delicado, el cual no se recomienda hacer en entornos reales y sobre todo de producción, pero puede ser de gran utilidad para aprender y entender como funcionan los usuarios de forma interna en linux. Realmente los usuarios son unos objetos descritos en unos archivos, enlazados y asociados de tal manera que el sistema puede asociarlos con la propiedad de datos y directorio de trabajo independiente entre otras características.
Modificar Usuarios
Para modificar usuario usamos el comando “usermod” el cual tiene las mismas opciones que la de creación de usuario.
sudo usermod [opciones] usuario
Solo puede utilizarse por el superusuario.
Un ejemplo para cambiar atributos de un usuario llamado usuario:
sudo usermod -c “User FTP” -g system -d /ftp/user1 -s /bin/nologin usuario
Agregar el usuario user1 a otros grupos existentes, para incrementar sus permisos (en este caso, agregar la posibilidad de conectar dispositivos, configurar y utilizar el modem) se haría como en el siguiente ejemplo:
sudo usermod -aG plugdev,dialout,pip user1
Eliminar Usuarios
El comando “userdel” es el que se utiliza para eliminar usuarios.
Al borrar el usuario podemos borrar también el directorio home que le pertenece indicándolo con el parámetro para ello “-r” de la siguiente forma:
userdel -r usuario
Borrar un usuario llamado user1, pero no sus archivos ni su directorio home
sudo userdel user1
Borrar un usuario (‘-r’ elimina el directorio Home).
sudo userdel -r user1
Cambiar Propietario de un archivo o directorio
El comando “chown” permite cambiar al propietario y además el grupo de una misma vez
Asignar propietario:
sudo chown usuario documento.txt
Asignar propietario y además grupo:
sudo chown usuario:oficina
Mostrar Grupos de un usuario
El comando “groups” muestra los grupos a los que pertenece un usuario
groups
Si queremos ver los grupos a los que pertenece otro usuario distinto al nuestro lo indicamos después del comando de la siguiente manera:
groups usuario2
Cambiar Shell por Defecto
El comando “chsh” permite a un usuario cambiar su propia shell por defecto.
chsh
Al ejecutar el comando anterior nos preguntará de forma interactiva cual es el terminal que deseamos utilizar para el usuario que estamos utilizando actualmente.
Para establecer un intérprete de comandos distintos al que tenemos solo tenemos que escribir la ruta hacia el ejecutable, por ejemplo si actualmente tenemos bash y queremos usar zsh introduciremos cuando nos lo pida la siguiente ruta /bin/zsh.
Otros datos relacionados
Cambiar contraseña de usuario con el comando passwd:
sudo passwd “nombreUsuario”
Colocar un plazo para la contraseña del usuario.
En el siguiente ejemplo la clave expira el 31 de diciembre de 2021.
chage -E 2021-12-31 “nombreUsuario”
Comprobar que está correcta la sintaxis y el formato del fichero ‘/etc/passwd‘ y la existencia de usuarios.
sudo pwck
Comprobar la sintaxis correcta y el formato del fichero ‘/etc/group‘ y la existencia de grupos.
grpck
Registrar un nuevo grupo para cambiar el grupo predeterminado de los ficheros creados recientemente.
newgrp “nombreGrupo”
Puedes ver como gestionar grupos Gestionar Grupos a los que pertenecen directorios y archivos