Ez az útmutató részletesen bemutatja egy SAMBA Member Server (3.6.23) konfigurálásához és beállításához szükséges lépéseket egy FreeBSD 9.2 operációs rendszert futtató kiszolgálón egy létező Windows Active Directory-ban.
Előkészületek
Az útmutató előfeltétele, hogy rendelkezésre álljon egy telepített, működőképes kiszolgáló, amelyen konfigurálva vannak az olyan részleteket, mint hosztnév, IP, DNS, időzóna stb. A telepítés előtt ajánlott egy rendszerfrissítést végrehajtani a következő parancsokkal:
# freebsd-update fetch # freebsd-update install
Az útmutató a következő beállításokat használja. Ezek helyet saját értékeket kell használni:
LAN subnet: 192.168.17.0/24 AD domain: test.local AD realm: TEST.LOCAL DC name: testdc1.test.local DC IP: 192.168.17.2 SAMBA name: testms1.test.local SAMBA IP: 192.168.17.6
Adja hozzá a következő sorokat az /etc/sysctl.conf fájlhoz:
kern.ipc.maxsockbuf=16777216 kern.ipc.nmbclusters=32768 kern.ipc.somaxconn=32768 kern.maxfiles=65536 kern.maxfilesperproc=32768 kern.maxvnodes=800000 net.inet.tcp.delayed_ack=1 net.inet.tcp.path_mtu_discovery=0 net.inet.tcp.recvbuf_auto=1 net.inet.tcp.recvbuf_inc=524288 net.inet.tcp.recvbuf_max=16777216 net.inet.tcp.recvspace=65536 net.inet.tcp.rfc1323=1 net.inet.tcp.sendbuf_auto=1 net.inet.tcp.sendbuf_inc=524288 net.inet.tcp.sendbuf_max=16777216 net.inet.tcp.sendspace=65536 net.inet.tcp.mssdflt=1460 net.inet.udp.maxdgram=57344 net.inet.udp.recvspace=65536 net.local.stream.recvspace=65536 net.local.stream.sendspace=65536
Adja hozzá a következő sort a /boot/loader.conf fájlhoz:
aio_load="YES"
Hogyha nem telepítette a port fát a rendszer telepítésekor, akkor hajtsa végre most a telepítését és frissítését:
# portsnap fetch extract # portsnap fetch update
Hogyha még nincs telepítve a portmaster, akkor telepítse most:
# cd /usr/ports/ports-mgmt/portmaster # make install clean # rehash
Kerberos
Az Active Directory használatához szükség van a Kerberos hálózati hitelesítési protokollra. A FreeBSD alap telepítése tartalmazz a Heimdal Kerberos minimális telepítését, amely elegendő a Member Server konfigurálásához. Hozza létre az /etc/krb5.conf fájlt a következő tartalommal. Ügyeljen a kis/nagy betűs írásmódra:
[logging] default = FILE:/var/log/krb5libs.log kdc = FILE:/var/log/krb5kdc.log admin_server = FILE:/var/log/kadmind.log [libdefaults] default_realm = TEST.LOCAL dns_lookup_realm = true dns_lookup_kdc = true default_keytab_name = FILE:/etc/keytab.krb5 default_etypes = arcfour-hmac-md5 default_etypes_des = arcfour-hmac-md5 [realms] TEST.LOCAL = { kdc = testdc1.test.local default_domain = test.local admin_server = testdc1.test.local } [domain_realm] .domain.tld = TEST.LOCAL domain.tld = TEST.LOCAL .DOMAIN.TLD = TEST.LOCAL [appdefaults] pam = { debug = false ticket_lifetime = 36000 renew_lifetime = 36000 forwardable = true krb4_convert = false } [kadmin] require-preauth = true
Ellenőrizze le, hogy működik-e a Kerberos hitelesítés:
# kinit administrator
Adja meg a TEST\administrator felhasználó jelszavát (administrator@TEST.LOCAL). Jelenítse meg a Kerberos jegyeket:
# klist
A következőhöz hasonló jelenik meg:
Credentials cache: FILE:/tmp/krb5cc_0 Principal: administrator@TEST.LOCAL Issued Expires Principal Apr 7 16:47:41 Apr 8 02:47:29 krbtgt/TEST.LOCAL@TEST.LOCAL
Óra szinkronizálása
A Kerberos nagyon kényes a dátum- és időbeállításra. Az egymással kommunikáló számítógépek között legfeljebb 5 perc eltérés lehet (ez a Windows Server 2003 alapbeállítása). Ezért nagyon fontos, hogy az órák szinkronizálása megfelelően be legyen állítva. A FreeBSD tartalmazza a ntpd szolgáltatást, amely beállítható úgy, hogy lekérdezzen más NTP kiszolgálókat (AD tartományvezérlő) az óra szinkronizálásához. Adja hozzá a következő sort az /etc/rc.conf fájlhoz, hogy az ntpd engedélyezve legyen a számítógép indulásánál:
ntpd_enable="YES"
Az alkalmazás beolvassa az /etc/ntp.conf fájlt, hogy meghatározza, mely NTP kiszolgálókat kell lekérdeznie. Adja hozzá a tartományvezérlőt a fájlhoz (több kiszolgálót is meg lehet adni):
server 192.168.18.2 prefer
Indítsa el az óra szinkronizálást:
# service ntpd start
SAMBA 3.6 telepítés és konfigurálása
Telepítse a SAMBA 3.6 alkalmazást:
# portmaster net/samba36
Válassza ki a következő opciókat, amikor a rendszer rákérdez:
ACL_SUPPORT ADS AIO_SUPPORT CUPS DNSUPDATE FAM_SUPPORT IPV6 POPT QUOTAS SYSLOG UTMP WINBIND
Fogadja el a többi csomag alapértelmezett opcióit. Hozza létre a /usr/local/etc/smb.conf fájlt:
[global] workgroup = TEST server string = Samba Server Version %v security = ADS realm = TEST.LOCAL domain master = no local master = no preferred master = no socket options = TCP_NODELAY IPTOS_LOWDELAY SO_RCVBUF=131072 SO_SNDBUF=131072 use sendfile = yes aio read size = 16384 aio write size = 16384 read raw = yes write raw = yes idmap config * : backend = tdb idmap config * : range = 1000000-2999999 idmap config TEST : backend = rid idmap config TEST : range = 10000-99999 winbind enum users = yes winbind enum groups = yes winbind use default domain = yes winbind nested groups = yes winbind refresh tickets = yes winbind offline logon = yes template homedir = /home/%D/%U template shell = /bin/sh client use spnego = yes client ntlmv2 auth = yes encrypt passwords = yes restrict anonymous = 2 log file = /var/log/samba/log.%m syslog = 1 log level = 0 max log size = 500 unix charset = UTF8 display charset = UTF8 load printers = no printing = bsd printcap name = /dev/null nt acl support = yes inherit acls = yes map acl inherit = yes unix extensions = no [testshare] comment = Test share path = /usr/home/test read only = no valid users = @"TEST\Domain Users" admin users = TEST+Administrator force group = "Domain Users" directory mask = 0770 force directory mode = 0770 create mask = 0660 force create mode = 0660 access based share enum = yes
Módosítsa az /etc/nsswitch.conf fájlban a következő sorokat:
group: files winbind passwd: files winbind
Csatlakoztassa a SAMBA kiszolgálót az AD tartományhoz:
# net ads join -U administrator Enter administrator's password:
Adja meg a rendszergazda jelszavát. Sikertelen csatlakozás esetén ellenőrizze, hogy a SAMBA kiszolgáló rendelkezik-e érvényes DNS A rekorddal a SAMBA kiszolgáló. Sikeres csatlakozás esetén a következő sorok jelennek meg:
Using short domain name -- TEST Joined 'TESTMS1' to dns domain 'TEST.local'
Ellenőrizze le az ADS tagságot:
# net ads testjoin
Sikeresen kapcsolódás esetén a következő üzenet jelenik meg:
Join is OK
Adja hozzá a következő sorokat az /etc/rc.conf fájlhoz, a SAMBA kiszolgáló automatikus elindításához:
samba_enable="YES" winbindd_enable="YES"
Indítsa el a SAMBA szolgáltatásokat:
# service samba start
Ellenőrizze le, hogy az ADS felhasználók és csoportok rendelkezésre állnak-e a helyi FreeBSD rendszer számára:
# wbinfo -u # wbinfo -g
Felsorolja az összes ADS felhasználót és csoportok.
# getent passwd # getent group
Felsorolja a FreeBSD rendszeren elérhető összes felhasználót és csoportot, ahol a lista végén megjelennek az ADS-ből származó elemek is.
Hozza létre a SAMBA teszt megosztást és állítsa be az engedélyeket:
# mkdir -p /usr/home/test # chmod 0770 /usr/home/test # chgrp "Domain Users" /usr/home/test
A SAMBA kiszolgálónak most már elérhetőnek kell lennie a Windows AD számítógépeiről.
Indítsa újra a FreeBSD kiszolgálót és ellenőrizze, hogy rendesen elindulnak-e a SAMBA szolgáltatások.