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:
[bash]# freebsd-update fetch
# freebsd-update install[/bash]
Az útmutató a következő beállításokat használja. Ezek helyet saját értékeket kell használni:
[plain]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
[/plain]
Adja hozzá a következő sorokat az /etc/sysctl.conf fájlhoz:
[plain]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
[/plain]
Adja hozzá a következő sort a /boot/loader.conf fájlhoz:
[plain]
aio_load="YES"
[/plain]
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:
[bash]# portsnap fetch extract
# portsnap fetch update[/bash]
Hogyha még nincs telepítve a portmaster, akkor telepítse most:
[bash]# cd /usr/ports/ports-mgmt/portmaster
# make install clean
# rehash[/bash]
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:
[plain][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[/plain]
Ellenőrizze le, hogy működik-e a Kerberos hitelesítés:
[bash]# kinit administrator[/bash]
Adja meg a TEST\administrator felhasználó jelszavát (administrator@TEST.LOCAL). Jelenítse meg a Kerberos jegyeket:
[bash]# klist[/bash]
A következőhöz hasonló jelenik meg:
[plain]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
[/plain]
Ó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:
[plain]ntpd_enable="YES"[/plain]
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):
[plain]server 192.168.18.2 prefer[/plain]
Indítsa el az óra szinkronizálást:
[bash]# service ntpd start[/bash]
SAMBA 3.6 telepítés és konfigurálása
Telepítse a SAMBA 3.6 alkalmazást:
[bash]# portmaster net/samba36[/bash]
Válassza ki a következő opciókat, amikor a rendszer rákérdez:
[plain]
ACL_SUPPORT
ADS
AIO_SUPPORT
CUPS
DNSUPDATE
FAM_SUPPORT
IPV6
POPT
QUOTAS
SYSLOG
UTMP
WINBIND
[/plain]
Fogadja el a többi csomag alapértelmezett opcióit. Hozza létre a /usr/local/etc/smb.conf fájlt:
[plain]
[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
[/plain]
Módosítsa az /etc/nsswitch.conf fájlban a következő sorokat:
[plain]
group: files winbind
passwd: files winbind
[/plain]
Csatlakoztassa a SAMBA kiszolgálót az AD tartományhoz:
[bash]
# net ads join -U administrator
Enter administrator’s password:
[/bash]
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:
[plain]
Using short domain name — TEST
Joined ‘TESTMS1’ to dns domain ‘TEST.local’
[/plain]
Ellenőrizze le az ADS tagságot:
[bash]
# net ads testjoin
[/bash]
Sikeresen kapcsolódás esetén a következő üzenet jelenik meg:
[plain]
Join is OK
[/plain]
Adja hozzá a következő sorokat az /etc/rc.conf fájlhoz, a SAMBA kiszolgáló automatikus elindításához:
[plain]
samba_enable="YES"
winbindd_enable="YES"
[/plain]
Indítsa el a SAMBA szolgáltatásokat:
[bash]
# service samba start
[/bash]
Ellenőrizze le, hogy az ADS felhasználók és csoportok rendelkezésre állnak-e a helyi FreeBSD rendszer számára:
[bash]
# wbinfo -u
# wbinfo -g
[/bash]
Felsorolja az összes ADS felhasználót és csoportok.
[bash]
# getent passwd
# getent group
[/bash]
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:
[bash]
# mkdir -p /usr/home/test
# chmod 0770 /usr/home/test
# chgrp "Domain Users" /usr/home/test
[/bash]
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.