как установить права доступа к файлам по умолчанию для всех папок / файлов в каталоге?

<p>я хочу установить папку таким образом, чтобы все созданные в ней (каталоги, файлы) наследовали разрешения по умолчанию и группу.</p><p>давайте назовем группу "сми". кроме того, папки/файлы, созданные в каталоге, должны автоматически иметь g + rw.</p>

<p>я нашел это: <a href="http://www.linuxquestions.org/questions/linux-desktop-74/applying-default-permissions-for-newly-created-files-within-a-specific-folder-605129/">применение разрешений по умолчанию</a> </p><p>из статьи:</p><pre><code>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 </code></pre><p>далее мы можем проверить:</p><pre><code>getfacl /<directory> </code></pre><p>вывод:</p><pre><code># 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 </code></pre>

<p>это дополнение к ответу криса, оно основано на моем опыте работы с моей установкой arch linux.</p><p>использование ключа по умолчанию (-d) и ключа изменения (-m) только изменит разрешения по умолчанию, но оставит существующие без изменений:</p><pre><code>setfacl -d -m g::rwx /<directory> </code></pre><p>если вы хотите изменить всю структуру разрешений папки, включая существующие (вам придется сделать дополнительную строку и сделать ее рекурсивной -r:</p><pre><code>setfacl -r -m g::rwx /<directory> </code></pre><p>например.</p><pre><code>setfacl -r -m g::rwx /home/limited.users/<directory> // gives group read,write,exec permissions for currently existing files and folders, recursively setfacl -r -m o::x /home/limited.users/<directory> //revokes read and write permission for everyone else in existing folder and subfolders setfacl -r -d -m g::rwx /home/limited.users/<directory> // gives group rwx permissions by default, recursively setfacl -r -d -m o::--- /home/limited.users/<directory> //revokes read, write and execute permissions for everyone else. </code></pre><p>(<strong> credit </strong> чтобы отметить markdwite в комментариях для синтаксиса строки отзыва всех привилегий)</p>

<p>добавьте себя/зарегистрированного пользователя в группу www-data, чтобы мы могли работать с файлами, созданными сервером www-data</p><pre><code>sudo usermod -a -g www-data $user необходимо перезапустить/перезапустить, чтобы вновь добавленная группа вступила в силуcd /var/www добавьте www-данные в качестве члена группы html-папки, а вашего пользователя - в качестве владельца, чтобы мы владели им и членом группыsudo chown -r $user:www-data html </code></pre><p>поставьте свое имя пользователя вместо пользователя user</p><p>установите права на чтение, запись и выполнение, как требуется, (ugo) u = пользователь, g = группа, o = другие</p><pre><code>sudo chmod 750 html </code></pre><p>установите gid html, теперь вновь созданные файлы в html будут наследовать права владения:</p><pre><code>sudo chmod g+s html </code></pre><p>это создает правила по умолчанию для вновь созданных файлов/каталогов в каталоге html и подкаталогах.</p><pre><code>sudo setfacl -r -d -m u::rwx -m g::rx -m o::000 html </code></pre><p>сделайте selinux, если он установлен, игнорируйте требования к контексту www-данных, чтобы он разрешал права на запись</p><pre><code>sudo setsebool -p httpd\_unified 1 </code></pre><p>список каталогов, чтобы увидеть новые разрешения применяются</p><pre><code>ls -ld html </code></pre><p>возвращает это</p><pre><code>drwxrwsr-x+ 3 html www-data </code></pre><p>трейлинг + означает, что acl, access control list, установлен в каталоге.</p><p><strong> <em> ссылка</em> </strong>: <a href="https://www.linuxquestions.org/questions/linux-desktop-74/applying-default-permissions-for-newly-created-files-within-a-specific-folder-605129/#post2982934">ссылка на форум</a> </p>