系统调用方式创建文件--文件属性
来源:互联网 发布:手机翻墙软件 编辑:程序博客网 时间:2024/05/06 13:22
Creat(filename, 0755)
创建文件是要加文件属性
例:
0751为文件属性:0: 占位符(可忽略)
7:文件的所有者 可读,可写,可执行
5:文件所有者所在的组,跟用户一组 可读,可执行
1:其他的用户,可执行
S_IRUSR用户读 4
S_IWUSR用户写 2
|S_IXUSR用户执行 1
S_IRGRP 用户组其他成员读4
S_IROTH 其他用户读4
众所周知,FILE_MODE是一个宏,它经常定义成如下形式;
#define FILE_MODE (S_IRUSR|S_IWUSR|S_IRGRP|S_IROTH)
定义成这样的意思是:允许用户读、写;组成员只读和其他用户只读。这些权限位会被当前进程的文件模式创建掩码修正,也就是程序中用到FILE_MODE的地方,它的值会被替换为0644。
当然,这个值是可以用户自定义的。但是,经过试验我们发现,这个权限是有限制的。无论是在FIFO中还是在Posix消息队列中,FILE_MODE的值都不可能是0777。因为用户的权限可以是读、写、执行的;但是用户组和其它用户最高权限是可读可执行,不可写。因此,如果你将FILE_MODE自定义如下:
#define FILE_MODE (S_IRUSR|S_IWUSR|S_IXUSR|S_IRGRP|S_IWGRP|S_IXGRP|S_IROTH|S_IWOTH|S_IXOTH);
或者#define FILE_MODE 0777;
假如生成的可执行文件名是test,当你通过ls -l test查看时,你只能得到如下结果:
-rwxr-xr-x 1 jingjing jingjing 13315 2011-07-28 09:09 test;
注意:这里的权限不是-rwxrwxrwx,因为用户组和其他用户根本没有写的权限。
所以,以后在进程间通信(IPC)中用到FILE_MODE的地方就要记得,可不能把它设置为0777啦!
- 系统调用方式创建文件--文件属性
- Unix文件属性相关系统调用
- 系统调用方式访问文件
- 文件编程:系统调用方式
- 文件编程:系统调用方式
- 系统调用方式文件编程
- 系统调用方式访问文件
- 系统调用方式文件编程
- Linux - 文件属性及目录相关系统调用
- 创建以及打开文件文件“系统调用”
- 系统调用的方式访问文件
- 第二天 文件编程 系统调用方式
- 文件编程之系统调用方式
- linux系统调用方式访问文件
- Linux系统调用方式访问文件
- linux系统调用方式访问文件
- 03-系统调用方式文件编程
- linux系统调用 创建文件 file_creat.c
- Servlet3.0中Servlet的使用
- POJ 1947/hrbust 2098 Rebuilding Roads【树型dp】
- webService学习3:客户端生成webservice代码
- webstorm下搭建编译less环境 以及设置压缩css
- python《初次理解变量》
- 系统调用方式创建文件--文件属性
- <Hadoop>Spark On Hadoop集群安装
- RAR文件的图标不能正常显示为压缩包的图标解决办法
- openwrt 运行多线程程序出现警告
- Android 关闭WebView之后 ,声音或者视频不停止
- 农村土地确权之成果展示 —— 三个调查表
- Hdu 5155 Harry And Magic Box
- uva10562 Undraw the Trees
- slam用传感器的优缺点分析