Назад | Перейти на главную страницу

Интеграция с активным каталогом не работает должным образом с winbind и samba

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

Краткое введение в мою настройку:

Имя пользователя, которое я использую в своем Linux-окне для выполнения административных задач: nick. Мое имя пользователя в активном каталоге nwalke. У них два разных пароля. Я могу войти в ящик с помощью nick и пароль этого пользователя, и я также могу войти как nwalke с участием nwalkeпароль.

Любопытный момент:

После создания домашнего каталога пользователя активного каталога я запускаю сценарий, для которого требуется root-доступ. Это необходимо для настройки некоторых общесистемных вещей, таких как общий ресурс samba. Когда я вхожу в систему как nwalke, Я вхожу в свой nwalke пароль, и это успешно. Затем меня приветствуют [sudo] password for nick:. Если я войду в свой nwalke пароль здесь, он говорит Sorry, try again.. Если я войду nickпароль, он говорит Sorry, user nick is not allowed to execute scriptname as root.

Если я сделаю groups так как nwalke, Я вижу, что мой пользователь волшебным образом попал в группу nick.

Я случайно подумал, что nick имел UID 100, а не 1000. Первоначально в моем smb.conf я имел idmap uid 1000-10000. Единственное, о чем я могу думать, это то, что я вошел в систему с nwalke в то время как это все еще было установлено, и теперь мне просто предоставляют UID 1000, заставляя Linux думать, что я nick.

Я не совсем уверен, что делать дальше. Как я уже сказал, я почти уверен, что активный каталог правильно взаимодействует с моим сервером, но что-то не должно отображаться прямо на стороне Linux.

Есть предположения?

Вот мой smb.conf:

[global]
    security = ads
    netbios name = hostname
    realm = COMPANY.COM
    password server = adshost.company.com
    workgroup = COMPANY
    idmap uid = 10000-90000
    idmap gid = 10000-90000
    winbind separator = +
    winbind enum users = no
    winbind enum groups = no
    winbind use default domain = yes
    template homedir = /home/%D/%U
    template shell = /bin/bash
    client use spnego = yes
    domain master = no
    load printers = no
    printing = bsd
    printcap name = /dev/null
    disable spoolss = yes

Мне нужно как-то привязать пользователя к Linux-серверу?

Я изменил значение в smb.conf на 10 000, но все еще кажется, что nwalke сопрягается с 1000. Как мне решить эту проблему?

Я не могу вспомнить, какой это файл, и в настоящее время у меня нет системы для проверки.

Когда пользователь впервые подключается, ему будет назначен идентификатор, а затем он будет сохранен в одной из баз данных Samba в /var/lib/samba/ Загляните в эту папку, может быть очевидно, какой это файл. Вы могли бы попробовать остановить Samba и просто переместить / удалить все файлы в нем, хотя вам нужно будет повторно присоединиться к домену, поскольку учетные данные учетной записи компьютера также хранятся в одной из этих баз данных.

Похоже, у вас есть перекрытие UID.
Если nwalke и nick использовать тот же числовой UID, что первое совпадение nsswitch выиграет для таких вещей, как id, sudo, lsи т.д. (и первое совпадение обычно отсутствует в файле passwd, если вы не изменили порядок в /etc/nsswitch.conf или эквивалент).

(логины будут работать с любым именем, потому что логин ищет пользователя по имени. Однако наличие двух пользователей с одинаковым именем вызовет некоторый интересный хаос ...)

Ваш местный (/etc/passwd, /etc/group) и удаленные (NIS, Samba, LDAP и т. д.) UID / GID не должны перекрываться. Устраните эту основную проблему, а остальное разрешится само.