Cómo cambiar recursivamente 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. A medida que usa Linux, puede encontrar varios casos en los que no puede editar archivos o directorios debido al error «Permiso denegado», lo que indica que no tiene los privilegios necesarios. Este tutorial le mostrará cómo cambiar recursivamente los permisos de archivo en Linux para asegurarse de que su configuración de permisos se aplique a las subcarpetas y archivos.

Cómo verificar los permisos de archivo en Linux

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

Para ello, puede utilizar el ls -l dominio. 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 archivo y directorio. La primera letra de esta columna indica el tipo: d significa directorio, l representa un enlace simbólico, y - un archivo normal.
  2. Los otros nueve caracteres se agrupan en tres conjuntos: u usuario, g grupo, y o propietario indicar los permisos de archivo o directorio. r indica permisos de «lectura», w indica permisos de «escritura», y X indica permisos de «ejecución».

Ls La Destacado

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

Cómo usar chmod para cambiar los permisos de archivo

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

chmod {permission}{operator}{mode}
  • Permiso: esto representa los permisos otorgados a un usuario, grupo, propietario o todos.
  • Operador: esto indica los permisos otorgados al cesionario del permiso: + otorga permiso, - niega los 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 copia de seguridad en el directorio «/var», puede usar el comando:

 sudo chmod -w /var/backups

Aunque cambiar los permisos de archivo usando el chmod El comando es efectivo, solo cambia los permisos de archivo para el directorio o archivo especificado.

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

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

drwxrwxrwx  2 root root   4096 Jul 15 06:25 backups

ahora vamos a correr chmod recursivamente para cambiar los permisos:

sudo chmod –r -r /var/backups

Ahora puede ver que los permisos del archivo han cambiado.

Permiso de eliminación de Chmod 1

Permiso de cambio recursivo con find

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 en ellos.

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

Directorios de archivos de registro Var

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

Vea un comando de ejemplo a continuación:

sudo find /var/log/ -type f -exec chmod 777 {} ;

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

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

Por ejemplo:

sudo find /var/log/ -type d -exec chmod 755 {} ;

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 dominio.

Chmod con Buscar Verificar

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

Para concluir

Saber cómo cambiar los permisos de 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 una lista de control de acceso para un control aún más preciso de los permisos de los archivos en Linux.

Publicaciones Similares

Deja una respuesta

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