как экспортировать разрешения / списки ACL из общего ресурса Samba клиентам?

У меня есть Synology NAS с Samba, который обслуживает акции в моей сети. Я установил autofs , LDAP и sssd и могу монтировать домашние каталоги Samba на лету, когда я вхожу в машины с Linux и MacOS.

Мои общие ресурсы на NAS находятся на томе Ext4, т.е. они никогда не были ничем иным, кроме файлов Linux в файловой системе Linux. На NAS они выглядят так:

-rwxrwxrwx+ 1 smbowner users    0 Jan 30 03:05 abc
drwxrwxr--+ 2 smbowner users 4096 Jan 30 02:37 bin
-rw-r--r--  1 smbowner users    0 Jan 30 16:43 def

Однако на клиенте Linux они выглядят так:

---------- 1 netbackup netbackup 0 Jan 30 03:05 abc
drwxr-x--- 2 netbackup netbackup 0 Jan 30 02:37 bin
-rw-r--r-- 1 netbackup netbackup 0 Jan 30 16:43 def

Все файлы были созданы на клиенте Linux. И все они изначально имели файловый режим 000 , как у abc в приведенном выше примере. Если я изменю файловый режим на NAS, как я сделал для def , изменение передается клиенту, как указано выше ( 0644 ). Однако, если я выполняю chmod 0644 на стороне клиента, я получаю сообщение об ошибке («изменение разрешений 'abc': операция не поддерживается»), но он все равно делает это :-) и результат на NAS - это 0666 .

В списке на стороне NAS после режима файла есть знаки + , указывающие на то, что файлы имеют «syno ACL», которые являются проприетарными ACL Synology.Они переводятся и экспортируются клиенту и выглядят следующим образом при отображении на клиенте с помощью getcifsacl :

~> getcifsacl def
REVISION:0x1
CONTROL:0x8004
OWNER:S-1-5-21-1620245859-1572950330-1674857983-3068
GROUP:S-1-5-21-1620245859-1572950330-1674857983-1201
ACL:S-1-5-21-1620245859-1572950330-1674857983-3068:ALLOWED/OI|CI/0x1201df
ACL:S-1-5-21-1620245859-1572950330-1674857983-1201:ALLOWED/OI|CI/R
ACL:Everyone@WORLD AUTHORITY:ALLOWED/OI|CI/R
ACL:S-1-5-88-3-33188:DENIED/0x0/
ACL:S-1-5-88-1-1034:DENIED/0x0/
ACL:S-1-5-88-2-100:DENIED/0x0/

Очевидно, что здесь что-то не так: идентификаторы безопасности должны были быть 'idmapped' во что-то узнаваемое для Пользователь Linux.

Команда autofs (извлеченная из LDAP), с помощью которой монтируется общий ресурс Samba:

-fstype=cifs,vers=3.1.1,cifsacl,perm,mapposix,user_xattr,domain=<dom>,rw,credentials=<file>,file_mode=0640,dir_mode=0750,uid=&,gid=& ://<machine>/<UNC>

Насколько я понимаю, опция cifsacl должна была вызвать приведенные выше идентификаторы безопасности 'idmapped'. Также должны были быть исправлены режимы файлов ...

На основании того, что я почерпнул из различных источников в Интернете, у меня сложилось впечатление, что мне нужно как-то настроить sssd (на клиент?) и smbd (на NAS?) с данными idmap . Моя проблема в том, что я не смог найти никакой информации о том, как это сделать в отсутствие контроллера домена Active Directory.

Верны ли мои выводы на данный момент? И есть ли способ заставить sssd и smbd работать вместе, чтобы сделать разрешения на NAS и на клиенте похожими друг на друга? Или мне стоит посмотреть на что-нибудь еще?

0
задан 31 January 2021 в 03:24
1 ответ

Я не уверен, что это правильный ответ в более широком смысле, но в той мере, в какой он решает мою проблему, так оно и есть.

Обсуждения и рекомендации в этой и других предыдущих ветках ( LDAP / Samba / autofs i.a.) заставили меня пересмотреть свой подход. Я пытался настроить локальную сеть, состоящую из клиентов MacOS и серверов Unix / Linux, с центральным сервером LDAP для аутентификации, доступом SSH с машины на машину, некоторой общей сетевой файловой системой и autofs . Это было частично вызвано отказом Apple от MacOS Server, а также (для меня необъяснимым) переходом Apple на SMB. Более насущной потребностью было восстановить рабочую инфраструктуру для резервного копирования Time Machine для клиентов Mac OS, которые выходили из строя из-за того, что Apple использовала свой диалект SMBX для SMB, который не поддерживается на Synology NAS, на котором были созданы резервные копии TM. для хранения.

Чем дальше я продвигался, тем больше грязи с Windows появлялось в моей сети, в которой вообще нет компьютеров с Windows. Вся моя сетевая архитектура диктовалась Active Directory, к чему меня неумолимо подталкивали. Учитывая, что файловые системы Windows ужасно подходят (в чисто структурном смысле) MacOS и Unix / Linux в любом случае, использование SMB просто по словам Apple - это внезапно показалось смешным. Samba - замечательная программа, но, как гласит старая пословица, «из уха свиньи не сделаешь шелковый кошелек».

Итак, я начал заменять SMB на NFSv4.Теперь у меня есть сетевая файловая система, которая соответствует моим файловым системам MacOS и Unix / Linux, и я добился большего прогресса за последние три дня, чем за предыдущие три месяца.

У меня все еще есть проблема с предоставлением сетевого доступа для резервных копий Time Machine, но я сделаю это, подключив диски к Mac Mini (который был моим традиционным сервером, и теперь у него есть время) и позволю реализации Apple SMB решить то, что является чисто проблемой Apple.

Я пытался использовать SMB, потому что слухи, которые я слышал от Apple и в сети, заключались в том, что это действительно единственное шоу в городе. Apple отказалась от поддержки AFP (которая в любом случае не работает в Unix / Linux, но и SMB тоже не работает); и NFS, по общему мнению, был слишком небезопасным. Вполне возможно, что совместное создание SMB-решения было бы еще более небезопасным, если бы оно даже сработало. Итак, я надеюсь, что пока решил свою проблему.

Даже если это неправильный ответ: -)

0
ответ дан 24 April 2021 в 02:14

Теги

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