C语言通过umask设置默认权限掩码

3114阅读 0评论2011-09-06 mychz2011
分类:LINUX

  1. #include   
  2. #include   
  3. #include   
  4. #include   
  5. /* 
  6.  * Linux下设置新建文件时的默认权限掩码 
  7.  * 由umask函数设置 
  8.  * sys/types.h,sys/stat.h 
  9.  * mode_t umask(mode_t umask) 
  10.  * 传入四位八进制数,返回系统原先的权限掩码 
  11.  * 0666对应Linux文件权限中的0000 
  12.  * 0444对应0222 
  13.  *  
  14.  */  
  15. int main(void)  
  16. {  
  17.     mode_t new_umask, old_umask;  
  18.     new_umask=0666;  
  19.     old_umask=umask(new_umask);  
  20.     printf("系统原来的权限掩码是:%o/n",old_umask);  
  21.     printf("系统新的权限掩码是:%o/n",new_umask);  
  22.     system("touch liu1");  
  23.     printf("创建了文件liu1/n");  
  24.     new_umask=0444;  
  25.     old_umask=umask(new_umask);  
  26.     printf("系统原来的权限掩码是:%o/n",old_umask);  
  27.     printf("系统新的权限掩码是:%o/n",new_umask);  
  28.     system("touch liu2");  
  29.     printf("创建了文件liu2/n");  
  30.     system("ls liu1 liu2 -l");  
  31.     return 0;  
  32.     /*执行结果 
  33.      *  系统原来的权限掩码是:22 
  34.      *  系统新的权限掩码是:666 
  35.      *  创建了文件liu1 
  36.      *  系统原来的权限掩码是:666 
  37.      *  系统新的权限掩码是:444 
  38.      *  创建了文件liu2 
  39.      *  ---------- 1 jinyong jinyong 0 2010-12-28 21:57 liu1 
  40.      *  --w--w--w- 1 jinyong jinyong 0 2010-12-28 21:57 liu2 
  41.     */  

上一篇:git 恢复删除文件
下一篇:关注生活,关注健康