Права доступа к файлу изменяются после распаковки файла .gz; как мне предотвратить это?

У меня есть файловая система NFS4 с настройкой аутентификации на основе AD и соответствующими ACLS. Я контролирую доступ к машинам, которые монтируют файловую систему, поэтому списки ACL очень простые. Один запрещает пользователям переименовывать или удалять папки на родительском уровне. Второй ACL дает «Всем» и «Пользователям домена» полный доступ к «Подпапкам и файлам»

, у меня проблема в том, что в одной из подпапок есть файл * .pax.gz. Если я войду в клиент Linux и компакт-диск с этой папкой, я могу увидеть файл и правильные разрешения. Если я запустил gunzip «filename», он затем создаст файл * .pax, но разрешения «Все» и «Пользователи домена» исчезнут, и я стать владельцем этого файла.

Можно ли установить ACL или что-то еще, что в конечном итоге приведет к тому, что файл * .pax с теми же разрешениями, что и файл * .pax.gz?

1
задан 23 March 2016 в 21:21
3 ответа

Вам необходимо добавить ACE в родительский каталог с помощью флагов 'f' и 'd' , чтобы принудительно унаследовать вновь созданные файлы и каталоги от этих ACE .

из справочной страницы nfs4_acl:

  ФЛАГИ НАСЛЕДОВАНИЯ - могут использоваться в любом каталоге ACE

  d directory-inherit - вновь созданные подкаталоги унаследуют ACE.

  f file-inherit - вновь созданные файлы унаследуют ACE за вычетом его флагов наследования.  Недавно созданные подкаталоги
  унаследует ACE;  если наследование каталога также не указано в родительском элементе управления доступом, только наследование будет добавлено к
  унаследовал ACE.
  n без распространения-наследования - вновь созданные подкаталоги унаследуют ACE за вычетом его флагов наследования.

  я только наследование - ACE не учитывается при проверке разрешений, но является наследуемым;  однако флаг только наследования
  удаляется из унаследованных ACE.
 
0
ответ дан 4 December 2019 в 10:57

Это должно решить проблему:

sudo -u <current file owner> -g "Domain Users" gunzip *.pax.gz

Причина, по которой вам нужно сделать это таким образом, - когда вы распаковываете что-то, программа загружает gz в память, распаковывает его, записывает распакованную версию на диск как новый файл 1 и отключает (удаляет) старую версию.

[1]:Когда вы создаете новый файл, пользовательский контекст, в котором вы находитесь, является владельцем, а их основная группа - это группа указанного файла, -g заставляет sudo изменить основную группу для этого сеанса.

Разрешение пользователям без полномочий root сделайте следующее:

Создайте системную группу пользователей, которым вы хотите разрешить использовать gunzip, в этом примере мы назовем ее «gunzip».

visudo

Добавить строку:

%gunzip ALL=(ALL) NOPASSWD:NOEXEC: gunzip

Сохранить и выйти

-1
ответ дан 4 December 2019 в 10:57

Чтобы правильно хранить и восстанавливать информацию метаданных в виде списков управления доступом и т.п., вы должны использовать tar -pzcf и tar -pzxf вместо простого ] gz или gunzip

-1
ответ дан 4 December 2019 в 10:57

Теги

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