umask函数

#include <sys/types.h>
#include <sys/stat.h>

mode_t umask(mode_t mask);

在进程创建一个新的文件或目录时,如调用open函数创建一个新文件,新文件的实际存取权限是mode与umask按照  mode&~umask运算以后的结果。umask函数用来修改进程的

umask。参数mask可以直接取数值也可以为open系统调用第三个参数mode的11个宏或他们的组合。

The following symbolic constants are provided for mode:

S_IRWXU 00700 user (file owner) has read, write and execute permission

S_IRUSR 00400 user has read permission

S_IWUSR 00200 user has write permission

S_IXUSR 00100 user has execute permission

S_IRWXG 00070 group has read, write and execute permission

S_IRGRP 00040 group has read permission

S_IWGRP 00020 group has write permission

S_IXGRP 00010 group has execute permission

S_IRWXO 00007 others have read, write and execute permission

S_IROTH 00004 others have read permission

S_IWOTH 00002 others have write permission

S_IXOTH 00001 others have execute permission

 

int main(int argc, char* argv[])
{
  umask(0);//不屏蔽任何权限
  creat("t1", S_IRWXU|S_IRWXG|S_IRWXO);

  umask(S_IRWXO);//屏蔽其他用户的所有权限
  creat("t2", S_IRWXU|S_IRWXG|S_IRWXO);

  return 0;
}

 

-rwxrwxrwx 1 root root 0 Jan 22 10:26 t1
-rwxrwx--- 1 root root 0 Jan 22 10:26 t2

 

转载于:https://www.cnblogs.com/zhangxuan/p/6339621.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值