Gestión de Permisos y Usuarios en Linux con ACLs: Configuración y Comandos Esenciales
Enviado por Chuletator online y clasificado en Diseño e Ingeniería
Escrito el en español con un tamaño de 9,43 KB
Configuración Avanzada de Permisos y Usuarios en Linux con ACLs
Este documento detalla la configuración de una estructura de directorios y la gestión de permisos de acceso mediante Listas de Control de Acceso (ACLs) en un sistema Linux. Se establecerán grupos de usuarios específicos y se asignarán permisos detallados a cada directorio, incluyendo la creación de un superusuario con acceso global.
1. Definición de Grupos y Estructura de Directorios
Se utilizarán los siguientes grupos de usuarios: comercial, oficina, dirección, tienda, almacén y técnico.
En el directorio /home, se creará la siguiente estructura de directorios:
- /home/info
- /home/direccion
- /home/tienda
- /home/almacen
- /home/oficina
- /home/it
2. Requisitos de Permisos por Directorio
Los permisos se configurarán de la siguiente manera, asegurando que otros usuarios no tengan permisos asociados por defecto:
- /home/info:
- Lectura para los grupos: comercial, oficina, dirección, tienda, almacén, técnico.
- Edición para los grupos: dirección y técnico.
- /home/direccion:
- Lectura y edición solo para los grupos: dirección y técnico.
- /home/tienda:
- Lectura para los grupos: comercial y tienda.
- Edición para los grupos: dirección, oficina y técnico.
- /home/almacen:
- Lectura para los grupos: comercial y tienda.
- Edición para los grupos: dirección, oficina, técnico y almacén.
- /home/oficina:
- Lectura y edición para los grupos: dirección, oficina y técnico.
- /home/it:
- Lectura y edición solo para el grupo: técnico.
Adicionalmente, se creará un superusuario llamado Jefe, perteneciente al grupo técnico, con acceso de lectura y escritura a todos los directorios. Se crearán al menos dos usuarios por cada grupo.
3. Implementación de la Configuración
3.1. Creación de Grupos
Primero, creamos los grupos necesarios en el sistema:
sudo groupadd comercial
sudo groupadd oficina
sudo groupadd direccion
sudo groupadd tienda
sudo groupadd almacen
sudo groupadd tecnico
3.2. Creación de Directorios
A continuación, creamos los directorios en /home:
sudo mkdir /home/info
sudo mkdir /home/direccion
sudo mkdir /home/tienda
sudo mkdir /home/almacen
sudo mkdir /home/oficina
sudo mkdir /home/it
3.3. Asignación de Permisos con ACLs
Asignamos los permisos específicos a cada directorio utilizando setfacl
:
Permisos para /home/info
sudo setfacl -m g:comercial:r-x /home/info
sudo setfacl -m g:oficina:r-x /home/info
sudo setfacl -m g:direccion:rwx /home/info
sudo setfacl -m g:tienda:r-x /home/info
sudo setfacl -m g:almacen:r-x /home/info
sudo setfacl -m g:tecnico:rwx /home/info
Permisos para /home/direccion
sudo setfacl -m g:direccion:rwx /home/direccion
sudo setfacl -m g:tecnico:rwx /home/direccion
Permisos para /home/tienda
sudo setfacl -m g:comercial:r-x /home/tienda
sudo setfacl -m g:tienda:r-x /home/tienda
sudo setfacl -m g:direccion:rwx /home/tienda
sudo setfacl -m g:oficina:rwx /home/tienda
sudo setfacl -m g:tecnico:rwx /home/tienda
Permisos para /home/almacen
sudo setfacl -m g:comercial:r-x /home/almacen
sudo setfacl -m g:tienda:r-x /home/almacen
sudo setfacl -m g:direccion:rwx /home/almacen
sudo setfacl -m g:oficina:rwx /home/almacen
sudo setfacl -m g:tecnico:rwx /home/almacen
sudo setfacl -m g:almacen:rwx /home/almacen
Permisos para /home/oficina
sudo setfacl -m g:direccion:rwx /home/oficina
sudo setfacl -m g:oficina:rwx /home/oficina
sudo setfacl -m g:tecnico:rwx /home/oficina
Permisos para /home/it
sudo setfacl -m g:tecnico:rwx /home/it
3.4. Creación del Superusuario "Jefe"
Creamos el usuario Jefe y lo añadimos al grupo técnico:
sudo useradd -m -s /bin/bash Jefe
sudo usermod -aG tecnico Jefe
Asignamos permisos de lectura y escritura a Jefe en todos los directorios:
sudo setfacl -m u:Jefe:rwx /home/info
sudo setfacl -m u:Jefe:rwx /home/direccion
sudo setfacl -m u:Jefe:rwx /home/tienda
sudo setfacl -m u:Jefe:rwx /home/almacen
sudo setfacl -m u:Jefe:rwx /home/oficina
sudo setfacl -m u:Jefe:rwx /home/it
3.5. Creación de Usuarios por Grupo
Creamos al menos dos usuarios para cada grupo. A modo de ejemplo, se muestran los comandos para el grupo dirección:
sudo useradd -m -s /bin/bash usuario_direccion1
sudo usermod -aG direccion usuario_direccion1
sudo useradd -m -s /bin/bash usuario_direccion2
sudo usermod -aG direccion usuario_direccion2
Este proceso se repetiría de forma similar para los grupos comercial, oficina, tienda, almacén y técnico.
3.6. Verificación de la Configuración
Para verificar la configuración de directorios y permisos, se pueden utilizar los siguientes comandos:
ls -l /home
getfacl /home/info
Referencia Rápida de Comandos Linux para Administración de Usuarios y Permisos
Esta sección proporciona un resumen de comandos esenciales para la gestión de usuarios, grupos y permisos en sistemas Linux.
1. Comandos de Gestión de Usuarios
adduser
: Agrega un usuario con una interfaz interactiva (menos común en scripts).useradd
: Crea un usuario sin interfaz interactiva (usado frecuentemente en scripts).-m
: Crea el directorio personal (/home) del usuario.
usermod
: Modifica las propiedades de un usuario.-g
: Modifica el grupo principal al que pertenece el usuario.-G
: Modifica los grupos secundarios del usuario.-aG
: Añade el usuario a grupos secundarios sin eliminar los existentes.
userdel
: Elimina un usuario.-r
: Elimina también el directorio personal del usuario.
2. Comandos de Gestión de Grupos
groupadd
: Añade un nuevo grupo.-f
: Evita errores si el grupo ya existe.
groupmod
: Edita las propiedades de un grupo.-U
: Añade usuarios al grupo, sobrescribiendo los existentes.-aU
: Añade usuarios al grupo sin sobrescribir los existentes.-n
: Cambia el nombre del grupo.
groupdel
: Elimina un grupo.
3. Comandos de Gestión de Permisos
chown
: Cambia el propietario y/o el grupo de archivos y directorios.-R
: Aplica el cambio de forma recursiva al directorio y su contenido.
chmod
: Cambia los permisos de archivos y directorios.-R
: Aplica el cambio de forma recursiva al directorio y su contenido.
umask
: Muestra o establece la máscara de creación de archivos por defecto.getfacl
: Muestra las Listas de Control de Acceso (ACLs) de archivos y directorios.setfacl
: Modifica las Listas de Control de Acceso (ACLs) de archivos y directorios.-m
: Modifica las entradas de ACL.-d
: Establece las ACLs por defecto para nuevos archivos/directorios.-dm
: Modifica y establece las ACLs por defecto.
4. Comandos de Gestión de Cuentas de Usuario (chage)
chage
: Modifica la información de caducidad de la contraseña y la cuenta.-l
: Lista la información de caducidad de la cuenta.-M
: Establece el número máximo de días antes de que el usuario deba cambiar su contraseña.-E
: Establece la fecha de expiración de la cuenta de usuario.-W
: Define el número de días de aviso antes de que la contraseña expire.
5. Archivos de Configuración Importantes
- /etc/passwd: Almacena información de las cuentas de usuario (sin contraseñas).
- /etc/group: Almacena información de los grupos de usuario.
- /etc/shadow: Almacena las contraseñas cifradas de los usuarios.