← Terminal y Línea de Comandos en Linux Bloque 4 · Usuarios, grupos y permisos · Tema 17 de 43

Tema 17

Leer los permisos

Al comienzo de cada línea de ls -l hay diez caracteres, algo como -rw-rw-r--. En el tema 7 los leímos por encima. Son la respuesta completa a una pregunta que el sistema se hace miles de veces por segundo: ¿puede este proceso hacer esto con este archivo? En este tema aprendemos a leerlos con exactitud, en archivos y en directorios, donde significan otra cosa, y a seguir el razonamiento del kernel hasta poder predecir, antes de ejecutar un comando, si va a funcionar.

1. Quién puede hacer qué

En el tema 16 vimos los dos lados de cada acceso. De un lado, un proceso, que lleva una identidad: un usuario y una lista de grupos. Del otro, un archivo, que lleva anotados un dueño y un grupo. Falta la tercera pieza, la que los relaciona:

Los permisos de un archivo son una tabla, guardada en su inodo, que establece qué operaciones puede realizar sobre él cada clase de usuario.

El modelo es deliberadamente pequeño. Hay tres clases de usuarios y tres operaciones, lo que da nueve respuestas de sí o no. Con esas nueve respuestas se gobierna el acceso a todos los archivos del sistema, y por eso cada una se expresa con un solo carácter.

terminal
$ cd ~/practica
$ ls -l
total 28
drwxrwxr-x 2 ana ana  4096 oct 12 10:40 fotos
-rw-rw-r-- 1 ana ana 12813 oct 12 10:41 informe.txt
-rw-rw-r-- 1 ana ana    18 oct 12 10:32 notas.txt
-rw-rw-r-- 1 ana ana    70 oct 12 13:20 tareas.txt

2. Los nueve caracteres

El primer carácter de la cadena es el tipo de archivo, que conocemos del tema 7. Los nueve restantes son los permisos, y se leen de a tres:

La cadena de permisos de notas.txt dividida en cuatro partes: un guion para el tipo, archivo común; rw guion para el dueño, ana; rw guion para el grupo, ana; y r guion guion para los demás usuarios - tipo archivo r w - dueño el usuario ana r w - grupo los miembros de ana r - - otros todos los demás
La cadena -rw-rw-r-- de notas.txt, separada en sus cuatro partes. Cada trío responde por una clase de usuario.

Dentro de cada trío, las posiciones son fijas. La primera es siempre la de lectura, la segunda la de escritura y la tercera la de ejecución:

Posición en el tríoSi el permiso estáSi no está
Primerar, de read-
Segundaw, de write-
Tercerax, de execute-

No hay otras letras posibles en cada lugar, salvo las de los permisos especiales del tema 21. Una w nunca aparece en la primera posición ni una r en la tercera. Por eso, con un poco de costumbre, la cadena se lee de un vistazo: rw- es «leer y escribir», r-x es «leer y ejecutar», --- es «nada».

3. Dueño, grupo y otros

Los tres tríos corresponden, en orden, a las tres clases en que el sistema divide a los usuarios respecto de un archivo dado:

ClaseLetraQuiénes sonEn ls -l
Dueñou, de userEl usuario al que pertenece el archivo. Uno solo.La tercera columna.
Grupog, de groupLos miembros del grupo del archivo.La cuarta columna.
Otroso, de othersCualquier usuario que no sea el dueño ni pertenezca al grupo.No figura: son «el resto».

Las letras u, g y o no aparecen en el listado, pero conviene aprenderlas ya: son las que se usan para cambiar los permisos, en el tema siguiente. La trampa es la o, que no es de owner, dueño, sino de others.

Las tres clases son relativas a cada archivo. Un mismo usuario es dueño de unos, pertenece al grupo de otros, y es «otro» frente a la mayoría. Para notas.txt, ana es la dueña; para /etc/passwd, que es de root, es una más entre los otros.

4. Leer, escribir y ejecutar

En un archivo común, las tres operaciones significan lo que su nombre sugiere:

PermisoPermiteComandos que lo necesitan
r — lecturaVer el contenido.cat, less, head, cp (sobre el origen), abrirlo en un editor.
w — escrituraModificar el contenido: cambiarlo, agregarle, vaciarlo.Guardar desde un editor, > y >>, cp (sobre un destino existente).
x — ejecuciónEjecutarlo como un programa.Escribir su nombre, o su ruta, como comando.

