Я настроил samba 3.6.3 для использования AD в моем ящике ubuntu. Конфигурация кажется правильной, команды типа getent group, getent passwd возвращают группы и пользователей из AD. Я могу предоставить разрешения пользователей AD на папки и использовать sudo, к которым пользователь имеет доступ. Однако при прохождении через самбу пользователь не имеет доступа к папке. Вот несколько тестовых кодов. Сначала просто проверяем winbind и разрешения linux:
sudo mkdir /tmp/test
sudo chown root:sambashare /tmp/test
sudo chmod 775 /tmp/test
sudo usermod -G sambashare DOM+user1
sudo -u DOM+user2 touch /tmp/test/file
touch: cannot touch `test/file': Permission denied
#good because DOM+user2 is not in sambashare group
sudo -u DOM+user1 touch /tmp/test/file
#success!
ls -l /tmp/test
-rw-r--r-- 1 DOM+user1 DOM+domain users 0 Jan 14 16:53 test/file
Теперь настроим samba share
[Test]
path = /tmp/test
writable = yes
follow symlinks = yes
valid users = DOM+user1,@sambashare
Каталог виден пользователю. Но создание нового каталога или файла не разрешено.
Если я изменю разрешения linux:
chown DOM+user1 /tmp/test
Я могу записать в share samba из окон. Обратите внимание, что я не добавил список записи в samba или что-то еще, только пользовательское право на этот ресурс в Linux. Линукс позволял пользователю писать в эту папку до того, как он был основан на групповых разрешениях.
Я попытался открыть этот ресурс из окна Windows 7, а окно Ubuntu через Go -> Open Location -> smb: / /. Тот же вопрос. Поэтому я не думаю, что это окна.
Кто-нибудь знает, что происходит?
Edit
Я пытаюсь объединить пользователей домена по локальным группам и разрешить доступ к определенным общим ресурсам, поэтому мне не нужно беспокоиться администраторов AD для создания настраиваемых групп. Также я хочу использовать разрешения файловой системы вместо списков записи samba.
Сопоставление группы домена с локальной группой linux не является тем, чего я пытаюсь достичь.
Так, например, локально я создаю локальные группы dev_team1, dev_team2. Добавьте DOM + sally к dev_team1 и DOM + john в dev_team2, а затем установите разрешения файловой системы, используя ACL.
Я думал, что эта конфигурация возможна, потому что winbind отображает группы / пользователей домена в диапазон, указанный samba:
idmap config * : backend = tdb
idmap config * : range = 20000-999999
И когда вы выполняете группу getent; getent passwd вы получаете список доменных групп / пользователей с идентификатором> 20000. Поэтому, основываясь на том, что я предположил, что самба аутентифицирует пользователя, назначает им одну из идентификаторов, и не имеет значения, имеет ли идентификатор 20 000 в локальной группе 500 или часть группы 21000 доменов.
Угадай ...