Ejecute Chmod por separado para archivos y directorios
Si es un usuario de Linux, probablemente haya oído hablar de la aplicación de consola. chmod. Es una herramienta útil que permite cambiar los permisos del sistema de archivos usando una sesión de terminal o un emulador de terminal. Cuando lo ejecuta, cambia los permisos que especifica en archivos y directorios a la vez. Pero es posible que deba cambiar los permisos de archivo por separado de los permisos de directorio y viceversa. Así es como se puede hacer.
Hay varias formas de hacerlo, pero mi forma favorita y más confiable de hacerlo es combinar chmod con rayos x y encontrar instrumentos. El siguiente comando modificará los permisos solo para archivos.
buscar / ruta / a / ubicación -tipo f -print0 | xargs -0 chmod 644
Aquí el encontrar El comando enumera todos los archivos en la ubicación especificada. El modificador -type f le dice que muestre solo archivos y excluya directorios. El interruptor -print0 permite procesar nombres de archivos de tal manera que los nombres de archivos o directorios que contienen espacios o nuevas líneas se manejan correctamente.
También se puede usar un comando apropiado similar para los directorios. La única parte que necesita cambiar es -type f a -type d:
buscar / ruta / a / ubicación -tipo d -print0 | xargs -0 chmod 755
Consejo: puede ahorrar tiempo y escribir menos utilizando este truco.
- Primero, aplique los permisos del sistema de archivos a los archivos y carpetas ejecutando chmod en modo recursivo:
chmod -R 644 / ruta / a / ubicación
Aplicará permisos rw-r-r a todos los archivos y carpetas en la ubicación especificada.
- A continuación, ejecute el comando solo para directorios:
buscar / ruta / a / ubicación -tipo d -print0 | xargs -0 chmod 755
Eso es todo.