首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 操作系统 > UNIXLINUX >

请教为什么open使用O_CREATE权限设置不对

2012-06-11 
请问为什么open使用O_CREATE权限设置不对C/C++ codefdopen(test.txt,O_CREAT|O_RDWR|O_TRUNC,S_IRWXU|S

请问为什么open使用O_CREATE权限设置不对

C/C++ code
fd=open("test.txt",O_CREAT|O_RDWR|O_TRUNC,S_IRWXU|S_IRGRP|S_IWGRP|S_IRWXO);


这样创建的一个test.txt却是rwxrw-r-x这样的权限,不是应该是rwxrw-rwx吗????

C/C++ code
nantian5:/home/train/priv/67/test02>lsfiletest  filetest.cnantian5:/home/train/priv/67/test02>./filetest open test.txt fd=3currops=0nantian5:/home/train/priv/67/test02>lsfiletest  filetest.c  test.txtnantian5:/home/train/priv/67/test02>ls -ltotal 24-rwxrwxr-x 1 train train 5077 Jun  9 20:55 filetest-rw-rw-r-- 1 train train  469 Jun  9 20:55 filetest.c-rwxrw-r-x 1 train train    0 Jun  9 21:57 test.txtnantian5:/home/train/priv/67/test02>


[解决办法]
umask
[解决办法]
open设置文件权限是同你当前用户的umask掩码值共同决定的。你可先设置umask值为000,然后再用open设置文件权限。

热点排行