Hay que señalar lo que no está en esa tabla. El permiso de escritura sobre un archivo permite cambiar su contenido; no permite borrarlo ni cambiarle el nombre. Esas operaciones dependen del directorio, como veremos en la sección 10. Tampoco hay un permiso para «ver que existe» o para leer su tamaño y su fecha: eso también depende del directorio.

Los tres permisos son independientes entre sí, y casi todas las combinaciones tienen algún sentido:

TríoEn un archivo significa
rw-Se puede leer y modificar. Lo normal para un documento propio.
r--Solo lectura.
r-xSe puede leer y ejecutar, no modificar. Lo normal para un programa.
rwxTodo. Lo normal para un script propio.
---Ningún acceso.
-w-Se puede escribir sin poder leer. Raro, pero útil para un buzón donde se deposita sin ver lo que hay.

5. Cómo decide el kernel

Cuando un proceso intenta abrir un archivo, el kernel elige uno solo de los tres tríos y responde según lo que ese trío diga. El procedimiento es siempre el mismo, y vale la pena aprenderlo como un algoritmo:

  1. ¿El proceso es de root? Se permite, sin mirar los permisos. UID 0
  2. ¿El usuario del proceso es el dueño del archivo? Se aplica el primer trío, y no se sigue. dueño
  3. ¿Alguno de los grupos del proceso es el grupo del archivo? Se aplica el segundo trío, y no se sigue. grupo
  4. En cualquier otro caso, se aplica el tercer trío. otros

Lo esencial es el «no se sigue». Las clases no se suman: se usa la primera que corresponde, y solo esa. De ahí sale una consecuencia que parece una paradoja:

un caso para pensar
-r--rw-rw- 1 ana ana 120 oct 12 16:00 extrano.txt

¿Puede ana modificar este archivo? Pertenece al grupo ana, que tiene escritura; y los otros también la tienen. Sin embargo, no puede. Es la dueña, de modo que se le aplica el primer trío, r--, y el kernel no mira más. Cualquier otro usuario del sistema podría escribir en ese archivo, y su dueña no.

Es un caso artificial, pero muestra que los permisos se leen con el algoritmo y no por intuición. En la práctica, los tríos se ordenan de más a menos —el dueño puede más que el grupo, y el grupo más que el resto— y la paradoja no aparece. El dueño, además, siempre conserva la facultad de cambiar los permisos de lo suyo.

6. Leer permisos reales

Apliquemos el algoritmo a archivos del sistema, desde la identidad que nos dio id en el tema anterior: usuario ana, con los grupos ana, adm, sudo y otros.

terminal (tamaños y fechas varían)
$ ls -l /etc/passwd /etc/shadow /etc/sudoers /usr/bin/ls /var/log/syslog
-rw-r--r-- 1 root   root     2847 oct  5 09:12 /etc/passwd
-rw-r----- 1 root   shadow   1523 oct  5 09:12 /etc/shadow
-r--r----- 1 root   root     1800 ene 29  2024 /etc/sudoers
-rwxr-xr-x 1 root   root   142312 abr  5  2024 /usr/bin/ls
-rw-r----- 1 syslog adm    684213 oct 12 15:40 /var/log/syslog
Archivo¿Qué es ana?Trío aplicadoPuede
/etc/passwdNi dueña ni del grupo root: otros.r--Leerlo. No modificarlo.
/etc/shadowNi dueña ni del grupo shadow: otros.---Nada. Es el Permission denied del tema 16.
/etc/sudoersOtros.---Nada.
/usr/bin/lsOtros.r-xLeerlo y ejecutarlo. Por eso ls funciona.
/var/log/syslogNo es dueña, pero pertenece al grupo adm.r--Leerlo. Un usuario fuera de ese grupo no podría.

El último caso muestra el uso de los grupos del que hablamos en el tema anterior: el registro del sistema es legible para un conjunto elegido de usuarios, los que administran el equipo, y cerrado para el resto.

Y /etc/sudoers tiene una rareza: ni su dueño, root, tiene permiso de escritura. No es un impedimento real, porque a root los permisos no se le aplican. Es una señal: el archivo no debe editarse directamente, sino con una herramienta que lo valida, visudo. Lo vemos en el tema 19.

7. El permiso de ejecución

De los tres permisos, el de ejecución es el que no tiene equivalente en otros sistemas, y conviene detenerse en él. En el tema 6 dijimos que en Linux la extensión no determina qué es un archivo. Lo que hace que un archivo pueda usarse como comando es este permiso.

Un archivo recién creado no lo tiene. Lo comprobamos intentando ejecutar un archivo de texto cualquiera:

