Дайте разрешение для новых созданных файлов в папке автоматически

У меня есть папка, какое разрешение установлено на 777, но когда я добавляю любые файлы или папку, разархивировавшую в той папке. Извлеченные файлы или разрешение папки никогда не изменяются. Разрешение папки назначения 777, и я хочу то, что я добавлю в той папке, автоматически получит разрешение 777.

Когда я добавлю любые файлы или папку путем извлечения .zip в той папке, извлеченное разрешение папки/файлов не изменится автоматически. Я всегда имею к chmod для, недавно добавляют файл/папку!

7
задан 16 October 2017 в 22:30

1 ответ

То, что Вы хотите, называют ACL - Списки управления доступом.

Список управления доступом (ACL) обеспечивает дополнительный, более гибкий механизм разрешения для файловых систем. Это разработано для помощи с полномочиями файла UNIX. ACL позволяет Вам давать полномочия для любого пользователя или группы к любому дисковому ресурсу.

acl пакет должен быть уже установлен, чтобы проверить, что он работает: dpkg -s acl.

Для использования ACL, необходимо включить его для файловой системы. Но это может быть уже включено. Для проверки его используют tune2fs -l. Замена /dev/sda6 для Вашей системы:

$ tune2fs -l /dev/sda6 | grep "Default mount options:"
Default mount options:    user_xattr acl

Если Вы видите acl слово - оно уже включено для устройства /dev/sda6.

Если Вы не видите, что acl слово - работает tune2fs -o acl /dev/sda6 включить его.


Изменить использование ACL setfacl команда. Для добавления полномочий используют setfacl-m.

Установить разрешение для пользователя:

$ setfacl -m "u:username:rwx" /path/to/folder

Это установит rwx ACL, для пользователя username к/path/to/folder. Это означает, что все файлы, созданные в этой папке, будут иметь rwx разрешение для username.


Установить разрешение для группы:

$ setfacl -m "g:groupname:rwx" /path/to/folder

Это установит rwx ACL, для группы groupname к/path/to/folder. Это означает, что все файлы, созданные в этой папке, будут иметь rwx разрешение для группы groupname.


Установить разрешение для другого:

$ setfacl -m "o:rwx" /path/to/folder

Это установит rwx ACL, для другого к/path/to/folder. Это означает, что все файлы, созданные в этой папке, будут иметь rwx разрешение для другого.


Проверять разрешение:

$ getfacl /path/to/folder

Объединить acl

$ setfacl -m u:username:rwx,g:groupname:rwx,o:rwx /path/to/folder

ACL по умолчанию

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

 If no default ACL is associated with a directory, the mode parameter to the func‐
 tions creating file objects and the file creation mask (see umask(2)) are used to
 determine the ACL of the new object:

 The new object is assigned an access ACL containing entries of tag types
 ACL_USER_OBJ, ACL_GROUP_OBJ, and ACL_OTHER. The permissions of these entries
 are set to the permissions specified by the file creation mask.

Таким образом, при установке ACL по умолчанию это был бы предпочтенный ACL. Это означает если установленный ACL для user или group, новый созданный файл наследовал бы значение по умолчанию acl так или иначе. Будьте тщательно с ACL по умолчанию.

Установить значение по умолчанию acl использование -d ключ,

$ setfacl -d -m u::rwx,g::rwx,o::rwx /path/to/folder

или используйте default слово

$ setfacl -m default:u::rwx,default:g::rwx,default:o::rwx /path/to/folder

Будьте тщательно с установкой ACL по умолчанию. Например, если установлено как это:

$ setfacl -d -m o:--x /path/to/folder

и теперь выберите этот ACL

$ getfacl /path/to/folder
# file: path/to/folder
# owner: c0rp
# group: c0rp
user::rwx
group::rwx
other::--x
default:user::rwx
default:group::rwx
default:other::--x

ACL по умолчанию для группы и пользователя будет rwx автоматически!

Удалите ACL

$ setfacl -b /path/to/folder

Это удалит весь ACL из папки


Наконец

Если Вы - только пользователь в системе, я рекомендую значению по умолчанию использования ACL.

$ setfacl -d -m u::rwx,g::rwx,o::rwx /path/to/folder

Это сделает то, что Вы хотите для/path/to/folder

Источники

archlinux - https://wiki.archlinux.org/index.php/Access_Control_Lists

help.ubuntu - https://help.ubuntu.com/community/FilePermissionsACLs

12
ответ дан 23 November 2019 в 06:22

Другие вопросы по тегам:

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