¿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 de archivos en Linux: usuarios y grupos

Después de esta lección: Puedo decidir quién puede usar un archivo y escribir ese permiso.

Lección de 45 min12 comandosLaboratorio de comandos de Linux de cada día: los treinta comandos que se escriben de memoria

Quién puede abrir este archivo

Los permisos de un archivo dicen quién puede leerlo, cambiarlo o ejecutarlo. En Linux cada archivo tiene un propietario y un conjunto de permisos.

Piensa en una red de instituto. Los alumnos no deben leer las notas del profesorado. Un administrador lo consigue con permisos, no con contraseñas en cada carpeta.

Al terminar esta lección

Nota

Puedo decidir quién puede usar un archivo y escribir ese permiso.

Palabras clave

PalabraQué significaEjemplo
Usuariouna cuenta con su nombrestudent
Grupoun conjunto de usuarios que comparten permisos
Propietarioel usuario al que pertenece un archivo
Permisoel derecho a leer, escribir o ejecutar
Modolos permisos de un archivo escritos en tres números644

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

Cada archivo tiene un propietario y un grupo

Linux es un sistema de varios usuarios. Cada archivo pertenece a un usuario y a un grupo. Hay un usuario especial, root, que puede hacerlo todo.

Un usuario normal solo toca lo suyo. Pulsa Iniciar el laboratorio si todavía no lo has hecho. Después comprueba quién eres y prueba a abrir un archivo que no es tuyo.

Pregunta con qué usuario trabajas

Comando
whoami

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

Intenta leer el archivo de contraseñas

Comando
cat /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 quién es su propietario y su modo

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.

Los permisos van en tres grupos de tres

Hay tres permisos: leer (r), escribir (w) y ejecutar (x). Se dan a tres clases de personas: el propietario, el grupo y todos los demás.

Por eso un modo tiene nueve letras, como rw-r--r--. Un guion significa que ese permiso falta. Cada permiso vale un número: r es 4, w es 2 y x es 1.

Ejemplo resuelto: de letras a números

ClaseLetrasCuentaNúmero
Propietariorw-4 + 26
Grupor--44
Todos los demásr--44
El modo enterorw-r--r--los tres números juntos644

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

Crea una carpeta de práctica

Comando
mkdir -p ~/scratch/permisos

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

Entra en ella

Comando
cd ~/scratch/permisos

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

Crea un archivo vacío

Comando
touch notas.txt

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

Dale el modo 644

Comando
chmod 644 notas.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 su modo en números y en letras

Comando
stat -c '%a %A' notas.txt

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

chmod cambia el modo de un archivo

chmod cambia los permisos. Se le puede dar el número entero, como chmod 600 archivo. O se puede cambiar solo una pieza con letras: u es el propietario, g el grupo, o los demás.

Por ejemplo, chmod u+x archivo añade el permiso de ejecutar solo para el propietario.

Deja el archivo solo para ti

Comando
chmod 600 notas.txt

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

Comprueba el cambio

Comando
stat -c '%a %A' notas.txt

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

Añade ejecutar para el propietario

Comando
chmod u+x notas.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 el modo

Comando
stat -c '%a %A' notas.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 error de permisos. Es verdad que lo hace desaparecer, pero da a todo el mundo el control del archivo. Busca la causa y da solo el permiso que falta.

Sobre este laboratorio y su código: Laboratorio de comandos de Linux de cada día: los treinta comandos que se escriben de memoria

¿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.