无法通过 open() 创建的文件授予其他人对我的写入访问权限

Can't grant others write access to my via open() created file

本文关键字:我的 其他人 权限 访问权 访问 文件 open 创建      更新时间:2023-10-16

我正在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