uploads subcarpetas public_html permisos carpeta aƱadir terminal command-prompt chmod

terminal - subcarpetas - permisos 755 e 644



Cambie todos los permisos de archivos y carpetas de un directorio a 644/755 (7)

¿Cómo cambiaría todos los archivos a 644 y todas las carpetas a 755 usando chmod desde el símbolo del sistema de linux ? (Terminal)


El más corto que pude encontrar es:

chmod -R a=r,u+w,a+X /foo

que funciona en GNU / Linux, y creo en Posix en general (de mi lectura de: http://pubs.opengroup.org/onlinepubs/9699919799/utilities/chmod.html ).

Lo que esto hace es:

  1. Establecer archivo / directorio a r__r__r__ (0444)
  2. Agregue w para el propietario, para obtener rw_r__r__ (0644)
  3. Establecer ejecutar para todos si un directorio (0755 para dir, 0644 para archivo).

Es importante destacar que el permiso del paso 1 borra todos los bits de ejecución, por lo que el paso 3 solo agrega los bits de ejecución para directorios (nunca archivos). Además, los tres pasos suceden antes de que se recursure en un directorio (por lo que esto no es equivalente a, por ejemplo,

chmod -R a=r /foo chmod -R u+w /foo chmod -R a+X /foo

dado que a = r elimina x de los directorios, entonces chmod no puede recurrir en ellos.)


Esto funcionó para mí:

find /A -type d -exec chmod 0755 {} /; find /A -type f -exec chmod 0644 {} /;


Esto también puede funcionar:

chmod -R 755 * // All files and folders to 755. chmod -R 644 *.* // All files will be 644.


Haz ambas cosas en una sola pasada con:

find -type f ... -o -type d ...

Como en, encuentre el tipo f O tipo d, y haga el primero ... para los archivos y el segundo ... para los directorios. Específicamente:

find -type f -exec chmod --changes 644 {} + -o -type d -exec chmod --changes 755 {} +

Deja de --changes si quieres que funcione en silencio.


La forma más fácil es hacer:

chmod -R u+rwX,go+rX,go-w /foo

que básicamente significa:

para cambiar las mod archivo -R ecursivamente dando:

  • u ser: r ead, w rite y e Permisos de Xecute,
  • usuarios del juego y otros usuarios: permisos de copiado y e X permiso, pero no -w permiso de rito.

Tenga en cuenta que X hará que un directorio sea ejecutable, pero no un archivo, a menos que ya se pueda buscar / ejecutar.

+X : hacer que un directorio o archivo pueda buscarse / ejecutarse por todos si ya puede buscarlo / ejecutarlo cualquiera.

Por favor, consulte man chmod para más detalles.

Vea también: ¿Cómo modificar todos los directorios excepto los archivos (recursivamente)? en SU


Lo más fácil de recordar es dos operaciones:

chmod -R 644 dirName chmod -R +X dirName

El + X solo afecta directorios.


Un enfoque podría ser el uso de find:

para directorios

find . -type d -print0 | xargs -0 chmod 0755

para archivos

find . -type f -print0 | xargs -0 chmod 0644