umask函数

 1 #include "apue.h"
 2 #include <fcntl.h>
 3 
 4 #define RWRWRW (S_IRUSR|S_IWUSR|S_IRGRP|S_IWGRP|S_IROTH|S_IWOTH)
 5 
 6 int 
 7 main(void)
 8 {
 9         umask(0);
10         if(creat("foo", RWRWRW) < 0)
11                 err_sys("creat errro for foo");
12         umask(S_IRGRP|S_IWGRP|S_IROTH|S_IWOTH);
13         if(creat("bar", RWRWRW) < 0)
14                 err_sys("creat error for bar");
15         exit(0);
16 }

程序运行结果

1 [root@localhost apue]# ./prog4-3
2 [root@localhost apue]# ls -l foo bar
3 -rw------- 1 root root 0 01-02 02:00 bar
4 -rw-rw-rw- 1 root root 0 01-02 02:00 foo

我们可以看到,在程序中设置了屏蔽字,然后文件的权限是屏蔽字作用的结果

你可能感兴趣的:(umask函数)