我有一个目录" some_path / my_data"我希望目录中创建的所有文件都属于group" test_group"和组已经读取并执行了子目录的位设置和文件的读取位
我这样做了。以root身份执行
chown -R myuser:test_group some_path/my_data
chmod -R 2750 some_path/my_data
接下来,我有一个进程(uid:proc,gid:proc),它将为这个some_path / my_data目录创建文件和目录,这个进程有一个umask 077(rxw ------)
进程使用boost来编写文件和目录,这就是 我用
if (is_directory())
{
permissions(p_copy_to,add_perms|group_exe|set_gid_on_exe);
}
permissions(p_copy_to,add_perms|group_read);
因此,所写文件的权限是
some_path/my_data:
-rw-r----- 1 proc test_group 1298 Apr 7 17:40 file1
-rw-r----- 1 proc test_group 1704 Apr 7 17:40 file2
drwxr-x--- 2 proc test_group 4096 Apr 7 17:40 dir1
somepath/my_data/dir1:
-rw-r----- 1 proc proc 1220 Apr 7 17:40 file1
-rw-r----- 1 proc proc 1220 Apr 7 17:40 file2
-rw-r----- 1 proc proc 1220 Apr 7 17:40 file3
当我跳过设置" set_gid_on_exe"从提升结果 目录是
somepath/my_data/:
drwxr----- 2 proc test_group 4096 Apr 7 17:40 dir1
somepath/my_data/dir1:
-rw-r----- 1 proc test_group 1220 Apr 7 17:40 file1
-rw-r----- 1 proc test_group 1220 Apr 7 17:40 file2
-rw-r----- 1 proc test_group 1220 Apr 7 17:40 file3