Страницы

Поиск по вопросам

среда, 26 февраля 2020 г.

Наследование прав директории linux

#linux #acl


Создаю папку например /tmp/foo. Выставляю на неё права 775. Соответственно для этого
выполняю chmod -R 775 /tmp/foo. Владельцем делаю пользователя myuser и группу mygroup:
chown -R myuser:mygroup /tmp/foo. Это ясно и понятно. Но есть задача: все новые файлы
и папки (условно-бесконечная вложенность) внутри /tmp/foo должны наследовать от неё
владельца и права доступа. Если я создам например файл /tpm/foo/bar.txt у него должны
быть так-же права 775 и владелец myuser группа mygroup. Даже если файл создаёт другой
пользователь из группы mygroup.

Пробовал делать chmod -R 4775 /tmp/foo всё равно у создаваемого внутри файла права
755 и владелец otheruser группа otheruser. Названия юзеров и групп условные. Что я
делаю не так?
    


Ответы

Ответ 1



Но есть задача: все новые файлы и папки (условно-бесконечная вложенность) внутри /tmp/foo должны наследовать от неё владельца и права доступа. Если коротко, то наследовать владельца невозможно (без изменений в ядре linux) и по большей части лишено практического смысла. В linux, как и в большинстве unix-подобных ОС, установка бита setuid на каталоге не даёт никакого эффекта — владельцем всегда является создатель файла. С другой стороны можно наследовать группу файла, для этого используется бит setgid: chmod g+s /tmp/foo После этого подкаталоги/файлы будут наследовать группу и бит setgid, но права всё же будут определяться umask'ом пользовательских процессов. Для того чтобы задать права по умолчанию, можно установить значения «ACL по-умочанию» (default ACL). setfacl -m d:u::rwx /tmp/foo setfacl -m d:g::rwx /tmp/foo Эти значения действуют аналогично ~umask (т.е. дополнению к umask'у) в данном каталоге, модифицируя права запрошенные процессом при создании файла/подкаталога. Т.е. любой процесс может запросить создание файла с меньшими правами, но обычно большинство программ пытается создать файл с правами 0666, а каталоги с 0777. Эти значения также наследуются подкаталогами.

Комментариев нет:

Отправить комментарий