Posts del SysAdmin

Permisos en directorios: ¿cuáles son necesarios?

Los permisos estándar (ugo/rwx: user, group, others / read, write, execute) son relativamente fáciles de entender cuando hablamos de archivos. Sin embargo, cuando de directorios se trata pueden resultar un poco confusos. En este post vamos a ilustrar mediante ejemplos cuáles permisos en directorios son necesarios para realizar cada operación. Tener en claro esto es fundamental también para restringir el acceso de manera confiable.

Permisos en directorios

Para empezar, crearemos un directorio llamado dirprueba propiedad del usuario root y del grupo gacanepa:

Finalmente, agreguemos algunos archivos vacíos. El siguiente comando creará hola1.txt, hola2.txt, y hola3.txt:

Como podemos ver en la Fig. 1, el usuario gacanepa puede listar los contenidos del directorio sin inconvenientes. Sin embargo, si le quitamos el permiso de ejecución sobre el directorio (removiéndolo de la terna correspondiente al grupo), el mismo usuario pierde esa posibilidad:

Los permisos en directorios: efecto de r
Figura 1 – Los permisos en directorios: efecto de r

Conclusión 1: el permiso de lectura en un directorio es necesario para ver la lista de los objetos que haya en su interior con ls -l.

A continuación, otorguemos permiso de escritura sobre el directorio para el grupo gacanepa:

Y ahora tratemos de escribir en uno de los archivos que contiene:

eliminar otro:

o crear uno nuevo:

¿Qué sucede? Aunque tenemos permisos de escritura en el directorio, no podemos escribir en sus contenidos como podemos apreciar en la Fig. 2:

Permisos en directorios: limitación de w
Figura 2 – Permisos en directorios: limitación de w

Conclusión 2: el permiso de escritura sobre un directorio no es suficiente para poder modificar su contenido.

Inevitablemente surge la pregunta: ¿qué se debe hacer para solucionar estos inconvenientes? La respuesta es simple: agregar el permiso de ejecución. Al hacer

el usuario gacanepa podrá (por los permisos heredados de su grupo) ver el listado de archivos en el directorio, escribir, e incluso moverse hacia dentro del mismo con cd.

Espero que este post les haya resultado útil. ¡Nos leemos en el próximo!

Te invitamos a conocer la propuesta completa de Carrera Linux Argentina para convertirte en un experto y completo sysadmin desde cero. En nuestro sitio web Aprender Linux podrás encontrar más detalles y contactarnos si te surgen preguntas o dudas. ¡Esperamos tu consulta!

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *