No comprendo funcionamiendo de umask, no viene en el man.

Hola, chicos, en mi man no viene el manual de umask y no entiendo bien su funcionamiento.
Si no me equivoco, umask sirve para establecer los permisos por defecto que tendrán los nuevos ficheros creados en un directorio.
Sé manejar chmod con números octales, y pensé que umask funcionaría igual, es decir si quiero por ejemplo que todos los futuros ficheros tengan permiso 644, lo que sería rw- r-- r-- pues hago umask 644.
Ahora si tecleo umask, aparece:
umask 0644
No sé por qué aparece ese cero ni qué significa. Lo que compruebo es que si ahora creo un fichero nuevo, aparece con permisos rw- rw- rw-, que sería 666, acción no deseada.
A ver si podeis aclararme el funcionameinto y utilidad de umask o enseñarme algún manual.
El 0 se pone por obligación y luego vienen los números en octal de los permisos no asignados, al contrario que chmod.

http://dns.bdat.net/shell/node126.html
Para el shell tienes "help umask", el man de la syscall está en el 2 "man 2 umask".

Se trata de una máscara, y hace lo contrario de lo que pones. Si la pones a 0777 los nuevos ficheros se crearán como 0000, es una simple negación. Recuerda que el umask se carga en un fichero al arranque del terminal, y sólo es válido durante la vida de este, si lo cambias, el cambio se pierde al cerrar.

Lo del 0 anterior es por la notacion octal.
Muchas gracias a todos, ya me ha quedado claro.
si quieres que siempre te haga un umask concreto puedes ponerlo en tu .bashrc para tu suario o en el de /etc/ para todos :Ð
5 respuestas