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
| Palabra | Qué significa | Ejemplo |
|---|---|---|
| Usuario | una cuenta con su nombre | student |
| Grupo | un conjunto de usuarios que comparten permisos | |
| Propietario | el usuario al que pertenece un archivo | |
| Permiso | el derecho a leer, escribir o ejecutar | |
| Modo | los permisos de un archivo escritos en tres números | 644 |
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
whoamiSe 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
cat /etc/shadowSe 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
stat -c '%a %U %G' /etc/shadowSe 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
| Clase | Letras | Cuenta | Número |
|---|---|---|---|
| Propietario | rw- | 4 + 2 | 6 |
| Grupo | r-- | 4 | 4 |
| Todos los demás | r-- | 4 | 4 |
| El modo entero | rw-r--r-- | los tres números juntos | 644 |
Las celdas que rellenan los estudiantes quedan en blanco en esta vista previa.
Crea una carpeta de práctica
mkdir -p ~/scratch/permisosSe 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
cd ~/scratch/permisosSe 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
touch notas.txtSe 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
chmod 644 notas.txtSe 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
stat -c '%a %A' notas.txtSe 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
chmod 600 notas.txtSe 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
stat -c '%a %A' notas.txtSe 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
chmod u+x notas.txtSe 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
stat -c '%a %A' notas.txtSe 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.