Espero que esto nos aclare un poco que hace esta función. Te mando lo que pone en el libro:
"PROGRAMACIÓN EN LINUX CON EJEMPLOS" de Kurt Wall Prentice Hall ISBN: 987-9460-09-X [...] tanto a nivel de sistema como de usuario, los permisos que se asignen serán modificados por la umask asignada al proceso, que contiene una máscara de bits compuesta por los bits de permiso a ser desactivados para los archivos y directorios nuevos que sean creados. La umask afecta solamente a los bits de permiso de un archivo; uno no puede variar por medio de umask los bits que especifican el tipo y la modalidad de ejecución de un archivo. Se puede modifcar la umask de un proceso, pero solo para hacerla más restricitva, y no menos restrictiva. Esto se efectua mediante una llamada a umask, prototipada en <sys/stat.h> tal como se muestra a continuación: mode_t umask (mode_t newmask); Esta función establece como nueva umask del proceso la máscara newmask (máscara nueva), retornando la umask anterior independientemente de que la llamada a la función umask se complete exitosamente o no. Ejemplo. El ste. programa de demostración llama a umask para establecer una nueva umask más restrictiva. #include <sys/stat.h> #include <sys/types.h> #include <stdio.h> #include <stdlib.h> int main(void) { mode_t nueva_mascara=666, mascara_anterior; /* los digitos son octales */ mascara_anterior = umask(nueva_mascara); printf("La umask anterior era %#o\n" mascara_anterior"); printf("La nueva umask es %#o\n" nueva_mascara"); system("touch foo"); exit (EXIT_SUCCESS); } El Vie 01 Nov 2002 10:33, Victor Ruiz Huerga escribió: > Aupa, alguien sabe que hay que poner en el umask para que me cree los > ficheros con los permisos: > > 775 > > he probado a poner umask 002 y umask 0002 y me crea 664 > he probado tb umask u=rwx,g=rwx,o=rx > > y me sigue poniendo 664 > > ¿no se puede poner por defecto 775?