есть способ автоматически установить sudo chmod 777
для всех файлов, папок и подпапок в каталоге. sudo chmod 777
должен автоматически устанавливаться при создании папки или файла в родительском каталоге.
Есть ли способ сделать это?
Один путь, который приходит на ум, эти setfacl
команда. Вот руководство Ubuntu о том, как включить ACL (списки управления доступом) для точки монтирования. Подводя итоги, установите соответствующий пакет
sudo apt-get install acl
тогда, добавьте опцию 'acl' к точке монтирования в/etc/fstab
UUID=07aebd28-24e3-cf19-e37d-1af9a23a45d4 /home ext4 defaults,acl 0 2
наконец, повторно смонтируйте диск, таким образом, изменения вступают в силу
sudo mount -o remount /home
После выполнения этого, можно использовать setfacl
и getfacl
для установки опций для любого каталога или файла в частности. Опции ACL для каталогов также включают способность установить полномочия по умолчанию для новых файлов и подпапок с командами как следующее:
setfacl -d -m u::rwx /folder/to/modify # Default permissions for owning user
setfacl -d -m g::rwx /folder/to/modify # Default permissions for owning group
setfacl -d -m o::rwx /folder/to/modify # Default permissions for others
Для ссылки, вот страница справочника для setfacl. Кроме того, в то время как эти полномочия будут применяться по умолчанию к недавно созданным субфайлам, и папки, setfacl может все еще использоваться для изменения прав после факта при желании. Наконец, после включения ACLs, Вы видите, который файлам/папкам ответили ACL в выводе Вашего ls -l
команда путем поиска +
символ после полномочий. Например,
-rw-r--r--+ # Has ACL applied
-rw-r--r-- # No ACL applied
В ударе выполняются umask 000
и затем каждый каталог, который Вы создаете, будет иметь полномочия 777 и каждый файл, который Вы создаете, будет иметь полномочия 666. Вы не можете создать исполняемые файлы по умолчанию, необходимо явно сделать их настолько использующим chmod. Это - средство защиты.
Примечание, что umask является "поразрядным xor" желаемых полномочий файла и получить самый разрешающий режим 777, необходимо использовать umask 000.
В недавних системах Ubuntu Вы устанавливаете umask в масштабе всей системы в файле /etc/login.defs
. Более старое системное использование /etc/profile
.
имейте в виду это люди, которые создают операционные системы, знают вещь или два о безопасности и выбрали umask 022 по причине. Вы сделаете свой компьютер довольно небезопасным, если Вы последуете этому совету.