Я пытаюсь настроить небольшой сервер самбы на Ubuntu 12.04 для обмена файлами. Вроде работает нормально, но есть одна проблема с разрешением.
Основная группа всех пользователей Unix - group_common. Некоторые пользователи дополнительно входят в группу group_confidential.
Для всех пользователей Unix существует эквивалентный пользователь samba. Существует настройка группового сопоставления для обеих групп с использованием net groupmap.
Все файлы и папки, созданные на общем ресурсе, должны принадлежать пользователю и основной группе group_common.
Все работает нормально.
Теперь есть секретные файлы. Эти файлы должны быть доступны только пользователям в группе group_confidential.
Поэтому я пытаюсь удалить права для группы group_common и добавить права для группы group_confidential на клиенте Windows. Удаление прав для group_common не работает. Когда я меняю группу на машине Ubuntu, она работает нормально.
Итак, вопрос вкратце: можно изменить группу файлов unix в общей папке samba из клиента Windows или есть другой способ ограничить права для группы владельцев unix, чтобы она больше не была доступна из клиента Windows. Или есть другой способ сохранить конфиденциальные файлы?
Заранее спасибо.
В то время как не вполне та же ситуация, и не меняется со стороны Windows, это то, что мы сделали. Опять же, на самом деле это не поможет изменение разрешения, но, надеюсь, это все равно поможет.
У нас была конфиденциальная папка, и мы хотели, чтобы одни пользователи писали в нее, а другие читали из нее. Мы создали две группы, groupread
и groupwrite
. Мы chown
Папку в groupread
группа и присвоил ей chmod 2770
, всю дорогу вниз. Затем мы создали следующую папку под ней, в которой были данные, которые должны были быть ограничены только для записи, и chown groupwrite
папка, разрешения chmod 2775
, поэтому люди, у которых есть доступ только для чтения, также могут его читать.
в /etc/samba/smb.conf
файл, мы добавили декларацию акций inherit permissions = yes
, и не сделал force group
или что-нибудь еще, на этой акции. Таким образом, пользователи, которым необходим доступ к нему для чтения, находятся в группе чтения; все, кому нужно написать, находятся в обеих группах.
Это действительно сложно. То, как я решил это недавно, - это использование этого общего свойства
force group = <some_group>
а затем создать совершенно разные общие ресурсы для каждой папки, которой требуются эти разрешения, и разрешить подключение только тем группам AD, которые должны иметь доступ к этой локальной группе. Все файлы в этой папке получают правильную группу при создании.
Когда мне это сойдет с рук, я определяю все свои группы в AD, что означает, что и клиент Windows, и сервер Linux знают, о чем я говорю.
Если вы еще этого не сделали, я бы также предложил использовать Центрифуги и пакеты Samba Centrify для интеграции с AD.