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?

Responder a