Obtengo 700 cuando creo un archivo de prueba, pero ¿umask es 0002? ¿Por qué no es 664?

Obtengo 700 cuando creo un archivo de prueba, pero ¿umask es 0002? ¿Por qué no es 664?

¿Dónde se almacenan los valores predeterminados de 666 y 777, para archivos y directorios respectivamente?

umask 0002
touch dummy 
ls -l 

Me dice que los permisos del muñeco son 700 en lugar de los 644 esperados. ¿Alguna idea?

Respuesta1

[max@localhost ~]$ umask

Esto mostrará una máscara de usuario predeterminada.

0002

En /etc/bashrcel archivo se almacenan los permisos predeterminados.

16 si [ $UID -gt 199 ] && [ "`id -gn`" = "`id -un`" ]; entonces
 17 máscara 002
 18 más
 19 una máscara 022
 20 fi

La máscara de usuario predeterminada para el usuario normal 002

La máscara de usuario predeterminada para el usuario root es 022

Para directorios, los permisos base son 0777 y para archivos 0666.

Eso significa que si establece el valor de umask en 002, entonces resta la umask de los permisos base.

Para directorios

777-002=775

Para archivos

666-002=664

[max@localhost ~]$ mkdir archivo1

[max@localhost ~]$ ls -ld archivo1

drwxrwxr-x 2 máx máx 4096 25 de septiembre 15:37 archivo1 ------>775

[max@localhost ~]$ tocar archivo2

[max@localhost ~]$ ls -l archivo2

-rw-rw-r-- 1 máx máx 0 25 de septiembre 15:40 archivo2------->664

información relacionada