El comando umask, es la abreviatura de user file-creation mode mask, y sirve para establecer los permisos por defecto que tendrán los nuevos ficheros y directorios que creemos.
Para que os hagáis una idea, Red Hat por ejemplo tiene un umask por defecto de 022 o 002, y por ejemplo si el nombre del usuario y del grupo es el mismo, y el uid mayor que 100 se establece un umask de 002, y sino de 022, ejemplo:
$ id uid=509(test) gid=510(test) groups=100(users),510(test) context=user_u:system_r:unconfined_t $ umask 0002
$ id uid=0(root) gid=0(root) groups=0(root),1(bin),2(daemon),3(sys),4(adm),6(disk),10(wheel) context=root:system_r:unconfined_t $ umask 0022
Quizás lo más confuso de umask sea el modo octal que se utiliza para asignar las mascaras, la forma más sencilla es la siguiente, tenemos que restar el valor de los permisos que deseamos asignar, al valor de la mascara, la cual es 666 para archivos y 777 para directorios:
Directorios:
Valor de la máscara:777
Permisos que queremos asignar:755
Valor para umask para directorios: 022
Archivos:
Valor de la máscara:666
Permisos que queremos asignar:644
Valor para umask para directorios: 022
Ahora unos ejemplos de la utilización de umask:
Queremos asignar por defecto la mascara 000 (permisos 666) a los nuevos ficheros:
$ umask 000 $ touch test $ ls -l test -rw-rw-rw- 1 alex alex 0 Jan 23 13:44 test
Queremos asignar por defecto la mascara 002 (permisos 664 ) a los nuevos ficheros:
$ umask 002 $ touch test $ ls -l test -rw-rw-r-- 1 alex alex 0 Dec 26 19:24 test
Esto es básicamente el uso del comando umask.
Referencia: Linux Security.
Más información en la página man de umask.