Получить Fedora
Новости
Как подружить Samba и контроллер домена Windows 2003
ВНИМАНИЕ: команды предваряемые символом '#' должны выполняться с правами root (Суперпользователь). Открыв терминал (или находясь в консоли) с правами обычного пользователя, введите команду $ su - для повышения уровня привелегий. Символы '$' и '#' в начале строки не являются частью команды и не должны вводится. Прочие команды могут выполняться с правами обыкновенного пользователя.
Содержание |
[править] Стандартный метод
- Установить samba-winbind, samba, krb5-workstation, authconfig-gtk, sssd, sssd-client
- запустить system-config-authentication
- ввести настройки и выполнить вход:
[править] Графическая интеграция
При помощи SADMS.
[править] Ручная интеграция
[править] Требования
Samba собранная с опциями: --with-ldap --with-ads --with-krb5 --with-pam --with-winbind
или просто установите из rpm.
Условимся что:
192.168.0.1 – server.domain.com – это сервер Windows 2003
192.168.0.10 – client.domain.com – клиентская машина Linux с Samba
[править] Настройка разрешения имен
Надеюсь что на вашем контроллере домена поднят DNS (Domain Names Server) с зонами прямого и обратного просмотра. Если поднят, то в файле /etc/resolv.conf прописываем следующее:
search domain.com domain domain.com nameserver 192.168.0.1
Если же в сети нет DNS (что вряд ли) сервера - можно воспользоваться файлами hosts на обеих машинах.
На машине в файл /etc/hosts добавляем:
192.168.0.1 server.domain.com server 192.168.0.10 client.domain.com client
На контроллере домена в файле %Systemroot%\~System32\drivers\etc\hosts пишем следующее:
192.168.0.1 server server.domain.com 192.168.0.10 client client.domain.com
%Systemroot% - папка WINNT или WINDOWS(на системном диске)
[править] Настройка Kerberos
Часть этого документа использует DOMAIN.COM прописными буквами. Удостоверьтесь, что в вашем конфиге krb5.conf правильный регистр!
Приводим файл krb5.conf в соответствие с настройками вашей сети(не забывайте про регистр!).
[libdefaults] default_realm = DOMAIN.COM [realms] SERVER.DOMAIN.COM = { kdc = server.domain.com } [domain_realms] .domain.com = DOMAIN.COM
После этого выполняем команду(необходимо знать пароль администратора КД):
# kinit Admin@DOMAIN.COM Admin@DOMAIN.COM 's Password: kinit: NOTICE: ticket renewable lifetime is 1 week
Возможные проблемы на этом этапе:
# kinit Admin@DOMAIN.COM Admin@DOMAIN.COM 's Password: kinit: krb5_get_init_creds: Client (Admin@DOMAIN.COM) unknown
Надо проверить правильность ввода логина\пароль админа.
# kinit Admin@DOMAIN.COM Admin@DOMAIN.COM 's Password: kinit: krb5_get_init_creds: unable to reach any KDC in realm (DOMAIN.COM)
Проверьте правильность настроек DNS и конфига krb5.conf
# kinit Admin@DOMAIN.COM Admin@DOMAIN.COM 's Password: kinit: krb5_get_init_creds: Clock skew too great
Рассинхронизация времени на КД и клиенте – выполните команду net time set(в linux) Желательно выполнять данную команду раз в неделю(можно через cron).
[править] Настройка Samba
Пожалуй, самая легкая часть настройки.
Выкладываю уже готовый к эксплуатации конфиг (с комментариями к тому, на что надо обратить внимание):
[global] log file = /var/log/samba/log.%m socket options = TCP_NODELAY SO_SNDBUF=8192 SO_RCVBUF=8192 null passwords = yes #Разрешить пустые пароли interfaces = 192.168.0.10/255.255.255.0 #На каком интерфейсе работать hosts allow = 192.168.0. 127.0.0.1 #Хостам из каких сетей разрешено encrypt passwords = yes idmap uid = 10000-20000 idmap gid = 10000-20000 auth methods = winbind winbind enum groups = yes winbind enum users = yes winbind use default domain = yes name resolve order = hosts wins bcast lmhosts case sensitive = no dns proxy = no netbios name = client #NetBIOS имя машины server string = My Linux password server = server.domain.com #dns имя сервера win 2003 realm = DOMAIN.COM #Имя рилма client use spnego = yes client signing = yes local master = no domain master = no preferred master = no workgroup = DOMAIN #Укороченное имя домена debug level = 2 security = ads dos charset = 866 unix charset = UTF-8 #Кодировка ФС –UTF-8 или KOI8-R max log size = 50 os level = 0 wins server = 192.168.0.1 #Укажите здесь WINS сервер, если он есть [upload] comment = Upload path = /srv/smb/upload browseable = yes writeable = yes directory mask = 0777 create mask = 0666 valid users = @”Администраторы домена”, DOMAIN\Пользователь
[править] Входим в Active Directory
Убедившись, что на контроллере домена нет машин с именем, которое мы использовали в конфиге. Выполняем команду:
# net ads join -U Administrator
[править] Настройка Winbind
1. Откроем файл /etc/nsswitch.conf для редактирования и найдем следующие строчки:
passwd: compat shadow: compat group: compat
2. Заменим их на:
passwd: compat winbind shadow: compat group: compat winbind
3. Перезапустим сервис winbind:
# service winbind restart
4. Проверим работу:
# wbinfo -t
если вывод:
checking the trust secret via RPC calls succeeded
значит доверительная учетная запись компьютера в домене создана.
5. Проверка пользователей и групп:
# wbinfo -u
# wbinfo -g
должно вывести пользователей домена и группы домена.
6. Проверяем аутентификацию в домене:
# wbinfo -a user%123
где user - пользователь домена, 123 - пароль. Если ответ:
plaintext password authentication succeeded сhallenge/response password authentication succeeded
значит аутентификация в домене работает.
7. Проверяем, чтобы наш Linux видел пользователей домена:
# id DOMAIN\\user
должно вывести id пользователя домена и к каким группам он относится.
[править] Настройка PAM
Перед выполнением нижеперечисленных действий рекомендуется сделать бэкап всех редактируемых файлов.
Файл /etc/pam.d/samba не требует редактирования, т.к. он уже содержит необходимое. Редактируем /etc/pam.d/login
#%PAM-1.0 auth required pam_securetty.so auth sufficient pam_winbind.so auth sufficient pam_unix.so use_first_pass auth required pam_stack.so service=system-auth auth required pam_nologin.so account sufficient pam_winbind.so account required pam_stack.so service=system-auth password required pam_stack.so service=system-auth session required pam_stack.so service=system-auth session optional pam_console.so
Теперь на машину с linux можно заходить используя доменные аккаунты(DOMAIN\User).
[править] Поддержка SSH
Для того, чтобы можно было использовать доменные аккаунты для входа через ssh в файле /etc/pam.d/sshd делаем изменения аналогично /etc/pam.d/login.
[править] Заключение
Ну вот и все. Теперь можно запустить Samba:
# service smb start # service nmb start # service winbind start
В случае неполадок смотрим: /var/log/samba
Последнее изменение этой страницы: 16:10, 27 марта 2012. К этой странице обращались 10 883 раза.
