CentOS и пользователи домена Windows
Возникла потребность пускать на линуксовую рабочую станцию пользователей из домена Windows. Чтобы не идти к клиенту с пустой головой и не пробовать методом тыка, решил попробовать.
На виртуальные машины были установлены контроллер домена Windows 2003 и рабочая станция CentOS 5.4 (все настройки по умолчанию).
Параметры:
имя домена: dom2003.local
имя контроллера домена: dc2003.dom2003.local
имя рабочей станции: ws1.dom2003.local
В принципе, ранее я неоднократно вводил линуксовые машины в виндовой домен, но на этот раз было интересно сделать все через стандартные графические инструменты CentOS, не прибегая к правке конфигов. Итак, я запустил системную утилиту system-config-auth и включил использование winbind, после чего ввел настройки.
К сожалению, нажатие кнопки “Войти в домен” ни к чему не привело, компьютер не появился в Active Directory. Зашел в терминал, проверил конфигурационные файлы Samba и Kerberos (там все было на первый взгляд, нормально), и решил ввести компьютер в домен обычным методом:
# net ads join -U Administrator
Administrator's password:
Using short domain name -- DOM2003
Failed to set servicePrincipalNames. Please ensure that the DNS domain of this server matches the AD domain, Or rejoin with using Domain Admin credentials.
Deleted account for 'WS1' in realm 'DOM2003.LOCAL'
Failed to join domain: Type or value exists
Отладка показала следующее:
# net ads join -U Administrator -d 10
...
[2009/03/25 12:33:58, 10] lib/util.c:name_to_fqdn(3013)
name_to_fqdn: lookup for WS1 failed.
Failed to set servicePrincipalNames. Please ensure that
the DNS domain of this server matches the AD domain,
...
Поковырявшись, я обнаружил в файле hosts запись:
127.0.0.1 ws1 localhost localhost.localdomain
Я удалил ws1 из строки, но это тоже ничего не дало. В конечном счете пришлось прописать рабочую станцию в DNS на контроллере домена. И ввод в домен прошел нормально.
После этого доменные пользователи могли логиниться на линуксовую машину, для них автоматически создавались домашние каталоги.
[root@ws1 samba]# ls -l /home/DOM2003/
итого 24
drwxr-xr-x 15 administrator пользователи домена 4096 Мар 5 13:55 administrator
drwxr-xr-x 15 p.pupkin пользователи домена 4096 Мар 5 13:55 p.pupkin
drwxr-xr-x 18 v.pupkin пользователи домена 4096 Мар 5 14:04 v.pupkin
И наконец, я захотел, чтобы список доменных юзеров отображался командой getent passwd. По умолчанию эта функция отключена, хотя wbinfo -u работает нормально. Для ее включения нужно добавить в файл smb.conf следующие строки:
winbind enum users = yes
winbind enum groups = yes
Получилось следующее:
administrator:*:16777217:16777216:Administrator:/home/DOM2003/administrator:/bin/bash
гость:*:16777219:16777221:Гость:/home/DOM2003/гость:/bin/bash
support_388945a0:*:16777220:16777216:SUPPORT_388945a0:/home/DOM2003/support_388945a0:/bin/bash
krbtgt:*:16777221:16777216:krbtgt:/home/DOM2003/krbtgt:/bin/bash
v.pupkin:*:16777216:16777216:Vasya Pupkin:/home/DOM2003/v.pupkin:/bin/bash
p.pupkin:*:16777218:16777216:Petya Pupkin:/home/DOM2003/p.pupkin:/bin/bash
Итак, выводы:
Графическая утилита вносит правильные изменения в конфигурационные файлы. Думаю, она смогла бы правильно ввести рабочую станцию в домен, если бы я позаботился о DNS. Также оно сработало бы, если бы на контроллере домена стоял DHCP сервер, который сам бы зарегистрировал в DNS новую рабочую станцию.
Функционал getent passwd не обязателен, все прекрасно работает без него. Это уж я захотел по старинке…
В общем, пользоваться линуксом становится все легче и легче.
В дальнейших планах дождаться версии 5.5 и попробовать провернуть то же с доменом Windows 2008.
вышел 5.5 )
PS: заманить бы сюда админа ПГТА ) а то сил нет терпеть винду )