Usuarios y grupos en linux


Estudiaremos los usuarios y grupos en linux, veremos algunos ejemplos guiados en la documentación

oscar Escrito por oscar 16 May 2023 725 0

Usuarios y grupos en linux

Tipos de usuario

Usuario root

  • El usuario root tiene la posibilidad de realizar todo tipo de acciones respecto a la administración del sistema.
  • El uso de root solo se debe usar en casos específicos, ya que puede causar inconvenientes en la seguridad del sistema.

Otros usuarios

  • Los otros usuarios no son administradores.
  • Utilizan las herramientas del sistema con normalidad, pero no pueden ejecutar labores administrativas.

Grupos en Linux

  • Son usados para otorgar permisos sobre archivos y directorios.
  • Principalmente se usan para gestionar permisos sobre los usuarios que pertenecen al grupo.

 

Comandos de usuarios

Comando Descripción Sintaxis Ejemplo
adduser, useradd Permite crear nuevos usuarios, consulte mas información en adduser adduser [opciones] nombre_usuario

Crea un usuario

adduser developer

Crear un usuario qa con directorio personalizado

adduser --home /home/qa qa

Crear un usuario con una shell personalizada

adduser --shell /bin/bash usuario
usermod, chfn, chsh Usados para la modificación de usuarios. Mas información en usermod usermod [options] LOGIN
sudo usermod -l nuevonombredeusuario viejonombredeusuario
deluser, userdel Eliminar un usuario y todos sus archivos relacionados    
passwd Cambiar la contraseña  
sudo passwd nombredeusuario
whoami Saber que usuario somos  
whoami
id

Para mostrar información sobre la identidad del usuario actual o, si se proporciona un nombre de usuario como argumento, mostrar información sobre un usuario específico.

uid=1000(usuario) gid=1000(usuario) grupos=1000(usuario),4(adm),24(cdrom),27(sudo),30(dip),46(plugdev),116(lpadmin),126(sambashare)

donde

  • El UID del usuario actual es 1000.
  • El GID primario del usuario actual es 1000.
  • El usuario pertenece a varios grupos secundarios, enumerados después de "grupos=".
 
id

Resultado

uid=1000(vagrant) gid=1000(vagrant) groups=1000(vagrant)

su Cambiar de usuario    
who

Sirve para mostrar información sobre los usuarios que están actualmente conectados al sistema. Proporciona detalles sobre quién está usando el sistema en ese momento, incluyendo sus nombres de usuario, terminales en uso y la hora en que iniciaron sesión.

Resultado

nombre_de_usuario1 tty1 2023-09-05 10:00

nombre_de_usuario2 pts/0 2023-09-05 09:30 (:0)

nombre_de_usuario3 pts/1 2023-09-05 09:45 (:0)

Donde:

  • nombre_de_usuario1, nombre_de_usuario2, etc., son los nombres de usuario de las personas que están conectadas.
  • tty1 y pts/0, pts/1, etc., son las terminales o sesiones en las que están trabajando los usuarios. Las terminales virtuales suelen estar etiquetadas como pts/X, mientras que las terminales físicas están etiquetadas como ttyX.
  • La fecha y la hora indican cuándo se inició la sesión.
who
who

Resultado

vagrant  pts/0        2023-09-05 15:13 (10.0.2.2)

write Permitir la comunicación interactiva entre usuarios que están conectados a la misma máquina a través de una terminal o una sesión de línea de comandos. write usuario [terminal]
write juan
/etc/passwd

Es un archivo de configuración fundamental en sistemas Unix y Linux que almacena información sobre las cuentas de usuario en el sistema. Cada línea en este archivo representa a un usuario y contiene información de cada usuario.

Formato de la linea

