#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下的open函数中的mode问题
最新推荐文章于 2023-01-30 18:39:29 发布