terminal, en ~/practica
$ ls -l tareas.txt
-rw-rw-r-- 1 ana ana 70 oct 12 13:20 tareas.txt
$ ./tareas.txt
bash: ./tareas.txt: Permission denied
$ echo $?
126

El archivo existe y se puede leer; lo que falta es la x. El código de salida 126 es el que en el tema 3 anotamos como «encontrado, pero no se puede ejecutar». Este mensaje es el primer tropiezo de todo el que escribe un script: lo crea con el editor, intenta ejecutarlo y recibe exactamente esto. La solución es otorgar el permiso, con el comando del tema 18.

La regla es una protección. Un archivo no se vuelve ejecutable por descargarlo o por copiarlo: alguien tiene que decidirlo. Con ella se evita ejecutar por accidente lo que no se pensaba ejecutar.

Clase de archivoPara ejecutarlo hace faltaPor qué
Un programa compilado, como /usr/bin/lsxEl kernel lo carga directamente.
Un script: un texto con comandosx y también rEl intérprete tiene que leer el texto para ejecutarlo.

En los colores de ls, los archivos con permiso de ejecución aparecen en verde, y con la opción -F llevan un asterisco.

8. En un directorio significan otra cosa

Los directorios tienen las mismas nueve posiciones, con las mismas letras. Pero un directorio no tiene un «contenido» que leer ni se puede «ejecutar», y las tres operaciones cambian de significado. Esta es la parte del tema que más cuesta, y se vuelve simple con una idea del tema 14: un directorio es una lista de nombres, cada uno con una referencia a su archivo.

PermisoEn un archivoEn un directorioComandos que lo necesitan
rLeer el contenido.Leer la lista: ver qué nombres contiene.ls, los comodines, Tab.
wModificar el contenido.Modificar la lista: agregar, quitar o cambiar nombres.touch, mkdir, cp hacia él, mv, rm.
xEjecutarlo.Atravesarlo: usar el directorio como parte de una ruta para llegar a lo que hay dentro.cd, y cualquier acceso a un archivo que esté dentro.

La x en un directorio suele llamarse permiso de búsqueda o de paso. Es la más importante de las tres. Sin ella, el directorio es una puerta cerrada: no se puede entrar con cd, ni abrir ningún archivo de su interior, ni siquiera conociendo su nombre exacto y teniendo todos los permisos sobre él.

Lo vimos en el tema 6, al intentar entrar en el directorio personal del administrador:

terminal
$ ls -ld /root
drwx------ 6 root root 4096 oct  5 09:30 /root
$ cd /root
bash: cd: /root: Permission denied
$ ls /root
ls: cannot open directory '/root': Permission denied

Para ana, que es «otros» frente a /root, el trío es ---. Los dos comandos fallan por permisos distintos: cd, porque falta la x; ls, porque falta la r.

9. Las combinaciones en directorios

Como la r y la x controlan cosas distintas, pueden estar una sin la otra, con resultados que conviene conocer:

TríoListar los nombresEntrar y usar los archivosCrear y borrarUso
rwxSíSíSíAcceso completo. Tus propios directorios.
r-xSíSíNoSolo consulta. Lo normal en los directorios del sistema.
--xNoSí, si se conoce el nombre exactoNoDejar pasar sin dejar ver. Para llegar a un subdirectorio sin exponer el resto.
r--Sí, solo los nombresNoNoCasi inútil: se ven los nombres y no se puede usar nada.
-wxNoSíSíUn buzón: se puede depositar, no ver qué hay.
---NoNoNoCerrado.

La regla práctica que resume la tabla: en un directorio, la r y la w casi no sirven sin la x. Listar nombres sin poder acceder a nada es de poca utilidad, y la w sin la x no tiene efecto alguno, porque crear o borrar una entrada exige llegar hasta ella.

Tu directorio personal es un ejemplo de configuración pensada:

terminal
$ ls -ld /home/ana /etc /tmp
drwxr-xr-x 132 root root 12288 oct 12 09:05 /etc
drwxr-x---  17 ana  ana   4096 oct 12 10:32 /home/ana
drwxrwxrwt  18 root root  4096 oct 12 11:05 /tmp
DirectorioPermisosLectura
/etcrwxr-xr-xroot lo administra; todos los demás pueden recorrerlo y listar, sin crear ni borrar.
/home/anarwxr-x---La dueña, todo. Su grupo privado, consultar. Los demás usuarios, nada: no pueden entrar.
/tmprwxrwxrwtTodos pueden crear archivos. La t final es una protección adicional, del tema 21.

