LINUX.ORG.RU
ФорумAdmin

Права создаваемых через samba файлов

 ,


0

2

CentOS 8, SELinux включен, но отключался, эффекта не отказывало. samba 4.13.3-4.el8_4. Машина - часть местной AD. Конфиг: https://pastebin.com/uNLhDR2S

Пытаюсь настроить для расшарки my правильные права создаваемых файлов. Добавляю в описание шары create mask с разными параметрами. Создаю с win-машины файл и смотрю получившиеся права. Результаты:

create mask 0123 : права 577
create mask 0456 : права 477
create mask 0774 : права 775

Ладно, пробуем с force create mode:

force create mode 0640 : права 775
force create mode 0123 : права 777
force create mode 2567 : права 777
force create mode 0345 : права 775

Связку create mask и force create mode пробовал. Тоже разные результаты, но никакой осмысленной взаимосвязи не выявляется.

inherit acls ставить в no пробовал, нет эффекта.

Гуглить бесполезно. Судя по всему никто не понимает как это работает. Везде какие-то шаманские советы. Каким-то единицам они даже помогают, но мне или нет, или у меня уже применены. (В одном посте на SO советовали прописать «inherit permissions = no», в другом «unix extensions = no». Но оно у меня уже есть.

Есть на ЛОР хоть один человек, понимающий как это в samba работает?

★★★★★

Включи на файловой системе и в самба поддержку acl и далее назначь права на файлы через вкладку безопасность через windows для доменных групп и пользователей.

anonymous ()
Ответ на: комментарий от anonymous

И включи inherit permissions = no в yes - это наследование прав.

Включил - ноль эффекта.

P.S. Забавно, что если задать create mask 111 - файл получает права 575. Т.е. что-то принципиально не даёт samba установить права группе...

atrus ★★★★★ ()
Ответ на: комментарий от atrus

Цель, чтобы файлы созданные любым способом через шару получали права 640

Без ACL? В Samba 4? Ну удачи, чо, строгие UNIX-вэйные права там наглухо сломаны - либо оффтопик-клиенты будут создавать дичь, либо UNIX-клиенты. По идее можно это упорядочить через force security mode - но он наглухо сломан. Только через acl худо-бедно что-то разруливается(и то с execute-битом вечная беда). Мой рецепт:

        # ACL params
        map acl inherit = yes
        inherit acls = yes
        # Default UNIX permissions (need to be tuned carefully to support both UNIX and Windows properly)
        create mask = 0740
        directory mask = 0770

force/security не проставлен

Pinkbyte ★★★★★ ()
Последнее исправление: Pinkbyte (всего исправлений: 1)
Ответ на: комментарий от atrus

Ну натсрой чтобы были 640 через acl.

anonymous ()
Ответ на: комментарий от Pinkbyte

unix-клиентов у меня нет. завтра уже попробую.

atrus ★★★★★ ()
Ответ на: комментарий от Pinkbyte

Есть крошечный прогресс. Для Файла стали ставиться права u и o заданные в create mask. На g - по прежнему 7.
На каталоги directory mask ставится только o. u и g остаются 7.
Кроме одного варианта. Я попробовал прописать directory mask = 0111. И каталог с такими правами создался. Правда после этого упал проводник. Получается это проводник после создания файла исправляет права?

atrus ★★★★★ ()
Ответ на: комментарий от atrus

Получается это проводник после создания файла исправляет права?

Без debug-логов сложно сказать, а их читать в самбе - то еще удовольствие >_<

Pinkbyte ★★★★★ ()

Документацию вообще читать полезно.

«force create mode Forces the specified permissions (bitwise or) for directories created by Samba.»

wat? т.е. force просто убедится что заданные биты стоят. Я бы хотел знать какой умный человек придумал назвать эту опцию force. Руку бы ему пожал, любви ему, здоровья...

«create mask Maximum permissions for files created by Samba»

Т.е. мало того, что это не маска, так ещё и «maximum permissions», т.е. по сути create выполняет функции force, а force - create... Даже не хочу спрашивать что они употребляли, когда придумали это. Теперь понятна полная бесполезность force и почему create хоть немного работает...

atrus ★★★★★ ()
Последнее исправление: atrus (всего исправлений: 2)
Для того чтобы оставить комментарий войдите или зарегистрируйтесь.