GNU/Linux >> Tutoriales Linux >  >> Linux

Necesidad de corregir los permisos de archivo en el directorio de inicio de un usuario

Solución 1:

Esto debería funcionar:

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

Solución 2:

find puede hacer el truco solo con -exec:

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

para evitar que find genere un chmod para cada entrada:

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

(esto llama efectivamente a chmod una vez con la lista de todos los archivos como parámetros en lugar de un chmod por archivo)

Solución 3:

Esta respuesta no resolverá su problema, pero alguien podría encontrarla útil para un problema similar donde los archivos tienen menos permisos de los que deberían.

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

La magia es el permiso X, en lugar de x. La página de manual de chmod lo describe así:

ejecutar/buscar solo si el archivo es un directorio o ya tiene permiso de ejecución para algún usuario

Esto no es adecuado en su caso, ya que sus archivos tienen permiso de ejecución, por lo que coincidirá con la segunda prueba.


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

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

  3. ¿Cuál es el propósito del archivo .bash_profile en User Home Directory en Linux?

  4. ¿Cómo encontrar el directorio de inicio de un usuario en Linux o Unix?

  5. ¿Cómo copio un archivo/carpeta del directorio de inicio de otro usuario en Linux?

Permisos de archivos de Linux:todo lo que necesita saber

Crear directorio de inicio para usuarios existentes en Linux

Permisos de Linux:cómo encontrar los permisos de un archivo

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

Ejemplos de comandos chmod de Linux

Administre directorios y permisos de archivos con chmod Recursive