¿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

Permisos: quién lee, escribe o ejecuta

Después de esta lección: Puedo decir quién puede leer, escribir o ejecutar un archivo y cambiarlo.

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

Las nóminas que todos podían abrir

Una gestoría guarda las nóminas de sus clientes en un servidor compartido. Un becario curiosea y abre la carpeta. Cualquiera con una cuenta puede leer todos los sueldos.

Nadie ha atacado nada. El archivo tenía los permisos mal puestos. Esta lección enseña a ponerlos bien.

Al final de esta lección

Nota

Puedo decir quién puede leer, escribir o ejecutar un archivo y cambiarlo.

Palabras clave

PalabraQué significaEjemplo
Dueñoel único usuario al que pertenece un archivo
Grupouna lista con nombre de usuarios que comparten archivos
Restotodos los que no son el dueño ni están en el grupo
rootla cuenta de administración, que puede hacerlo todo
sudoejecuta una sola orden como rootsudo whoami
Setgiden una carpeta, hace que lo nuevo herede su grupo2750

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

Tres tipos de persona, tres derechos

Todo archivo tiene un dueño y un grupo. Los demás son el resto.

Para cada uno de los tres, el archivo dice si puede leer (r), escribir (w) y ejecutar (x).

En una carpeta, r permite listarla, w permite añadir o quitar archivos y x permite entrar.

¿Quién soy?

Comando
id

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

Modo, dueño y grupo de una carpeta

Comando
stat -c "%a %A %U %G" /srv/projects

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

Ejemplo: leer un modo

ModoEl dueño puedeEl grupo puedeEl resto puede
rwxr-x---leer, escribir, ejecutarleer, ejecutarnada
rw-rw-r--leer, escribirleer, escribirleer
rw-------leer, escribirnadanada
rwxr-xr-xleer, escribir, ejecutarleer, ejecutarleer, ejecutar

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

chmod cambia un modo

chmod cambia el modo. Puedes darle tres cifras, como en chmod 640 nomina.txt.

O puedes decir qué añadir o quitar. g+w da escritura al grupo. o-r quita la lectura al resto.

Ejecuta estos bloques en orden. Cada ls -l muestra el modo nuevo.

Crea un archivo vacío

Comando
touch nomina.txt

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

Dueño lee y escribe, grupo lee

Comando
chmod 640 nomina.txt

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

Comando
ls -l nomina.txt

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

Deja que el grupo también escriba

Comando
chmod g+w nomina.txt

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

Mira otra vez

Comando
ls -l nomina.txt

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 chmod 777 arregla cualquier "permiso denegado". Pero deja que cualquier usuario de la máquina cambie el archivo. Averigua quién necesita el derecho y dáselo solo a ese dueño o a ese grupo.

Usuarios, root y sudo

Cada persona y cada servicio tiene una cuenta de usuario. Un usuario normal solo abre el archivo de otro si su modo lo permite, y no puede cambiar los del sistema.

root puede hacerlo todo. Nadie debería trabajar como root todo el día. sudo ejecuta solo una orden como root, y luego vuelves a ser un usuario normal.

Un usuario normal es rechazado

Comando
ls /root

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

El mismo usuario, con sudo

Comando
sudo whoami

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

Entrega el archivo a root

Comando
sudo chown root nomina.txt

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 dueño

Comando
ls -l nomina.txt

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

Devuélvelo

Comando
sudo chown student nomina.txt

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

Una carpeta compartida pide grupo y setgid

Un equipo comparte una carpeta. Crea un grupo, por ejemplo ventas, y añade a cada miembro con usermod -aG ventas nombre.

Asigna el grupo a la carpeta con chgrp. Después decide qué puede hacer el grupo.

Añade setgid, el 2 de 2750. Así lo que se cree en la carpeta pertenece a su grupo, lo cree quien lo cree.

Crea una carpeta de práctica

Comando
mkdir -p equipo

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

Setgid: grupo lee y entra, resto nada

Comando
chmod 2750 equipo

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

Busca la letra s

Comando
ls -ld equipo

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

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.