Наследование прав доступа к каталогу Linux для новых созданных файлов

Наследование прав доступа к каталогу Linux для новых созданных файлов

ive следующая папка

 drwxr-xr-x   7 root root 45056 Nov 25 12:39 data

которые включают в себя подкаталоги и файлы, все 755,

но когда я создаю новый файл внутри этих каталогов, он получает разрешение

-rw-r--r-- 1 root root    0 Nov 28  2013 new

как заставить новые файлы создаваться в этих каталогах, принимая 755, не делая этого вручную? Я пробовал chmod g+s, но ничего не произошло,

какие-нибудь советы

решение1

Единственный способ установить разрешения бита — через ваш umask. Когда создается файл, скажем, с разрешениями 666 (это в восьмеричном формате), ваш umask решает, какие биты будут перевернуты в 0.

Объясняю подробнее: rwx rwx rwx означает User Group World соответственно. Если бы каждый бит был установлен в 1 (111 111 111), это было бы 0777 (в восьмеричном формате). 0666 — это 110:110:110 или rw_rw_rw. Надеюсь, это понятно.

По умолчанию ваш umask будет 022 - (восьмеричное 022). Это говорит о том, какие биты следует сохранить (0), а какие нет (1). (Это немного не интуитивно понятно).

Возьмем созданный файл 666: 6 & ~0 = 6 6 & ~2 = 4 6 & ~2 = 4

Таким образом, созданный файл будет иметь права 644 (rw-r--r--).

Обратите внимание, что эффект umask заключается в маскировании битов, которые передаются вызову создания файла. Если вызов занимает 666, нет способа сделать его 755 без выполнения "chmod a+x file" вручную.

Также эффект g+s, устанавливающий group suid, заключается в установке группы-владельца, а не битовых разрешений. Windows гораздо более тонка в этом отношении (ACL), но существуют расширения файловой системы для добавления разрешений ACL в файловые системы Linux.

Связанный контент