Administración de Usuarios y Grupos en Linux: Modificación y Contraseñas

La gestión de cuentas de usuario y grupos es fundamental en cualquier sistema Linux. Aquí se detallan las operaciones comunes como la visualización, creación, modificación y eliminación de usuarios y grupos, así como la gestión de contraseñas.

Gestión de Usuarios

Visualización de Usuarios y Sesiones Para ver los usuarios existentes en el sistema, puede consultar el archivo /etc/passwd. Para obtener solo los nombres de usuario, utilice awk:

more /etc/passwd
awk -F':' '{ print $1}' /etc/passwd

Comandos útiles para información sobre sesiones y usuarios:

  • whoami: Muestra el nombre de usuario actualmente conectado.
  • who: Lista todos los usuarios conectados al sistema, independientemente de la terminal o método de conexión (SSH, TTY, etc.).
  • id: Muestra la identificación de usuario (UID) y de grupo (GID) del usuario actual. Para ver la información de un usuario específico: id <nombre_usuario></nombre_usuario>.
  • su <nombre_usuario></nombre_usuario>: Cambia a otro usuario. Para un cambio completo a root en Ubuntu, use su - o sudo -i. Ejemplo de salida de comandos de usuario:
$ id
uid=1000(usuario_ejemplo) gid=1000(usuario_ejemplo) groups=1000(usuario_ejemplo),4(adm),24(cdrom),27(sudo),30(dip),46(plugdev),113(lpadmin),128(sambashare)
$ whoami
usuario_ejemplo
$ who
usuario_ejemplo    tty7         2023-10-27 10:00 (:0)
usuario_ejemplo    pts/0        2023-10-27 11:30 (192.168.1.100)

Creación de Usuarios El comando useradd se utiliza para crear nuevas cuentas de usuario. Por ejemplo, para crear un usuario llamado nuevo_usuario con un directorio personal específico:

useradd -d /home/nuevo_directorio -m nuevo_usuario

El parámetro -m asegura que se cree el directorio personnel si no existe. Opciones comunes de useradd:

  • -d, --home-dir HOME_DIR: Especifica el directorio personal del usuario.
  • -m, --create-home: Crea el directorio personal si no existe.
  • -s, --shell SHELL: Define el shell de inicio de sesión por defecto.
  • -g, --gid GROUP: Establece el grupo principle del usuario.
  • -G, --groups GROUPS: Añade el usuario a grupos suplementarios.
  • -U, --user-group: Crea un grupo con el mismo nombre que el usuario. Después de la creación, puede verificar la entrada en /etc/passwd y /etc/group.

/etc/passwd tiene el formato: nombre_usuario:contraseña_encriptada:UID:GID:comentario:directorio_personal:shell

/etc/group tiene el formato: nombre_grupo:contraseña_grupo:GID:lista_usuarios

El archivo /etc/shadow contiene información sensible de las contraseñas y políticas de seguridad:

/etc/shadow tiene el formato: nombre_usuario:contraseña_encriptada:último_cambio:mínimo_días:máximo_días:advertencia:inactividad:expiración:flags

Eliminación de Usuarios Para eliminar un usuario, utilice el comando userdel. La opción -r elimina también su directorio personal y correo.

userdel -r nombre_usuario_a_eliminar
# O solo eliminar la cuenta, sin el directorio:
userdel nombre_usuario_a_eliminar

Modificación de Usuarios El comando usermod permite modificar las propiedades de una cuenta de usuario existente. Las opciones son similares a useradd.

# Cambiar el shell, directorio personal y grupo principal de 'usuario_ejemplo'
usermod -s /bin/bash -d /home/nuevo_directorio -g grupo_principal usuario_ejemplo

Para cambiar el nombre de un usuario, algunos sistemas permiten la opción -l (aunque no es estándar y puede requerir renombrar el directorio manualmente).

Cambio de Shell por Defecto El comando chsh modifica el shell de inicio de sesión del usuario. Para cambiar el shell de un usuario específico a /bin/bash:

sudo chsh -s /bin/bash nombre_usuario

Para establecer un shell por defecto para los nuevos usuarios creados, puede modificar la configuración predeterminada de useradd:

sudo useradd -D -s /bin/bash

Modificación de Contraseñas El comando passwd se utiliza para cambiar la contraseña de un usuario. Para cambiar la contraseña de otro usuario (se requieren privilegios de root):

sudo passwd nombre_usuario
# Introducir la nueva contraseña dos veces.

Si ejecuta passwd sin argumentos, cambiará la contraseña del usuario actual. Opciones comunes de passwd:

  • -l: Bloquea la cuenta (deshabilita el login).
  • -u: Desbloquea la cuenta.
  • -d: Elimina la contraseña de la cuenta (la deja sin contraseña).
  • -f: Fuerza al usuario a cambiar la contraseña en el próximo inicio de sesión.

Gestión de Grupos

Visualización de Grupos Puede listar los grupos a los que pertenece un usuario con el comando groups.

groups
groups nombre_usuario

La lista compelta de grupos se encuentra en el archivo /etc/group.

Creación de Grupos El comando groupadd crea un nuevo grupo. Puede especificar un GID (Group ID) con la opción -g.

groupadd -g 1050 nuevo_grupo

Eliminación de Grupos El comando groupdel elimina un grupo existente.

groupdel nombre_grupo_a_eliminar

Modificación de Grupos Con groupmod se pueden modificar el GID o el nombre de un grupo.

# Cambiar el GID del grupo 'grupo_antiguo' a 1060
groupmod -g 1060 grupo_antiguo

# Cambiar el nombre del grupo 'grupo_a_renombrar' a 'nuevo_nombre_grupo'
groupmod -n nuevo_nombre_grupo grupo_a_renombrar

# Cambiar GID y nombre simultáneamente
groupmod -g 1070 -n otro_nuevo_nombre grupo_a_modificar

Administración de Usuarios en Grupos El comando gpasswd permite administrar los miembros de un grupo.

  • -a <usuario></usuario>: Añade un usuario a un grupo.
  • -d <usuario></usuario>: Elimina un usuario de un grupo.
# Añadir 'usuario_ejemplo' al grupo 'grupo_adicional'
sudo gpasswd -a usuario_ejemplo grupo_adicional

# Eliminar 'usuario_ejemplo' del grupo 'grupo_principal'
sudo gpasswd -d usuario_ejemplo grupo_principal

Etiquetas: linux usuarios grupos comandos administración

Publicado el 7-3 00:33