我正在使用 open() 在 linux 上创建一个文件
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/