GNU/Linux >> Tutoriales Linux >  >> Linux

Cómo cambiar los permisos de archivos de forma recursiva con chmod en Linux

Introducción

Los sistemas multiusuario, como Linux, requieren la configuración y administración de permisos de archivos que aseguren que solo los usuarios autorizados tengan acceso a los archivos que se supone que deben tener.

Si necesita cambiar un permiso de archivo, use el chmod dominio. También permite cambiar el permiso del archivo de forma recursiva para configurar múltiples archivos y subdirectorios usando un solo comando.

En este tutorial, aprenderá a usar chmod de forma recursiva y cambiar el permiso de archivo en Linux.

Requisitos previos

  • Una línea de comando/ventana de terminal (Ctrl +Alt +T o Ctrl +Alt+F2 )
  • Una cuenta de usuario con sudo privilegios (opcional)
  • Un sistema Linux

Comprobar permiso de archivo

Si necesita verificar los permisos de archivo en el directorio de trabajo, use el comando:

ls –l

La salida enumera los permisos de todos los archivos en el directorio.

Por ejemplo, el Ejemplo El directorio contiene tres archivos (test1.txt , prueba2.txt y prueba3.txt ) con los mismos permisos (-rw-rw-r– ).

Los permisos de archivo enumerados anteriormente nos dicen lo siguiente:

  • El propietario tiene privilegios de lectura y escritura
  • El grupo de propietarios tiene privilegios de lectura y escritura
  • Otros usuarios tener privilegios de lectura

Cambiar permiso recursivamente

Es común usar el chmod básico Comando para cambiar el permiso de un solo archivo. Sin embargo, es posible que deba modificar el permiso de forma recursiva para todos los archivos dentro de un directorio.

En tales casos, el chmod recursivo opción (-R o --recursive ) establece el permiso para un directorio (y los archivos que contiene).

La sintaxis para cambiar el permiso del archivo de forma recursiva es:

chmod -R [permission] [directory]

Por lo tanto, para configurar el 755 permiso para todos los archivos en el Ejemplo directorio, escribiría:

sudo chmod -R 755 Example

El comando da leer, escribir y ejecutar privilegios al propietario (7 ) y leer y ejecutar acceso a todos los demás (55 ).

Cambiar permiso con el comando de búsqueda

Para asignar permisos separados a directorios y archivos, puede usar el find comando.

La sintaxis básica incluye el uso de find comando para ubicar archivos/directorios y luego pasarlo a chmod para establecer el permiso:

sudo find [directory] -type [d/f] -exec chmod [privilege] {} \;
  • Reemplazar [directory] con la ruta del directorio que contiene los archivos y subdirectorios que desea configurar.
  • Especifique si está buscando un directorio -type d o un archivo -type f .
  • Establecer el archivo [privilege] con chmod comando usando el modo numérico o simbólico.

Evite asignar privilegios de ejecución a los archivos. Una configuración común incluiría ejecutar los siguientes comandos:

sudo find Example -type d -exec chmod 755 {} \;
sudo find Example -type f -exec chmod 644 {} \;

En este ejemplo, los directorios tienen 755 (u=rwx,go=rx ), mientras que los archivos tienen privilegios 644 (u=rw,go=r).

Puede verificar que los directorios y los archivos tengan diferentes configuraciones de permisos moviéndose al Ejemplo directorio (cd Example ) y listar el contenido (ls -l ). El resultado debe ser similar al siguiente:

Cambiar el permiso de archivos específicos de forma recursiva

Combinando find comando con chmod también se puede usar para cambiar el permiso de archivos que son de un tipo específico.

La sintaxis del comando para cambiar el permiso de un tipo de archivo específico en un directorio es:

find [directory] -name "*.[filename_extension]" -exec chmod [privilege] {} \;

Por ejemplo, para hacer todo .sh archivos en el directorio actual ejecutable , usarías:

find . -name "*.sh" -exec chmod +x {} \;

Linux
  1. Cómo encontrar un archivo en Linux en todos los directorios recursivamente

  2. Permisos de Linux:una introducción a chmod

  3. Linux chmod y chown:cómo cambiar los permisos y la propiedad de los archivos en Linux

  4. Cómo ver o cambiar ACL en archivos de Linux

  5. ¿Cómo cambiar el permiso en un solo archivo?

Linux:Cómo compartir archivos en una red local con guau

Cómo cambiar permisos en Linux

Cómo cambiar el nombre de un archivo (s) en Linux

Comando Chmod:cómo cambiar los permisos de archivo en Linux

Cómo copiar archivos con una extensión de archivo específica recursivamente

Cómo comprimir un archivo en Linux