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?