10. Borrar depende del directorio

La consecuencia más contraria a la intuición de todo el modelo es esta:

Para borrar un archivo no hacen falta permisos sobre el archivo

Borrar, renombrar y mover son cambios en la lista del directorio. Lo que se necesita es permiso de escritura y de paso, w y x, sobre el directorio que lo contiene. Un archivo sobre el que no tienes ningún permiso, y que ni siquiera es tuyo, puede ser borrado por ti si está en un directorio donde puedes escribir.

Lo anticipamos en el tema 11, y ahora es una deducción: rm quita un nombre de una lista, y la lista es el directorio. La tabla ordena qué se necesita para cada operación:

OperaciónPermiso sobre el archivoPermiso sobre el directorio
Leer el contenidorx
Modificar el contenidowx
Ejecutarloxx
Ver que existe, con lsNingunor
Ver su tamaño, fecha y permisos, con ls -lNingunor y x
Crear un archivo—w y x
BorrarloNingunow y x
Cambiarle el nombreNingunow y x

Una cortesía de rm puede hacer creer lo contrario. Si intentas borrar un archivo sobre el que no tienes permiso de escritura, rm pregunta antes: remove write-protected regular file?. Es una advertencia del programa, no un impedimento del sistema; respondiendo y, el archivo se borra.

De esto se desprende un criterio de seguridad: quitar la escritura a un archivo lo protege de modificaciones, pero no de ser eliminado o reemplazado. Para proteger lo que hay en un directorio hay que cuidar los permisos del directorio.

11. El camino completo

Una ruta atraviesa varios directorios, y hace falta permiso de paso en todos. Para abrir /home/ana/practica/notas.txt se necesita x en /, en /home, en /home/ana y en /home/ana/practica, además de r en el archivo. Si falla uno solo, el acceso se niega, aunque los demás sean generosos.

Revisarlos de a uno con ls -ld es tedioso. El comando namei muestra los permisos de cada tramo de una ruta:

terminal
$ namei -l ~/practica/notas.txt
f: /home/ana/practica/notas.txt
drwxr-xr-x root root /
drwxr-xr-x root root home
drwxr-x--- ana  ana  ana
drwxrwxr-x ana  ana  practica
-rw-rw-r-- ana  ana  notas.txt

Leído de arriba abajo, es el recorrido que hace el kernel. Y explica algo que el listado de ~/practica no deja ver. El archivo notas.txt tiene lectura para otros, r--, y parecería que cualquier usuario del equipo puede leerlo. No es así: en la tercera línea, /home/ana niega el paso a los otros. Un usuario distinto no llega hasta el archivo, y sus permisos ni se consultan.

Es un patrón muy usado: un directorio cerrado arriba protege todo lo que cuelga de él, sin necesidad de ajustar cada archivo. Y es la primera hipótesis ante un Permission denied inexplicable: el problema no está en el archivo, sino en algún directorio del camino.

12. Los permisos habituales

De las muchas combinaciones posibles, en la práctica se repiten unas pocas. Reconocerlas a simple vista ahorra el análisis letra por letra. El comando stat las muestra también en su forma numérica, que aprenderemos a calcular en el tema siguiente:

terminal, en ~/practica
$ stat -c '%A %a %U:%G %n' *
drwxrwxr-x 775 ana:ana fotos
-rw-rw-r-- 664 ana:ana informe.txt
-rw-rw-r-- 664 ana:ana notas.txt
-rw-rw-r-- 664 ana:ana tareas.txt
CadenaNúmeroSe leeDónde se la ve
-rw-r--r--644El dueño escribe; todos leen.Archivos de configuración, documentos públicos.
-rw-rw-r--664Dueño y grupo escriben; todos leen.Los archivos que creas en Ubuntu.
-rw-------600Solo el dueño, y nadie más.Claves privadas, .bash_history.
-rw-r-----640El dueño escribe; el grupo lee; el resto, nada./etc/shadow, registros.
-rwxr-xr-x755El dueño modifica; todos ejecutan.Los programas de /usr/bin.
-rwx------700Un script que solo su dueño puede usar.Scripts personales.
drwxr-xr-x755El dueño administra; todos entran y listan.Los directorios del sistema.
drwxrwxr-x775Dueño y grupo administran; todos entran.Los directorios que creas en Ubuntu.
drwx------700Privado: solo el dueño./root, ~/.ssh.
drwxr-x---750El dueño administra; el grupo consulta; el resto no entra.Los directorios personales en Ubuntu.