nombre_de_usuario:contraseña:UID:GID:nombre_completo:directorio_de_inicio:shell

  • nombre_de_usuario: Es el nombre de usuario utilizado para iniciar sesión en el sistema.
  • contraseña: Históricamente, aquí se almacenaba la contraseña cifrada del usuario. Sin embargo, en sistemas modernos, generalmente se almacena una "x" en este campo, y la información de contraseña se guarda en el archivo /etc/shadow por razones de seguridad.
  • UID: El identificador de usuario único, un número entero que identifica de manera única al usuario en el sistema.
  • GID: El identificador de grupo al que pertenece el usuario.
  • nombre_completo: Es el nombre completo o el comentario del usuario, que puede incluir información adicional sobre la cuenta.
  • directorio_de_inicio: La ubicación del directorio de inicio del usuario.
  • shell: La shell (intérprete de comandos) predeterminada que se utiliza para el usuario cuando inicia sesión.
 

Listar los usuarios

sudo cat /etc/passwd

 

 

Comandos de grupos

Comando Descripción Sintaxis Ejemplo
addgroup, groupadd Se utiliza para agregar un nuevo grupo de usuarios al sistema.
addgroup nombre_del_grupo
addgroup developer

Respuesta

Adding group `developer' (GID 1002) ...
Done.

groupmod Se utiliza para modificar las propiedades de un grupo existente en el sistema. Permite realizar cambios en la información del grupo, como su nombre, su identificador de grupo (GID) o incluso la lista de usuarios que son miembros del grupo.

Cambiar el nombre de un grupo:

sudo groupmod -n nuevo_nombre viejo_nombre

Cambiar el GID de un grupo:

sudo groupmod -g nuevo_GID nombre_del_grupo

Para agregar un usuario a un grupo:

sudo groupmod -A nombre_de_usuario nombre_del_grupo

Para eliminar un usuario de un grupo:

sudo groupmod -R nombre_de_usuario nombre_del_grupo

Cambiar la contraseña del grupo:

sudo groupmod -p nueva_contraseña nombre_del_grupo
sudo groupmod -n developer-java developer

Respuesta

developer-java:x:1002:

groupdel, delgroup Se utiliza para para eliminar un grupo de usuarios del sistema. Al eliminar un grupo con groupdel, también se eliminan todas las asociaciones de usuarios con ese grupo.
sudo groupdel nombre_del_grupo
sudo groupdel developer-java

 

gpasswd Se usa para gestionar la información de grupos, especialmente para administrar la contraseña de un grupo.

Cambiar la contraseña de un grupo

gpasswd nombre_del_grupo

Añadir usuarios de un grupo

gpasswd -a nombre_de_usuario nombre_del_grupo

Eliminar usuarios de un grupo

gpasswd -d nombre_de_usuario nombre_del_grupo

Verificar la membresía de un usuario en un grupo

gpasswd -M nombre_de_usuario nombre_del_grupo

Cambiar el administrador de un grupo

gpasswd -A nuevo_administrador nombre_del_grupo
 
groups Obtener información de grupos  
groups

 

getent group

Se usa para consultar y mostrar información sobre grupos de usuarios almacenada en diferentes fuentes, como archivos locales, bases de datos LDAP u otros sistemas de autenticación.

Salida del archivo

nombre_del_grupo:x:GID:miembro1,miembro2,miembro3,...

Donde:

  • nombre_del_grupo es el nombre del grupo.
  • x se utiliza generalmente para el campo de contraseña del grupo, que normalmente se almacena en el archivo /etc/gshadow.
  • GID es el identificador de grupo único asignado a ese grupo.
  • miembro1,miembro2,miembro3,... es la lista de usuarios que son miembros de ese grupo.
getent group [grupo]
getent group vagrant

Resultado

vagrant:x:1000:

/etc/group

Listar todos los grupos

Salida del archivo

nombre_del_grupo:x:GID:miembro1,miembro2,miembro3,...

Donde:

  • nombre_del_grupo es el nombre del grupo.
  • x se utiliza generalmente para el campo de contraseña del grupo, que normalmente se almacena en el archivo /etc/gshadow.
  • GID es el identificador de grupo único asignado a ese grupo.
  • miembro1,miembro2,miembro3,... es la lista de usuarios que son miembros de ese grupo.
/etc/group
cat /etc/group

Resultado:

vagrant:x:1000:
systemd-coredump:x:999:
ubuntu:x:1001:
vboxsf:x:998: 

Referencias

https://tldp.org/LDP/sag/html/index.html


Comentario

Debe aceptar antes de enviar