Подготовка домен контроллера Windows:
Перед присоединением хоста Linux в домен, необходимо установить на контроллер домена компоненты NIS для
Windows Server 2003,
Windows Server 2008,
Windows Server 2012
В случае успешной установки в свойствах пользователя AD должна появиться соответствующая вкладка. Убедитесь что каждому пользователю, который будет авторизоваться на Linux хосте назначен UID и остальные аттрибуты, выбрана Primary Group\Основная группа и этой группы установлен GID.
Подготовка хоста Linux:
1. Настроить сеть и сменить имя хоста.
3. Установить TUI [
yum install setuptool system-config-securitylevel-tui authconfig system-config-network-tui ntsysv]
3.1 Поставим средства PAM [y
um install pam* fprintd-pam -y] и Kerberos [
yum install krb5-workstation]
4. Установить
ntpdate и провести синхронизацию часов с DC. Крайне желательно настроить ntpd и регулярную синхронизацию времени с DC (мануалов в сети куча).
5. Вырубить
SELinux.
6. Регаемся на
https://portal.enterprisesamba.com/ чтобы получить доступ к репозиториям Sernet Samba и следуем инструкциям по добавлению репозитория.
7.
yum install sernet-samba sernet-samba-winbind -y ставим непосредственно Samba Sernet
8. Убедимся что все необходимые службы стартуют при запуске
chkconfig --list [служба], где службы:
sernet-samba-smbd
sernet-samba-winbindd
sernet-samba-nmbd
Если что-то off делаем
chkconfig on [служба]
9. Делаем копии всех ключевых конфигурационных файлов
/etc/samba/smb.conf (вообще Sernet Samba не создает
smb.conf)
/etc/krb5.conf
/etc/nsswitch.conf
10. Убедимся что DC доступен и нормально распознается по имени (включая FQDN).
11. Запускаем
authconfig-tui
11.1
Включаем
Use Winbind
Оставляем
Use Shadow Passwords
Включаем
Use Fingerprint reader
Включаем
Use Winbind Authentication
Оставляем
Local authorization is sufficient
При переходе на следующий экран могут появится ошибки о нехватке библиотек,
в этом случае их надо устранить
11.2
Ставим
Security Model (*) ads
в
Domain пишем имя домена большими буквами (не FQDN)
в
Domain Controllers вписываем имена DC, разделенные пробелами (FQDN, маленькими буквами)
в
ADS Realm пишем полное имя домена (ex. DOMAIN.LOCAL)
в
Template Shell /bin/bash (или nologin)
Жмем
Join Domain
11.3
Зайдем на DC и убедимся что учетная запись компьютера была создана и в DNS появились
записи для добавленного хоста. необходимо создать записи (PTR тоже), в случае если они отсутствуют.
11.4
Вписываем имя пользователя с правами на добавление компьютеров в домен. (без \ и @) и пароль
11. Жмем
OK и выходим из утилиты. Смотрим вывод после net ads join -U <Пользователь> на предмет ошибок.
*при добавлении может возникнуть ошибка вида DNS Update failed, коотрую можно проигнорировать, но убедится что DNS запись для данного хоста добавлена в DNS Active Directory
12. Добавим в
smb.conf следующие строки (взято с
wiki.samba.org) в секцию
[global], заменив SAMDOM на имя домена:
idmap config *:backend = tdb
idmap config *:range = 70001-80000
idmap config SAMDOM:backend = ad
idmap config SAMDOM:schema_mode = rfc2307
idmap config SAMDOM:range = 500-40000
winbind nss info = rfc2307
winbind trusted domains only = no
winbind use default domain = yes
winbind enum users = yes
winbind enum groups = yes
13. В
/etc/sdefault/samba-sernet убедится что
SAMBA_START_MODE="classic"
14. Сделать рестарт всех служб Samba:
service sernet-samba-smbd restart
service sernet-samba-winbindd restart
service sernet-samba-nmbd restart
Проверка функционала.
wbinfo -t связь с доменом
wbinfo -p проверить запущен ли Winbind
wbinfo -u список пользователей домена Windows
wbinfo -g список групп домена Windows
wbinfo -n <пользователя> даст вам SID пользователя, полученный SID подставим в
wbinfo -S <SID>. Сверьте полученные UID\GID с данными на вкладке
UNIX attributes в свойствах пользователя AD. Они должны совпадать.
Troubleshooting.
Самым информативным методом является запуск Winbindd в следующем виде:
winbindd -i -d <Уровень информативности 1-10>
Перед запуском убедитесь что
sernet-samba-winbind остановлена.