Приветствую!
Имеется машина под управлением GNU/Linux Debian Sid. На ней настроена авторизация доменных пользователей Windows. Все доменные пользователи включены в группу "пользователи домена".
Имеется каталог "ShareFolder" (доступ для "пользователи домена" - rwx), на который созданы симлинки в домашние каталоги пользователей (и всех новых через /etc/skel). Так же этот каталог расшарен Samba как "Общие документы" (valid user = "@пользователи домена").
В настройках Samba для шары указанны параметры:
[Общие документы]
comment = Общие документы vt-4
path = /var/ShareFolder
read only = no
create mask = 0660
directory mask = 0770
force group = "пользователи домена"
valid users = "@пользователи домена"
То есть, что бы там пользователи не делали в шаре, все данные будут доступны по правам. Но, локальные пользователи таких настроек не имеют и могут создать каталог/файл, который не будет доступен другим пользователям ни локально, ни через шару.
Собственно вопрос в том, как реализовать "create mask" и "directory mask" для локальных пользователей?
Я придумал/нашел несколько решений:
- ACL - назначить по умолчанию для каталога "ShareFolder" группу "пользователи домена" и "mask" значения rwx.
Но, тогда все файлы будут с правами на исполнение, а это не очень хорошо.
- fstab - перенести "ShareFolder" куда-нибудь и на его место смонтировать его же, но с umask=0 0 7.
Только вот не у всех пользователей первичная группа "пользователи домена". Да и распространяется это только на создаваемые файлы.
- cifs - смонтировать шару по аналогии с предыдущем вариантом.
Пока наиболее "чистый" результат на выходе, но уж больно много посредников.
- pam - не уверен, но если в
/etc/pam.d/common-session
/etc/pam.d/common-session-noninteractive
добавить "session optional pam_umask.so umask=0007", то даже при копировании будут меняться права. Но это глобальная опция и как заставить ее работать исключительно для одного каталога неясно.
Жду ваших предложений.
Спасибо.