Cómo cambiar de forma recursiva los permisos de archivo en Linux

Debido a que Linux es un sistema operativo multiusuario, tiene un mecanismo que establece y administra los permisos de archivos para garantizar que solo los procesos y usuarios autorizados puedan acceder a varios directorios y archivos. Mientras usa Linux, puede encontrar varios casos en los que no puede editar archivos o directorios debido al error «Permiso denegado», que indica que no tiene los privilegios necesarios. Este tutorial le mostrará cómo cambiar de forma recursiva los permisos de archivos en Linux para asegurarse de que su configuración de permisos se aplique a las subcarpetas y archivos.

Cómo verificar los permisos de archivos en Linux

Cuando se produce el error de «permiso denegado» en un archivo o en una operación de directorio, comience verificando los permisos asignados para el usuario, el grupo y otros.

Para hacer eso, puede usar el ls -l mando. Por ejemplo, los siguientes son permisos para varios archivos y directorios en el directorio “/ var”.

Ls L

El resultado anterior contiene información específica.

  1. La primera columna representa los permisos de directorio y archivo. La primera letra de esta columna indica el tipo: d significa directorio, l representa un vínculo simbólico, y - un archivo regular.
  2. Los otros nueve personajes se agrupan en tres conjuntos: u usuario, g grupo, y o El propietario indica los permisos del archivo o directorio. r indica permisos de «lectura», w indica permisos de «escritura» y X indica permisos de «ejecución».
Ls La Hightlight

Una vez que conozca los permisos de archivo de su directorio de trabajo o archivo, puede cambiarlos fácilmente.

Cómo usar chmod para cambiar los permisos de archivos

El chmod El comando es la forma más fácil de cambiar los permisos de archivos en Linux. La sintaxis general del comando es:

  • Permiso: representa los permisos otorgados a un usuario, grupo, propietario o todos.
  • Operador: esto indica los permisos otorgados al cesionario del permiso: + concede permiso, - niega permisos, y = especifica qué permisos establecer.
  • Modo: esto dicta qué permisos establecer: r leer, w escribe o x ejecutar.

Por ejemplo, para denegar a todos el acceso de escritura al directorio de respaldo en el directorio «/ var», puede usar el comando:

Aunque se cambian los permisos de archivo con el chmod El comando es efectivo, solo cambia los permisos de archivo para el directorio o archivo especificado.

Afortunadamente, puede cambiar de forma recursiva los permisos de archivo de un directorio o archivo y sus subdirectorios y archivos. Para hacer eso, use el comando chmod recursive -r opción.

Por ejemplo, eliminemos de forma recursiva read permisos para el directorio “/ var / backup” y todos sus archivos y subdirectorios. Los permisos actuales son:

Ahora corramos chmod recursivamente para cambiar los permisos:

Ahora puede ver que los permisos de archivo han cambiado.

Chmod Eliminar permiso 1

Permiso de cambio recursivo con buscar

Por lo general, no configurará archivos y directorios con permisos similares. Esto se debe a que necesita el permiso de ejecución para poder cd en un directorio específico. Sin embargo, la mayoría de los archivos no requieren este permiso de ejecución.

Para superar esto, puede utilizar el find utilidad en Linux. Esto le permite buscar solo archivos o directorios específicos y establecer permisos sobre ellos.

Tomemos el directorio “/ var / log”. El directorio contiene tanto archivos como directorios.

Directorios de archivos de registro de Var

Para establecer permisos específicos solo para archivos, podemos usar el comando buscar con el -type f opción.

Vea un comando de ejemplo a continuación:

En el ejemplo anterior, usamos el comando de búsqueda para buscar archivos en el directorio “/ var / log”, luego establecemos permisos de lectura, escritura y ejecución para usuarios, grupos y todo.

También podemos hacer lo mismo con los directorios. En este caso, especificamos el -type d para obtener solo directorios.

Por ejemplo:

En el ejemplo anterior, solo configuramos el permiso 755 para directorios y no tanto para archivos como para directorios.

Puede verificar esto usando el ls -la mando.

Chmod con Find Verify

Notará que todos los archivos tienen el permiso 777, mientras que los directorios tienen 755 permisos.

Para concluir

Saber cómo cambiar los permisos de los archivos en Linux es una habilidad esencial, ya que ayuda a prevenir el acceso no autorizado y las modificaciones a varios archivos y directorios. Mientras tanto, también puede cambiar la propiedad de los archivos para restringir el acceso a los archivos o usar la lista de control de acceso am para un control aún más preciso de los permisos de los archivos en Linux.

Categorías PC