umask函数的用处

 
#include "sys/types.h"
#include "sys/stat.h"

mode_t umask(mode_t cmask);

umask函数为进程设置文件方式创建屏蔽字。

unix中文件最大访问权限是0777, 即_rwxrwxrwx.
如果讲umask函数设置为0111, 那么默认创建文件的权限就是0777与0111的异或0666,即_rw_rw_rw.这是umask给进程限定的最高权限。
当进程使用open或creat创建新文件时, 存取权限就是指定存取权限同0666的位与结果。
也就是说,用户创建文件时无论指定什么权限,都要与这个umask产生的最高权限进行与操作,即文件的权限不可能比这个最高权限还要高了。
比如下列代码:
umask(0111);
creat("newfile", 0777);

得到的newfile的存取权限仍然是0666,即0777&0666=0666, 这就是umask的作用, 有点子网掩码的味道。
 

转载于:https://www.cnblogs.com/JackJia/archive/2012/06/02/2531984.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值