当前位置: 技术问答>linux和unix
linux creat函数的mode参数问题
来源: 互联网 发布时间:2017-01-01
本文导语: 写了这样的测试代码: #include #include #include int main(){ int fdout; fdout = creat("tt.in", 0002); if(fdout == -1) printf("errorn"); else close(fdout); } 创建出来的文件权限却是0000.....
写了这样的测试代码:
创建出来的文件权限却是0000....
如果改成 fdout = creat("tt.in", 0666); 创建出来的文件权限是0664....
在ssh下用chmod 0666 tt.in 却又正常可以改权限为0666
然后我就纠结了
求解T.T
#include
#include
#include
int main(){
int fdout;
fdout = creat("tt.in", 0002);
if(fdout == -1)
printf("errorn");
else
close(fdout);
}
创建出来的文件权限却是0000....
如果改成 fdout = creat("tt.in", 0666); 创建出来的文件权限是0664....
在ssh下用chmod 0666 tt.in 却又正常可以改权限为0666
然后我就纠结了
求解T.T
|
文件的创建的权限是会受到系统权限屏蔽影响的
试试这个命令umask 可以查看到屏蔽的权限
试试这个命令umask 可以查看到屏蔽的权限