Когда подпапка создается, разрешение новой подпапки определяется следующим образом:
Свойства пользователя создали каталог:
а. Идентификатор пользователя
б. идентификаторы группы
Определенный
umask
- Папка родителей
default ACL
(если существует)
Примечание: больше информации можно найти в acl man
СОЗДАНИЕ ОБЪЕКТОВ И ACL ПО УМОЛЧАНИЮ
ACL доступа для файлового объекта инициализируется, когда объект создается с помощью любой из функций creat (), mkdir (), mknod (), mkfifo () или open (). Если ACL по умолчанию связан с каталогом, параметр mode для функций, создающих файловые объекты, и ACL по умолчанию для каталога используются для определения ACL нового объекта:
1. Новый объект наследует ACL по умолчанию для содержащегося каталога в качестве ACL доступа.
2. Записи ACL доступа, соответствующие битам разрешений файла, модифицируются таким образом, что они не содержат разрешений, которые не содержатся в разрешениях, указанных параметром mode.
Если ACL по умолчанию не связан с каталогом, параметр mode для функций, создающих объекты файлов, и маска создания файлов (см. Umask (2)) используются для определения ACL нового объекта:
Новому объекту назначен ACL-доступ, содержащий записи типов тегов ACL_USER_OBJ, ACL_GROUP_OBJ и ACL_OTHER. Разрешения этих записей установлены на разрешения, указанные маской создания файла.
Записи ACL доступа, соответствующие битам разрешений файла, модифицируются таким образом, что они не содержат разрешений, которые не содержатся в разрешениях, указанных параметром mode.
Инструкции по настройке ACL по умолчанию были скопированы из этого Q & A
chmod g+s <directory> //set gid setfacl -d -m g::rwx /<directory> //set group to rwx default setfacl -d -m o::rx /<directory> //set other
Далее мы можем проверить:
getfacl /<directory>
Выход:
# file: ../<directory>/ # owner: <user> # group: media # flags: -s- user::rwx group::rwx other::r-x default:user::rwx default:group::rwx default:other::r-x
Более подробную информацию о umask
можно найти в Umask Man
umask() sets the calling process's file mode creation mask (umask) to mask & 0777 (i.e., only the file permission bits of mask are used), and returns the previous value of the mask. The umask is used by open(2), mkdir(2), and other system calls that create files to modify the permissions placed on newly created files or directories. Specifically, permissions in the umask are turned off from the mode argument to open(2) and mkdir(2). Alternatively, if the parent directory has a default ACL (see acl(5)), the umask is ignored, the default ACL is inherited, the permission bits are set based on the inherited ACL, and permission bits absent in the mode argument are turned off. For example, the following default ACL is equivalent to a umask of 022: u::rwx,g::r-x,o::r-x Combining the effect of this default ACL with a mode argument of 0666 (rw-rw-rw-), the resulting file permissions would be 0644 (rw- r--r--). The constants that should be used to specify mask are described under