Crmgo Блог

ubuntu. Вход в домен попытка 4

ubuntu. Вход в домен попытка 4

достаточно убрать "[NOTFOUND=return]". Но использовать zeroconf мы все равно не будем. И еще стоит добавить разрешение имен через WINS. Поэтому преобразуем эту строку в нечто подобное: Настройки для WINS будут дальше, в файле /etc/samba/smb.conf. Настраиваем синхнонизацию времени с контроллером домена.…

ubuntu. Вход в домен попытка 4

достаточно убрать "[NOTFOUND=return]". Но использовать zeroconf мы все равно не будем. И еще стоит добавить разрешение имен через WINS. Поэтому преобразуем эту строку в нечто подобное:

hosts: files dns wins mdns4_minimal mdns4

Настройки для WINS будут дальше, в файле /etc/samba/smb.conf.

Настраиваем синхнонизацию времени с контроллером домена.

Редактируем /etc/default/ntpdate и устанавливаем следующие значения

NTPSERVERS="dc.mydomain.local" # откуда брать время, на контроллере домена по умолчанию имеестя NTP-сервер
NTPDATE_USE_NTP_CONF=no

 

Настраиваем доступ по SSH.

Придется установить openssh-server. (Перед установкой пакетов полезно будет настроить убунту на кеш репозитариев, как описано в статье) Стандартный файл настройки нас пока вполне устроит. (потом, наверное, стоит перенастроить на использование ключа или сертификата, либо привязать к AD)

Устанавливаем samba и winbind.

После установки эти два сервиса добавляются в автозагрузку автоматически.

В файле /etc/samba/smb.conf удаляем все и пишем это

[global]
	log file = /var/log/samba/log.%m
	max log size = 50
	hosts allow = 192.168. # подсети, которые разрешаются к использованию
	socket options = TCP_NODELAY SO_RCVBUF=8192 SO_SNDBUF=8192
	wins server = 192.168.3.200 # тут айпишник вашего сервера WINS (у меня то же, что и dc.mydomain.local, но айпишник предпочтительней)
	unix charset = UTF8
	dos charset = cp866

	workgroup = MYDOMAIN
	security = ADS
	realm = MYDOMAIN.LOCAL
	password server = dc.mydomain.local
	encrypt passwords = yes
	pam password change = yes
	# netbios name = firstubuntu
	auth methods = winbind guest
	lanman auth = no
	client lanman auth = no
	client ntlmv2 auth = yes
	min protocol = NT1
	auth methods = winbind
	server string = %h server (Samba, Ubuntu)
	preferred master = no
	dns proxy = no
	panic action = /usr/share/samba/panic-action %d
	name resolve order = lmhosts host wins bcast

        idmap backend = rid:MYDOMAIN.LOCAL=10000-19999
;	idmap domains = MYDOMAIN.LOCAL
;	idmap config MYDOMAIN.LOCAL:backend = rid
;	idmap config MYDOMAIN.LOCAL:range = 10000-19999
	idmap uid = 10000-19999
	idmap gid = 10000-19999
	winbind use default domain = yes
;	winbind nested groups = yes
	winbind refresh tickets = yes
	winbind enum groups = yes
	winbind enum users = yes
	template shell = /bin/bash
;	template homedir = /home/%D/%U

	usershare path = /var/lib/samba/usershares/
	usershare max shares = 100
	usershare allow guests = yes
	usershare owner only = yes

[printers]
	comment = All Printers
	browseable = no
	path = /var/spool/samba
	printable = yes
;	guest ok = no
;	read only = yes
	create mask = 0700

[print$]
	comment = Printer Drivers
	path = /var/lib/samba/printers
;	browseable = yes
;	read only = yes
;	guest ok = no
;   write list = root, @ntadmin

Вводим компьютер в домен.

net ads join -U Administrator

После ввода команды будет запрошен пароль. Понадобится учетная запись с правом добавления компьютера в домен, например учетка администратора домена MYDOMAIN\Administrator. Перезапустим winbind и samba

