SetUID не работает правильно с Samba на Ubuntu 16.04

Я получил Ubuntu 16.04 LTS, работающий с новейшей версией Samba (2:4.3.11+dfsg-0ubuntu0.16.04.11).

Я настроил долю и все соответствующие полномочия Unix на самих каталогах. Протестированный это и все работает просто великолепно.

Моя иерархия похожа на это:

[Image of the directories

Существует одна группа для каждой подпапки, например: geschaeftsleitung, это, verwaltung и один пользователь на группу.

Конфигурация доли в smb.conf:

create mask = 6770
directory mask = 6770
force create mask = 6770
force directory mask = 6770

Таким образом, у владельца и группы есть полный доступ к тем подпапкам.

Я установил setuid

chmod u+s

и гуид

chmod g+s

для всех тех подпапок.

Таким образом, если я корректен, каждый directoy и файл, созданный в тех подпапках, должны автоматически установить владельца для укоренения и группа превосходящей группе той определенной подпапки.

Это делает это для группы, но не для владельца. пример

Пользователь, подключенный к доле и созданию каталога или файла, становится владельцем, несмотря на мои предыдущие настройки.


Есть ли некоторое странное поведение с полномочиями Unix в сочетании с самбой?

Или делает chmod u+s просто не работают над моим распределением Ubuntu?

1
задан 12 December 2017 в 12:51

1 ответ

Согласно этой странице Wiki setuid проигнорирован на каталогах.

От https://en.wikipedia.org/wiki/Setuid

setuid и setgid на каталогах [редактирование]

setuid и флаги setgid, когда установлено на каталоге, имеют совершенно другое значение.

Установка setgid разрешения на каталоге ("chmod g+s")

  1. заставляет новые файлы и подкаталоги, созданные в нем наследовать его идентификатор группы, а не идентификатор основной группы пользователя, который создал файл (идентификатор владельца никогда не затрагивается, только идентификатор группы).
  2. Недавно созданные подкаталоги наследовались, setgid укусил. Таким образом это включает общую рабочую область для группы без неудобства требования, чтобы элементы группы явно изменили их текущую группу прежде, чем создать новые файлы или каталоги.
  3. только влияет на идентификатор группы новых файлов и подкаталогов, созданных после того, как setgid укусил, установлен и не применяется к существующим объектам.
  4. не влияет на идентификатор группы файлов, которые созданы в другом месте и перемещены в рассматриваемый каталог. Файл продолжит нести идентификатор группы, который был произведен, когда и где он был создан. Установка setgid обдумала существующие подкаталоги, должен быть сделан вручную, с командой, такой как следующее:

    root@foo# find /path/to/directory -type d -exec chmod g+s '{}' \; 
    

setuid набор полномочий на каталоге проигнорирован в системах Linux и UNIX. [4]

FreeBSD может быть настроен, чтобы интерпретировать его аналогично к setgid, а именно, вынудить все файлы и подкаталоги принадлежать ведущему владельцу каталога. [5] В системах, полученных из BSD, каталоги ведут себя, как будто их setgid укусил, всегда устанавливался, независимо от его фактического значения. Как указан в, открывают (2), "When a new file is created it is given the group of the directory which contains it".

2
ответ дан 7 December 2019 в 13:29

Другие вопросы по тегам:

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