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 tecnico3.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/it3.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/infoPermisos para /home/direccion
sudo setfacl -m g:direccion:rwx /home/direccion
sudo setfacl -m g:tecnico:rwx /home/direccionPermisos 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/tiendaPermisos 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/almacenPermisos 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/oficinaPermisos para /home/it
sudo setfacl -m g:tecnico:rwx /home/it3.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 JefeAsignamos 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/it3.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_direccion2Este 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/infoReferencia 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.