我正在linux上使用open()创建一个文件

mode_t perms = S_IRUSR | S_IWUSR | S_IRGRP | S_IWGRP | S_IROTH | S_IWOTH;
int i = open(settingsPath.c_str(), O_CREAT | O_RDWR, perms);

如您所见,我正在为每个人指定读/写权限。
但是当我检查终端中的权限时,它会说
-rw-rw-r-- 1 tstadler tstadler    0 Apr 17 10:54 settings.json

为什么我不能给每个人写权限?

最佳答案

似乎当前进程“umask屏蔽了对每个人的写权限。
man 2 umask

关于c++ - 无法授予其他人通过open()创建的文件对我的写访问权,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/23128698/

10-16 20:35