Cómo establecer permisos recursivos en Linux

,
Permisos recursivos en Linux

En ocasiones necesitamos establecer permisos recursivos a un directorio que contiene varios archivos y directorios. Por ejemplo, cuando vamos a instalar WordPress y nuestro hosting nos indica que todos los directorios deben tener permisos 755 (de lectura, escritura y ejecución por el propietario, y de lectura y ejecución para el grupo y otros). Mientras que los archivos deben tener permisos 644 (de lectura y escritura por el propietario, y de lectura para el grupo y otros). Esto no es una tarea que se resuelva con un simple chmod -R y los permisos deseados, porque dentro tenemos archivos y directorios juntos. En este tip, aprenderás a establecer permisos recursivos en Linux para el caso anterior aplicando diferentes métodos.

Si no dominas a fondo los permisos en Linux, puedes hacerlo mediante nuestro tutorial “Todo sobre propietarios de archivos y permisos en Linux”.

Cómo aplicar permisos recursivos

Lo que necesitamos en realidad es “algo” que nos permita aplicar el permiso 755 cuando encuentre un directorio y el permiso 644 cuando encuentre un archivo. Para ello, podemos auxiliarnos del comando find:

En caso que necesites procesar muchos objetos, usa estos comandos:

O incluso, puedes usar este método que es más eficiente:

Los métodos mostrados anteriormente requieren correr dos veces el comando: una para los directorios y otra para los archivos.

Existe un método mucho más rápido que solo necesita un comando:

A continuación explicamos cada una de las opciones:

  • -R: Aplicar permisos de forma recursiva.
  • u+rwX: Los usuarios puede leer, escribir y ejecutar.
  • go+rX: El grupo y otros pueden leer y ejecutar.
  • go-w: El grupo y otros no pueden escribir.

Una cosa interesante aquí es que la X mayúscula funciona de forma diferente a la x minúscula. En el manual de chmod podemos encontrar:

[…] execute/search only if the file is a directory or already has execute permission of some user (X) […]

En concreto, el permiso de ejecución se aplica para el usuario solo si el archivo es un directorio, y para el grupo si ya había sido definido el permiso de ejecución para el usuario. ¿Qué quiere decir esto? Pues que, si en los archivos está definido para el usuario el permiso de ejecución, se aplicará para el grupo y otros. Así, los archivos tendrán los mismos permisos que los directorios 755.

Ten en cuenta que este último método, aunque es más rápido, no siempre funcionará como esperamos: 755 para los directorios y 644 para los archivos.

0 comentarios

Dejar un comentario

¿Quieres unirte a la conversación?
Siéntete libre de contribuir

Deja una respuesta

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