Дек 032010
 

FreeBSD + Samba 3.4.8 авторизация в AD .

Понадобилось мне поднять файловый сервер. Файл-помойку сделать.
Решение пало на freebsd.Понравилась система! Удобная, практичная.

ставим самбу

$cd /usr/ports/net/samba34
#make config

Options for samba34 3.4.8
                         [ ] LDAP         With LDAP support
                         [X] ADS          With Active Directory support
                         [ ] CUPS         With CUPS printing support
                         [X] WINBIND      With WinBIND support
                         [X] SWAT         With SWAT WebGUI
                         [X] ACL_SUPPORT  With ACL support
                         [ ] AIO_SUPPORT  With Asyncronous IO support
                         [ ] FAM_SUPPORT  With File Alteration Monitor
                         [X] SYSLOG       With Syslog support
                         [ ] QUOTAS       With Disk quota support
                         [ ] UTMP         With UTMP accounting support
                         [ ] PAM_SMBPASS  With PAM authentication vs passdb backends
                         [ ] DNSUPDATE    With dynamic DNS update(require ADS)
                         [ ] AVAHI        With Bonjour service discovery support
                         [ ] EXP_MODULES  With experimental modules
                         [X] POPT         With system-wide POPT library
                         [ ] MAX_DEBUG    With maximum debugging
                         [ ] SMBTORTURE   With smbtorture

#make install clean

После редактируем конфиг init, то есть swat запускается как демон из unitd. После добавление свата в initd, идем в браузере по ссылке http://localhost:901/
учетная запись для захода на выэб морду самбы, это рут, root
nano /etc/inetd.conf

swat    stream  tcp     nowait/400      root    /usr/local/sbin/swat    swat   

и добавляем загрузку демонов при старте.
nano /etc/rc.conf

smbd_enable="YES"
inetd_enable="YES"
kerberos5_server_enable="YES"

прописываем DNS…если они конечно не прописались.
nano /etc/resof.conf

domain  unix.domain.mb
nameserver      xxx.xxx.xxx.xxx тут у меня контролер домены
nameserver      xxx.xxx.xxx.xxx

синхронизируем фремя с сервером, контролером домена «KD»
ntpdate xxx.xxx.xxx.xxx

дальше настраиваем самбу.

nano /usr/local/etc/smb.conf

[global]
        dos charset = cp866
        unix charset = koi8-r
        display charset = koi8-r
        workgroup = Minb
        allow trusted domains = no
        encrypt passwords = yes
        realm = unix.domain.mb
        server string = Samba_BSD
        interfaces = re0
        bind interfaces only = Yes
        security = ads
        password server = xxx.xxx.xxx.xxx  контролер домена
        log level = 3
        log file = /var/log/samba/log.%m
        max log size = 1000
        smb ports = 139
        name resolve order = host lmhost bcast
        deadtime = 5
        socket options = SO_RCVBUF=8192 SO_SNDBUF=8192 TCP_NODELAY
        load printers = No
        local master = No
        domain master = No
        dns proxy = No
        wins server = xxx.xxx.xxx.xxx, xxx.xxx.xxx.xxx
        socket address = xxx.xxx.xxx.xxx
        winbind uid = 10000-20000
        winbind gid = 10000-20000
        winbind enum groups = yes
        winbind enum users = yes
        winbind separator = +
        winbind cache time = 604800
        winbind use default domain = Yes
  #     hosts allow = xxx.xxx.xxx.xxx, 127.
        netbios name = pav-011
        template shell=/bin/tcsh
        template homedir = /home/%D/%U

[FILES]
   comment = share
   path = /mnt/pub
 #  null passwords = Yes
 #  guest account = guest
   public = yes
   writable = yes
# valid users = @"MINB\Domain Users"
   create mask = 0777

настраиваем winbind
cat /etc/nsswitch.conf

group: files winbind
passwd: files winbind
shadow: files winbind
group_compat: nis
hosts: files dns
networks: files
passwd_compat: nis
shells: files
services: compat
services_compat: nis
protocols: files
rpc: files

$ cat /etc/hosts

::1                     localhost localhost.unix.domain.mb
127.0.0.1               localhost localhost.unix.domain.mb
10.7.20.11              pav-011.unix.domain.mb pav-011
10.7.20.11              pav-011.unix.domain.mb.

настраиваем керберос
nano /etc/krb5.conf

[libdefaults]
        default_realm = UNIX.DOMAIN.MB
        clockskew = 300
        ticket_lifetime = 24000
        v4_instance_resolve = false
[realms]
        UNIX.DOMAIN.MB = {
                kdc = S89.UNIX.DOMAIN.MB
                admin_server = S89.UNIX.DOMAIN.MB
                kpasswd_server = S89.UNIX.DOMAIN.MB
        }
[domain_realm]
        .UNIX.DOMAIN.MB = UNIX.DOMAIN.MB

получаем билет.
kinit —p Admin
вводим пароль.И получаем пароль.
смотрим  билет klist

вводим в домен машину,
net ads join —U Admin   // напоминаю в домен может ввести пользователь у которому разрешено вводить в домен пользаков, по умолчанию простой пользователь может ввести 5 пользаков в домен.

Если у вас не получается завести машину в домен , выходит такое ругательство:

pav-253# net ads join -U Admin
Enter Admin's password:
Failed to join domain: Failed to set account flags for machine account (NT_STATUS_ACCESS_DENIED)

Это означает что мы не вывели предыдущую машину из домена, удаляем старою учетную запись о компьютере в нашем домене,
и повторяем заново завод машины в домен.

проверяем работоспособность winbinda
# wbinfo —t
# wbinfo —g просмотр групп
# wbinfo —u просмотр пользаков

Возможные проблемы.

pav-253# kinit -p
Ad@UNIX.DOMAIN.MB's Password:
kinit: krb5_get_init_creds: Clock skew too great

Видим разсинхронизацию времени, синхронизируем время с контролером домена.

pav-253# ntpdate 10.10.10.3
31 Oct 01:36:56 ntpdate[1472]: adjust time server 10.10.10.3 offset -0.063010 sec
pav-253# kinit -p
Ad@UNIX.DOMAIN.MB's Password:
kinit: krb5_get_init_creds: unable to reach any KDC in realm UNIX.DOMAIN.MB

Не может найти KDC. Выхода два либо занести в hosts соответствие либо прописать вместо имени ip- адрес KDC в krb5.conf.

  3 комментария to “FreeBSD + Samba 3.4.8 + авторизация в AD”

  1. Некоторые данные взял с вашей статейки, спасибо.

  2. Здравствуйте. Подскажите, что надо сделать такого, что бы самба пускала пользаков не только из домена в который net ads join’имся. домен trusted. нет аутентификации на самбе. wbinfo —online-status говорит, что trasted domain : OFFLINE.
    есть идеи??

    заранее спасибо.

    • Смотря как политики безопасности настроены в ад!
      С начало их нужно смотреть.
      Покажи самбовский конфиг.

 Leave a Reply

(required)

(required)

42 Запросов к базе. 0,388 Генерации страницы, 36MB Использование памяти.
Вы зашли с IP: 54.225.16.10