Dos regularidades ayudan a leerlas. En los archivos comunes casi nunca hay x; en los directorios y en los programas, la x acompaña a la r. Y una cadena que termina en --- indica algo reservado; una que termina en rwx o rw- —escritura para cualquiera— es casi siempre un error, y merece una segunda mirada.

13. Diagnosticar un Permission denied

Con lo anterior, un Permission denied deja de ser un obstáculo opaco. Se resuelve respondiendo, en orden, las mismas preguntas que se hace el kernel:

  1. ¿Quién soy? id: mi usuario y mis grupos. identidad
  2. ¿Qué quise hacer? Leer, modificar, ejecutar; o crear, borrar, renombrar. operación
  3. ¿Sobre qué se decide? Las tres primeras, sobre el archivo. Las tres últimas, sobre el directorio que lo contiene. objeto
  4. ¿Qué dicen sus permisos? ls -l para un archivo, ls -ld para un directorio. mirar
  5. ¿Qué trío me toca? Dueño, grupo u otros, en ese orden, y el primero que corresponda. algoritmo
  6. Si el trío lo permitía, revisar el camino con namei -l: falta la x en algún directorio. camino

Un ejemplo. El comando touch /etc/prueba falla. Quise crear un archivo, así que se decide sobre el directorio, /etc. Sus permisos son drwxr-xr-x root root. No soy root ni pertenezco al grupo root: me toca el tercer trío, r-x. No tiene w. El diagnóstico es completo, y dice también qué haría falta: actuar como root.

La respuesta no es siempre sudo

Anteponer sudo hace desaparecer casi cualquier Permission denied, y por eso mismo es un mal reflejo. Antes conviene entender por qué se negó el acceso. A veces la negativa es correcta, y lo que está mal es la ruta. A veces se soluciona de un modo más limitado, como pertenecer a un grupo. Y un archivo creado con sudo en tu directorio personal queda siendo de root, lo que produce el siguiente error de permisos.

14. Lo que los permisos no hacen

Para terminar, los límites del modelo. Conocerlos evita atribuirle una protección que no da:

LímiteConsecuencia
No se aplican a root.Ningún permiso protege un archivo del administrador, ni de quien use sudo.
No cifran nada.Los aplica el sistema en funcionamiento. Un disco conectado a otra máquina, o leído desde otro sistema, entrega todo su contenido. Para eso existe el cifrado de disco.
No protegen del dueño.Quien posee un archivo puede cambiarle los permisos. Quitarse la escritura es un recordatorio, no un candado.
Son solo tres clases.No permiten decir «este usuario sí y aquel no» dentro de los otros. Para eso hay un mecanismo adicional, las listas de control de acceso.
No distinguen programas.Todo lo que ejecutas tiene tus permisos, incluido un programa en el que no deberías confiar.

El cuarto punto deja una huella que quizá veas en algún listado. Cuando un archivo tiene reglas adicionales de ese tipo, ls -l agrega un signo + al final de la cadena, como en -rw-rw-r--+. Indica que los nueve caracteres no cuentan toda la historia, y que el detalle se consulta con getfacl.

También pueden aparecer letras distintas de r, w y x: una s o una t en el lugar de una x, como la de /tmp. Son los permisos especiales, que cierran el bloque en el tema 21.

La referencia del tema:

ComandoQué muestra
ls -l archivoLos permisos, el dueño y el grupo de un archivo.
ls -ld directorioLos de un directorio.
stat -c '%A %a %U:%G %n' archivoLos permisos en letras y en número, con dueño y grupo.
namei -l rutaLos permisos de cada tramo de una ruta.
idLa identidad con la que se evaluarán.

Sabemos leer. En el tema 18 aprendemos a escribir: cambiar los permisos con chmod, en sus dos notaciones, y el dueño y el grupo con chown.

15. Resumen

16. Preguntas de repaso

Intenta responder cada una antes de abrir la respuesta.

1. Divide la cadena -rwxr-x--- en sus partes y di qué indica cada una.

El guion inicial: archivo común. rwx: el dueño puede leer, escribir y ejecutar. r-x: el grupo puede leer y ejecutar. ---: los demás no pueden nada.

2. ¿Quiénes son «otros»?

Todos los usuarios que no son el dueño del archivo ni pertenecen a su grupo.

3. ¿En qué orden evalúa el kernel las tres clases?

