¿Te resulta más fácil leer con fondo crema, un tono de color, más contraste o un texto más grande? Elige tus colores y tu texto una sola vez, para todas las páginas.

Lección gratuita

Control de acceso y mínimo privilegio

Después de esta lección: Puedo decidir quién debe poder leer, escribir o ejecutar cada recurso con el mínimo privilegio.

Lección de 55 min3 comandosLaboratorio de administración Linux: usuarios, permisos, cron y systemd en el navegador

Quién puede hacer qué en un sistema

El control de acceso decide quién puede leer, cambiar o ejecutar cada recurso de un sistema. Su regla de oro es el mínimo privilegio: cada cuenta recibe solo lo que su trabajo necesita y nada más.

En una tienda, quien atiende la caja no necesita ver las nóminas. Si pudiera verlas, un descuido suyo sería un problema de todos.

Al final de esta lección

Nota

Puedo decidir quién debe poder leer, escribir o ejecutar cada recurso con el mínimo privilegio.

Palabras clave

PalabraQué significa
Control de accesodecidir quién puede hacer qué con un recurso
Permisouna acción permitida: leer, escribir o ejecutar
Rolun conjunto de permisos para un trabajo
Mínimo privilegiodar solo los permisos que hacen falta
Dueñola cuenta propietaria de un archivo
Grupovarias cuentas que comparten permisos

Las celdas que rellenan los estudiantes quedan en blanco en esta vista previa.

Cada permiso responde quién, qué y sobre qué

Un permiso une tres cosas: una cuenta, una acción y un recurso. En Linux, el modo rwxr-x--- son nueve letras en tres grupos de tres.

El primer grupo es para el dueño, el segundo para el grupo del archivo y el tercero para todos los demás. En cada grupo, r es leer, w escribir y x ejecutar. Un guion es que no se permite.

Ejemplo: se lee el modo rwxr-x---

QuiénLetrasPuede
El dueñorwxLeer, escribir y ejecutar
El grupor-xLeer y ejecutar, no escribir
Todos los demás---Nada

Las celdas que rellenan los estudiantes quedan en blanco en esta vista previa.

Un rol agrupa los permisos de un trabajo

Dar permisos cuenta por cuenta es lento y se olvida. Por eso se crean roles o grupos. Alguien de ventas entra en el grupo ventas y recibe lo que ese grupo puede hacer.

Si cambia de trabajo, se cambia su grupo y los permisos viejos desaparecen con él.

El mínimo privilegio reduce el daño

Con el mínimo privilegio, una cuenta solo puede hacer su trabajo. Si la cuenta se roba o comete un error, el daño llega hasta donde llegaban sus permisos.

Mira tres rutas de la máquina y compara qué tan cerradas están. Las tres son del sistema, no del laboratorio.

Mira el modo de /etc/shadow

Comando
stat -c '%A %U %G' /etc/shadow

Se muestra aquí y no se ejecuta. Crea una cuenta gratuita para pulsar Ejecutar y escribirlo en el terminal de tu propio laboratorio.

Mira el modo de la carpeta de root

Comando
stat -c '%A %U %G' /root

Se muestra aquí y no se ejecuta. Crea una cuenta gratuita para pulsar Ejecutar y escribirlo en el terminal de tu propio laboratorio.

Cada ruta tiene el acceso que necesita

La primera línea es -rw-r----- root shadow: solo root escribe y solo el grupo shadow lee. La segunda es drwx------ root root: la carpeta de root es solo suya.

No todo debe ser cerrado. La carpeta /tmp es donde cualquier programa deja archivos temporales, así que debe ser abierta para todos.

Mira el modo de /tmp

Comando
stat -c '%A %U %G' /tmp

Se muestra aquí y no se ejecuta. Crea una cuenta gratuita para pulsar Ejecutar y escribirlo en el terminal de tu propio laboratorio.

Un error frecuente

Advertencia

Mucha gente cree que dar permiso a todos, el modo 777, arregla un error de acceso. Quita el error, pero abre el recurso a cualquiera. La solución correcta es dar el permiso justo a la cuenta o al grupo que lo necesita.

La t de /tmp impide borrar lo ajeno

La tercera línea es drwxrwxrwt root root. Todos pueden escribir en la carpeta, pero la t final, llamada bit sticky, hace que solo el dueño de un archivo pueda borrarlo.

Es un ejemplo de mínimo privilegio dentro de una carpeta abierta: todos usan el sitio, y nadie borra lo ajeno.

Sobre este laboratorio y su código: Laboratorio de administración Linux: usuarios, permisos, cron y systemd en el navegador

¿Enseñas a una clase? Asigna este módulo a tus alumnos con guía del profesor, tareas con corrección automática y un laboratorio para cada alumno.