Задать вопрос
Sinot
@Sinot

Как в linux назначить права по умолчанию для каталога и всех создаваемых, копируемых и переносимых файлов и каталогов в нем?

Приветствую!

Имеется машина под управлением 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", то даже при копировании будут меняться права. Но это глобальная опция и как заставить ее работать исключительно для одного каталога неясно.


Жду ваших предложений.

Спасибо.
  • Вопрос задан
  • 574 просмотра
Подписаться 2 Оценить Комментировать
Решения вопроса 1
Sinot
@Sinot Автор вопроса
В общем это называется наследование прав и в Linux считается уязвимостью, как следствие не поддерживается.
Но есть bindfs, поддерживает наследование не только новых файлов, но и скопированных/перенесенных.
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

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