Настройка специального разрешения для каталога

В Arch Linux и производных, таких как Manjaro, / bin является символической ссылкой на / usr / bin . Символическая ссылка имеет размер 0, поэтому du / bin сообщает 0.

В выводе du / * учитываются файлы в / bin для под / usr , потому что там они на самом деле находятся - в / usr / bin .

В наши дни размер дисков, как правило, намного больше, чем размер операционных систем, поэтому классическое различие между / usr (где находится большинство прикладных программ) и / bin ] + / etc + / lib + / sbin (содержащий минимум, необходимый для запуска системы) часто считается несущественным. Вот почему некоторые дистрибутивы, такие как Arch, объединили их и больше не поддерживают отделение / usr от корневого раздела.

0
09.12.2018, 04:51
2 ответа

Итак, вы хотите, чтобы файлы/каталоги, созданные в этом каталоге, наследуют разрешения родительского каталога?

Для этого вам нужно использовать ACL по умолчанию(acl(5)):

If a default ACL is associated with a directory, the mode parameter to the functions creating file objects and the default ACL of the directory are used to determine the ACL of the new object:

  1. The new object inherits the default ACL of the containing directory as its access ACL.

Таким образом, сsetfacl(1)флаг -dсообщает ему изменить ACL по умолчанию:

$ ls -ld data
drwxrwsr-x+ 2 userone groupone 4096 Dec  8 18:36 data/
$ setfacl -d -m u::rwx,g::rwx,o::r-x data
$ getfacl data
# file: data
# owner: userone
# group: groupone
# flags: -s-
user::rwx
group::rwx 
other::r-x
default:user::rwx
default:group::rwx
default:other::r-x

При такой настройке новый файл или каталог, созданный в каталоге, получает разрешения из списка управления доступом по умолчанию. Это переопределяет umaskпроцесса, создающего файл, но не переопределяет режим файла, указанный в open()/ mkdir()/etc. системный вызов.

$ mkdir data/test
$ ls -ld data/test
drwxrwsr-x+ 2 userone groupone 4096 Dec  8 18:38 data/test/

Возможно, вам потребуется включить ACL в файловой системе во время монтирования с помощью параметра монтирования acl.

1
28.01.2020, 05:05

Настройка ACL во время монтирования выполняется через строку /etc/fstab для этого монтирования. Подробности смотрите в man fstab, он находится в 4-м параметре. Возможные значения зависят от файловой системы, которую вы можете найти в файле man mount. Для ext2/3/4 можно добавить просто acl или noacl. (Выше должен быть комментарий, но я не могу оставлять комментарии ).

-2
28.01.2020, 05:05

Теги

Похожие вопросы