magento ssh find chmod

magento - encontrar.-type f-exec chmod 644{};



magento 2 permissions (3)

La canalización a xargs es una manera sucia de hacer eso que se puede hacer dentro de find.

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

Puede controlar aún más con otras opciones, como:

find . -type d -user harry -exec chown daisy {} /;

Puedes hacer cosas muy interesantes con find y también puedes hacer cosas muy peligrosas. Echa un vistazo a "encontrar hombre", es largo, pero vale la pena leerlo rápidamente. Y, como siempre recuerde:

  • Si eres root, tendrá éxito.
  • Si estás en la raíz (/) vas a tener un mal día.
  • Usar el directorio / path / to / puede hacer las cosas mucho más seguras, ya que está definiendo claramente dónde desea ejecutar.

¿Por qué no funciona? Estoy tratando de cambiar todos los archivos a 644 abd todos -d a 755:

find . -type f -exec chmod 644 {} ;

Obtengo: find: missing argument to `-exec '' gracias


Lo necesito con tanta frecuencia que creé una función en mi archivo ~/.bashrc :

chmodf() { find $2 -type f -exec chmod $1 {} /; } chmodd() { find $2 -type d -exec chmod $1 {} /; }

Ahora puedo usar estos accesos directos:

chmodd 0775 . chmodf 0664 .


Una buena alternativa es esta:

find . -type f | xargs chmod -v 644

y para directorios:

find . -type d | xargs chmod -v 755

y para ser más explícito:

find . -type f | xargs -I{} chmod -v 644 {}