/etc/init.d/winbind restart
/etc/init.d/samba restart

Снова настраиваем /etc/nsswitch.conf

nsswitch.conf, помимо прочего, задает источники информации об учетных записях. Учетные записи у нас теперь будут на контроллере домена, а источником информации о них будет служить winbind. Редактируем

passwd:         files winbind
group:          files winbind
shadow:         files winbind

Остальные строки оставим как есть. Теперь, для проверки, подключился ли наш winbind к контроллеру и функционирует ли нормально, запустим

getent passwd

В результате мы должны увидеть наши локальные учетки и длинный список наших доменных учеток. Если не увидели - ищем ошибку в предыдущих пунктах.

Настраиваем PAM.

Будьте осторожны при редактировании конфигурации PAM - есть вероятность лишить себя возможности залогиниться. При редактировании этих файлов рекомендуют держать на всякий случай пару терминалов с залогиненым рутом.

Правим /etc/pam.d/common-auth

auth        required      pam_env.so
auth        sufficient    pam_unix.so likeauth nullok try_first_pass
auth        sufficient    pam_winbind.so use_first_pass krb5_auth krb5_ccache_type=FILE
auth        required      pam_deny.so

Правим /etc/pam.d/common-account

account     sufficient    pam_winbind.so
account     required      pam_unix.so

Правим /etc/pam.d/common-session

session     optional      pam_mkhomedir.so skel=/etc/skel/ umask=0077
session     optional      pam_ck_connector.so nox11
session     required      pam_limits.so
session     required      pam_env.so
session     required      pam_unix.so

Возможно, в свежих дистрибутивах понадобится закомментировать pam_ck_connector из-за изменений в consolekit. У меня в свежеобновленной gentoo из-за него отвалилось автомонтирование. Похоже в новых версиях гнома сессия в consolekit создается своими средствами.

Правим /etc/pam.d/common-password

## password    required      pam_cracklib.so difok=2 minlen=8 dcredit=2 ocredit=2 retry=3
password    sufficient    pam_unix.so try_first_pass use_authtok nullok sha512 shadow
## password    sufficient    pam_winbind.so use_authtok
password    sufficient    pam_winbind.so
password    required      pam_deny.so

С такой настройкой при аутентификации убунту сначала попробует обратится через winbind к контроллеру домена, потом попытается использовать локальные учетные записи. Отныне при входе в систему мы уже сможем аутентифицироваться под доменной учетной записью. При этом будет создаваться домашний каталог и, на время сессии, сохраняться билет кербероса, дающий нам доступ к сетевым ресурсам.

В консоли проверим, что у нас получилось, сменив текущего пользователя на доменного

su IvanovSV

Если ничего не получилось - ищем ошибки в предыдущих пунктах. Если получилось - то можно перезагружаться и входить в гном сразу под своей юзерской доменной учеткой.

Для того, чтобы добавить доменную учетную запись в локальную группу (например в audio), отредактируйте файл /etc/groups и добавьте в конец строки имя учетной записи напротив нужной группы.

Порядок запуска winbind.

Из-за того что сервис winbind по умолчанию стартует раньше, чем настраивается сеть, первые попытки винбинда связаться с контроллером домена проваливаются и winbind выдерживает долгую паузу перед следующей попыткой. Поэтому пользователь не сможет залогинится сразу же, а только после того, как подождет несколько минут. Исправляем - перенесем запуск winbind в самый конец процесса загрузки. Для этого переименуем символьные ссылки вида /etc/rcX.d/S20winbind в S99winbind, где X - номер ранлевела. Например так

 for i in `seq 2 5`; do mv /etc/rc$i.d/S20winbind /etc/rc$i.d/S99winbind; done;

Примечание: материал мог быть создан с помощью ИИ и затем отредактирован человеком. Ответственный: Dmytro Lomaka, Kaltenkirchen.