FILE_MODE是什么?
来源:互联网 发布:java直角三角形 编辑:程序博客网 时间:2024/06/04 23:37
众所周知,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_IXGRPS_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,因为用户组和其他用户根本没有写的权限。
关于FILE_MODE值的问题所以,以后在进程间通信(IPC)中用到FILE_MODE的地方就要记得,可不能把它设置为0777啦!关于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_IXGRPS_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,因为用户组和其他用户根本没有写的权限。
关于FILE_MODE值的问题所以,以后在进程间通信(IPC)中用到FILE_MODE的地方就要记得,可不能把它设置为0777啦!关于FILE_MODE值的问题
0 0
- FILE_MODE是什么?
- 关于FILE_MODE值的问题,!!!!!
- 关于FILE_MODE值的问题
- 老公是什么?老婆是什么?
- 爱情是什么?婚姻是什么?
- ASIC是什么?FPGA是什么?
- 爱情是什么? 婚姻是什么?
- ppp是什么,作用是什么
- java是什么,编程是什么
- LDAP是什么?OLAP是什么?OLTP是什么?
- Java是什么
- DudoJ是什么?
- Blog是什么?
- 失恋是什么?
- 孤独是什么
- 书是什么
- blog是什么?
- delphi是什么
- 利用Nginx第三方模块,实现网站中的打包下载
- sp dp dip区别
- 封装字段以及异常的处理
- [WebApi] 捣鼓一个资源管理器--多文件上传+数据库辅助
- PLSQL Developer 配置Oralce11g连接
- FILE_MODE是什么?
- 解决centos开机卡住 , 出现 :Determining IP Information for eth0...问题
- 8.3.1 函数的记录
- Oracle存储过程基本语法
- Java集合框架中hashSet的执行原理
- Ext4文件系统一之架构分析
- Weka与MySQL连接配置
- [Git]初学者注意事项
- ImageLoader加载圆形图片