Primero comprueba si el proceso es del dueño; si no, si pertenece al grupo; si no, aplica el trío de los otros. Usa el primero que corresponde y no mira los demás. A root le permite todo.

4. Un archivo tiene permisos -r--rw-r--, y eres su dueño y miembro de su grupo. ¿Puedes modificarlo?

No. Como dueño se te aplica el primer trío, r--, y el del grupo no se consulta. Podrías, eso sí, cambiarle los permisos.

5. El archivo /var/log/syslog es -rw-r----- syslog adm. ¿Por qué ana puede leerlo?

Porque pertenece al grupo adm, y el trío del grupo, r--, incluye la lectura.

6. Creas un script y al ejecutarlo recibes «Permission denied». ¿Qué falta?

El permiso de ejecución. Los archivos nuevos se crean sin la x.

7. ¿Qué significan r, w y x en un directorio?

r, listar los nombres que contiene. w, crear, borrar y renombrar entradas. x, atravesarlo: entrar con cd y acceder a lo que hay dentro.

8. Un directorio tiene r-- para ti. ¿Qué puedes hacer?

Ver los nombres de lo que contiene, y nada más. Sin x no puedes entrar ni abrir ninguno de sus archivos.

9. Un directorio tiene --x para ti. ¿Qué puedes hacer?

Atravesarlo y acceder a un archivo de su interior si conoces el nombre exacto y sus permisos lo permiten. No puedes listarlo.

10. ¿Qué permisos hacen falta para borrar un archivo?

Escritura y paso, w y x, sobre el directorio que lo contiene. Sobre el archivo, ninguno.

11. Un archivo tiene permisos -rw-rw-rw- y aun así otro usuario no puede leerlo. ¿Cuál es la explicación más probable?

Que le falta permiso de paso en alguno de los directorios de la ruta. Se comprueba con namei -l.

12. ¿Por qué los demás usuarios no pueden leer ~/practica/notas.txt, si tiene r-- para otros?

Porque el directorio personal, /home/ana, tiene --- para otros. No pueden atravesarlo, y no llegan al archivo.

13. ¿Qué describe cada una: -rw-------, -rwxr-xr-x y drwxr-xr-x?

Un archivo privado, que solo su dueño lee y escribe. Un programa que el dueño puede modificar y todos pueden ejecutar. Un directorio que el dueño administra y en el que todos pueden entrar y listar.

14. mkdir /usr/prueba falla. Razona por qué, sin ejecutarlo.

Crear una entrada requiere w y x sobre el directorio, /usr, que es drwxr-xr-x root root. Un usuario común cae en «otros», con r-x: no tiene escritura.

15. ¿Protegen los permisos un archivo si alguien se lleva el disco?

No. Los permisos los aplica el sistema que está funcionando. Leído desde otro sistema, o por alguien que allí sea root, el contenido es accesible. La protección contra eso es el cifrado.

Para practicar

  1. Para cada línea de ls -l ~/practica, escribe en palabras qué puede hacer el dueño, el grupo y los otros.
  2. Ejecuta ls -l /etc/hostname /etc/shadow /usr/bin/passwd /var/log/auth.log. Para cada uno, determina con el algoritmo qué trío se te aplica y qué puedes hacer. Comprueba con cat o head.
  3. Ejecuta ls -ld / /home /home/* /root /tmp /var/log y describe quién puede listar y quién puede crear archivos en cada uno.
  4. Ejecuta namei -l sobre /etc/ssl/private, sobre /var/log/syslog y sobre tu ~/.bashrc. ¿En qué tramo se detendría un usuario cualquiera?
  5. Sin ejecutarlos, predice cuáles de estos comandos fallan y por qué: touch /tmp/a, touch /etc/a, cat /etc/sudoers, ls /root, cd /var/log, rm /etc/hostname. Luego prueba los cinco primeros.
  6. Intenta ejecutar ./notas.txt desde ~/practica y mira el código de salida con echo $?.
  7. Usa stat -c '%A %a %n' sobre diez archivos y directorios distintos del sistema, y arma tu propia tabla de equivalencias entre letras y números.
  8. Con find /usr/bin -maxdepth 1 -type f ! -executable, comprueba si hay algún archivo no ejecutable en ese directorio.
  9. Busca en tu directorio personal los archivos y directorios cerrados a todos menos a ti: find ~ -maxdepth 1 \( -perm 700 -o -perm 600 \). ¿Qué guardan?
  10. Explica con tus palabras por qué un directorio con permisos drwxrwxrwx es peligroso aunque todos los archivos que contiene sean de solo lectura.