21 votos

Necesidad de revisión de los permisos de archivo en un directorio de inicio del usuario

¿Alguien tiene una herramienta o script que se forma recursiva corregir los permisos de archivo en un directorio?

En Ubuntu Linux máquina, un montón de archivos se han copiado en un disco USB con total permisos 777 (usuario, grupo, otros - lectura, escritura, ejecución) en error. Quiero volver a ponerlos en el directorio del usuario corregido.

Los directorios deben ser 775 y todos los demás archivos se pueden 664. Todos los archivos son imágenes, documentos o archivos Mp3, por lo que ninguno de ellos debe ser ejecutable. Si el bit de directorio se establece a continuación, viene la ejecución, otro sabio que sólo necesita el usuario y grupo, leer y escribir.

Pensé que era de la pena comprobar si una utilidad de este tipo existe antes de hacking juntos un script de shell :)

47voto

freiheit Puntos 9670

Esto debe hacer el truco:

find /home/user -type d -print0 | xargs -0 chmod 0775
find /home/user -type f -print0 | xargs -0 chmod 0664

12voto

ThorstenS Puntos 2470

encontrar puede hacer el truco solo con-exec:

find /home/user -type f -exec chmod 0664 {} \;
find /home/user -type d -exec chmod 0775 {} \;

7voto

David Pashley Puntos 17011

Esta respuesta no soluciona el problema, pero alguien podría encontrar útil para un problema similar donde los archivos tienen menos permisos que deben hacer.

# chmod -R . u=rwX,g=rX,o=rX

La magia es el X permiso, en lugar de x. El chmod manual describe así:

ejecutar/buscar sólo si el archivo es un directorio o ya tiene permiso de ejecución para el usuario

Esta no es adecuado en su caso, como los archivos tienen permiso de ejecución así que, va a coincidir con la segunda prueba.

EnMiMaquinaFunciona.com

EnMiMaquinaFunciona es una comunidad de administradores de sistemas en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros sysadmin, hacer tus propias preguntas o resolver las de los demás.

Powered by: