您的位置:首页 > 运维架构 > Linux

linux下的open函数中的mode问题

2016-03-24 20:04 766 查看
#include <sys/types.h>
#include <sys/stat.h>
#include <fcntl.h>
int open(const char *pathname, int flags);
int open(const char *pathname, int flags, mode_t mode);

linux中对open函数的定义在功能手册的第二本上,可以利用man 2 open 进行查找相关的描述

1.open的主要功能是用来打开一个已经存在的文件,或者创建一个没有的新文件(这里讨论的是创建的问题)
2.open创建一个文件,不能是外部文件中进行创建。
因为:在/mnt/hgfs/share/下的与widows共享的目录中,不能利用open来创建一个设置权限的文件,因为外部目录的拥有者、用户组、其他人都可以进行读、写和可执行的操作,否则外部共享目录就没有必要进行linux和Windows共享。
当然,我们也可以在外部共享目录中用open创建一个文件,但是该文件的权限是777的,对于我们自己设置的mode值在这里是无效的。
3.在linux系统下进行open创建,就可以进行任意的权限设置。不信你试试!
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  linux