Cuestiones importantes sobre usuarios y grupos Linux
Obtener información de Usuarios y Grupos.
Obtener nombre del grupo principal de un usuario
Usuarios y Grupos - Comandos importantes
Usuarios - Crear Usuarios (useradd)
Cómo cambiar contraseñas de usuario
Usuarios - Modificar Usuarios (usermod)
Modificar el directorio de trabajo
Modificar/Cambiar el grupo suplementario
Añadir uno o varios grupos suplementarios
Quitar usuario de un grupo con deluser
Modificar la fecha de expiración de una cuenta de usuario
Bloquear una cuenta de usuario
Desbloquear una cuenta de usuario
Usuarios - Borrar usuarios (userdel)
Grupos - Crear grupos de usuarios (groupadd)
Grupos - Eliminar grupos (groupdel)
Grupos / Usuarios - Administrar grupos (gpasswd)
Otros comandos para trabajar con Usuarios y grupos Linux
id user
useradd user
groupadd group
groups user
cut -d: -f1,4 /etc/group | grep grupo_name:
La organización de usuarios de Linux en grupos de usuarios, permite otorgar di-
ferentes permisos a cada grupo, y de esta forma gestionar “en bloque” qué gru-
pos tienen permiso y para qué.
En Linux los usuarios pertenecen a un grupo primario y un grupo secundario. Po-
demos modificar los grupos a los que pertenece un usuario si es necesario. De
hecho en algunas ocasiones, por cuestión de permisos (para modificar o acceder
a ficheros/directorios) será necesario añadir un usuario a un grupo, o añadir
a un usuario como miembro de un grupo secundario.
Es importante conocer los términos:
.- UID (User ID o Identificador de Usuario)
.- GID (Group ID o Identificador de grupo).
El usuario root siempre tiene asignado el UID 0.
Los UID del 0 al 99 se reservan para usos administrativos.
Los archivo que almacenan información sobre usuarios y grupos son:
De estos archivos con los comando cat, cut y grep puede obtenerse información
sobre usuarios y grupos. Ver el apartado Obtener información de Usuarios y
Grupos.
Archivo ascii donde cada línea guarda la información de un usuario definido
en el sistema.
Sintaxis:
name:password:UID:GID:GECOS:directory:shell
Definición de los campos:
Campo Descripción
name Nombre del usuario con el cual entra al sistema.
password Campo obsoleto, se deja por compatibilidad con versiones
anteriores.
UID Id del usuario.
GID Número del grupo primario asociado al usuario
GECOS Comentario breve del usuario
directory Directorio de trabajo del usuario
Shell Shell definida para el usuario
Archivo ascii donde cada línea guarda la información de un grupo definido en
el sistema.
Sintaxis
group_name:password:GID:lista-usuarios
Campo Descripción
group_name Nombre del grupo
password Usado para poner la contraseña del grupo
GID Número de grupo
Lista-usuarios Lista de usuarios que tiene a este grupo como grupo
secundario.
Partiendo de la información contenida en los archivos /etc/passwd, /etc/shadow
y /etc/group se puede obtener información concreta de usuarios y grupos.
id user
Listar exclusivamente el nombre de los usuarios
cut -d: -f1 /etc/passwd
Listar el nombre de los usuarios y el GUI del grupo principal del usuario
cut -d: -f1,3 /etc/passwd
También podremos hacerlo mostrando el contenido con los comandos:
cat /etc/passwd
more /etc/passwd
less /etc/passwd
awk -F':' '{ print $1}' /etc/passwd
getent passwd
compgen -u
Podemos mejorar el resultado mostrado por pantalla, seleccionando solamente
los campos deseados (en este caso el campo username o nombre de usuario),
usando también una tubería (grep) y el comando cut, así:
cut -d: -f1 /etc/passwd
Al visualizar el contenido completo del archivo /etc/passwd, veremos varios
datos que debemos conocer:
El nombre de la cuenta
El UID de la cuenta de usuario.
El GID del grupo principal del usuario.
El directorio de trabajo del usuario
El interprete de comando del usuario
cut -d: -f1,3,4,6,7 /etc/passwd
Ver la estructura de /ect/passwd para indicar los campos deseados.
En el resultado de los comandos anteriorese e puede apreciar que muchos usua-
rios tienen al final:
/usr/sbin/nologin
Esto significa que estos usuarios que tienen configurada esta ruta como shell,
realmente no pueden iniciar sesión; recibirán un mensaje avisando de ello:
This account is currently not available
Esto suele ser porque son usuarios del sistema, para varios procesos Linux o
software del sistema.
Listar exclusivamente el nombre de los grupos
cut -d: -f1 /etc/group
Listar el nombre de los grupos y su GUI
cut -d: -f1,3 /etc/group
Listar el nombre de los grupos y la lista de usuarios que tiene a
este grupo como grupo secundario.
cut -d: -f1,4 /etc/group
Listar el nombre de los grupos secundario de un usuario.
Si hubiera un grupo con el nombre del usuario dado también aparecerá esta
línea.
cut -d: -f1,4 /etc/group | grep -i juanp
cut -d: -f1,4 /etc/group | grep grupo_name:
groups juanp
id -Gn juanp
id -gn juanp
useradd : Añadir un usuario
usermod : Modificar un usuario
userdel : Eliminar un usuario
groupadd : Añadir un grupo.
groupmod : Modificar un grupo.
groupdel : Eliminar un grupo.
gpasswd : Administrar grupos.
Al crear un usuario en Linux, este recibe un UID (Identificador de Usuario
Unico)
Al crear un usuario, a su vez se crea un grupo para ese usuario y un GID pa-
ra ese grupo del nuevo usuario.
Comando para crear usuarios:
useradd user
id user
cut -d: -f1,3,4,6,7 /etc/passwd | grep user
El primer comando lo crea, el segundo y tercero muestran la información so-
bre el usuario creado.
USERNEW=user && useradd $USERNEW && id $USERNEW && cut -d: -f1,3,4,6,7 /etc/passwd | grep $USERNEW
Todo junto, a la variable de ambiente USERNEW hay que asignarle el nombre
del usuario que se va a crear.
Tras crea el usuario:
.- Ver información del usuario:
id user
.- Asignar contraseña:
passwd user
.- Asignar / modificar grupo principal y secundarios:
Por defecto al crear un usuario se crear un grupo con el mismo nombre
que se asigna como grupo principal al usuario.
Para modificar/asignar el grupo principal
useradd -g grupo_princial
Para añadir un grupo secundario:
useradd -aG grupo_secundario
Para sustituir el/los grupo(s) secundario(s) por uno nuevo:
useradd -G new_grupo_secundario
Podemos cambiar la contraseña de un usuario con el comando passwd y el nom-
bre de usuario.
passwd test
usermod -d /var/www test
El nuevo directorio de trabajo del usuario test será /var/www
usermod -l test nuevotest
Ahora el usuario test se llamará nuevotest
usermod -g apache test
Ahora el grupo primario del usuario test será el grupo apache
Modifica el grupo suplementario de un usuario existente, sustituye el grupo
anterior:
usermod -G nuevogrupo test
Añadir un grupo suplementario de un usuario existente, añade el grupo sin
sustituir el primario en el que ya está el usuario:
usermod -a -G nuevogrupo test
usermod -aG nuevogrupo test
usermod -aG nuevogrupo, nuevogrupo2, nuevogrupo3 test
Si queremos sacar de un grupo a un usuario, usaremos el comando deluser así:
deluser usuario grupo
usermod -e 2021-03-15 test
Ahora la cuenta de usuario expirará el 15 de marzo de 2021
usermod -L test
usermod -U test
Asigna varios usuarios al grupo, elimina los que hubiera anteriormente
gpasswd -M user1,user2 grupo
Añade varios usuarios al grupo
for u in {user1, user2, ...} ; do gpasswd -a "$u" grupo ; done
Muestra los usuarios del grupo
cut -d: -f1,3,4 /etc/group | grep grupo:
Añade un usuario al grupo
gpasswd -a user grupo
Elimina un usuario del grupo
gpasswd -d user1 grupo
id es un comando de linux que permite conocer los datos de un usuario:
Identificador de usuario (UID)
Identificador de grupo (GID)
Nombre del grupo o grupos a los que pertenece el usuario
Para ver los datos relativos a un usuario, ejecutamos:
id nombreusuario
Para ver los datos del usuario actual
id
whoami es un comando de linux que muestra el nombre de usuario que estamos
utilizando.
whoami
link=https://www.lpi.org/our-certifications/lpic-1-overview
link=https://www.linuxtotal.com.mx/index.php?cont=info_admon_008