Sambu používá sysadmin k překonání problému interoperability ve smíšeném prostředí, kde máte Linux i Windows. Poskytuje společnou platformu pro Windows i Linux, aby měly společný prostor pro sdílení.
Domain controller je služba, která slouží k centralizované správě uživatelů, skupin nebo libovolných objektů v síti. Tato služba nám umožňuje spravovat, ověřovat a zabezpečovat přihlašovací údaje uživatelů a související data.
Tento tutoriál vysvětluje, jak můžeme nakonfigurovat Sambu na Linuxu jako primární řadič domény.
1. Nastavte správný název hostitele
Ujistěte se, že jste nastavili správný název hostitele a statickou IP. Pokud používáte interní ip-adresu a chcete k ní přistupovat z internetu, nastavte na vašem firewallu příslušná pravidla NAT.
V tomto tutoriálu bude jako název hostitele použit tgs.example.com.
# vi /etc/sysconfig/network HOSTNAME=tgs.example.com
Ujistěte se, že má v souboru ifcfg-eth0 správné nastavení statické IP adresy.
# vi /etc/sysconfig/network-script/ifcfg-eth0 IPADDR=192.168.101.1 NETMASK=255.255.255.0
Rovněž odpovídajícím způsobem přiřaďte bránu a DNS v souboru /etc/sysconfig/network a /etc/resolv.conf.
Ověřte, že váš soubor /etc/hosts obsahuje záznam podobný následujícímu.
# vi /etc/hosts 192.168.101.1 tgs.example.com tgs
Také se ujistěte, že je na tomto serveru nastavena a správně spuštěna služba NTP.
2. Nainstalujte Sambu ze zdroje
Na CentOS se balíčky samba standardně neinstalují pro minimální typ instalace.
Nejprve nainstalujte následující závislé balíčky.
# yum install glibc glibc-devel gcc python* libacl-devel krb5-workstation krb5-libs pam_krb5 git-core openldap-devel
Dále si stáhněte zdroj samby, jak je znázorněno níže.
# git clone git://git.samba.org/samba.git sambaserver
Soubory budou staženy do adresáře sambaserver. Nainstalujte server samba, jak je znázorněno níže.
cd sambaserver ./configure --enable-debug --enable-selftest make make install
Samba bude nainstalována do výchozího umístění /usr/local/samba/bin. V tomto adresáři uvidíte několik klientských obslužných programů samby.
# cd /usr/local/samba/bin/ # ls cifsdd ldbsearch ntdbrestore regshell smbcquotas tdbbackup dbwrap_tool locktest ntdbtool regtree smbget tdbdump eventlogadm masktest ntlm_auth rpcclient smbpasswd tdbrestore gentest ndrdump oLschema2ldif samba-tool smbspool tdbtool ldbadd net pdbedit sharesec smbstatus testparm ldbdel nmblookup pidl smbcacls smbtar wbinfo ldbedit nmblookup4 profiles smbclient smbta-util ldbmodify ntdbbackup regdiff smbclient4 smbtorture ldbrename ntdbdump regpatch smbcontrol smbtree
3. Nastavení poskytování domény
Chcete-li zahájit poskytování domény, spusťte nástroj samba, jak je znázorněno níže. Tím se z konfiguračních souborů vybere výchozí název hostitele a název domény.
# /usr/local/samba/bin/samba-tool domain provision Realm [EXAMPLE.COM]: Domain [EXAMPLE]: Server Role (dc, member, standalone) [dc]: DNS backend (SAMBA_INTERNAL, BIND9_FLATFILE, BIND9_DLZ, NONE) [SAMBA_INTERNAL]: DNS forwarder IP address (write 'none' to disable forwarding) [125.22.47.125]: 8.8.8.8 Administrator password: Retype password: ... ... Adding DNS accounts Creating CN=MicrosoftDNS,CN=System,DC=example,DC=com Creating DomainDnsZones and ForestDnsZones partitions Populating DomainDnsZones and ForestDnsZones partitions Setting up sam.ldb rootDSE marking as synchronized Fixing provision GUIDs A Kerberos configuration suitable for Samba 4 has been generated at /usr/local/samba/private/krb5.conf Once the above files are installed, your Samba4 server will be ready to use Server Role: active directory domain controller Hostname: tgs NetBIOS Domain: EXAMPLE DNS Domain: example.com DOMAIN SID: S-1-5-21-2869186506-3515775153-2841826798
4. Spusťte službu Samba
Spusťte službu samba, jak je uvedeno níže.
/usr/local/samba/sbin/samba
Přidejte následující položku do souboru rc.local, abyste se ujistili, že se služba samba spouští automaticky během spouštění systému.
# echo /usr/local/samba/sbin/samba >> /etc/rc.d/rc.local # cat /etc/rc.d/rc.local touch /var/lock/subsys/local /usr/local/samba/sbin/samba
5. Zkontrolujte verzi Samby
Verzi samby můžete ověřit pomocí příkazu samba nebo smbclient, jak je uvedeno níže.
# /usr/local/samba/sbin/samba -V Version 4.2.0pre1-GIT-913b2a1 # /usr/local/samba/bin/smbclient -V Version 4.2.0pre1-GIT-913b2a1
Následující příkaz zobrazí všechny sdílené položky Samba, které jsou aktuálně dostupné.
# /usr/local/samba/bin/smbclient -L localhost -U% Domain=[EXAMPLE] OS=[Windows 6.1] Server=[Samba 4.2.0pre1-GIT-913b2a1] Sharename Type Comment --------- ---- ------- netlogon Disk sysvol Disk IPC$ IPC IPC Service (Samba 4.2.0pre1-GIT-913b2a1) Domain=[EXAMPLE] OS=[Windows 6.1] Server=[Samba 4.2.0pre1-GIT-913b2a1] Server Comment --------- ------- Workgroup Master --------- -------
Ověřte, že se můžete přihlásit pomocí uživatelského jména a hesla správce.
# /usr/local/samba/bin/smbclient //localhost/netlogon -Uadministrator -c 'ls' Enter administrator's password: Domain=[EXAMPLE] OS=[Windows 6.1] Server=[Samba 4.2.0pre1-GIT-913b2a1] . D 0 Fri Feb 21 15:06:15 2014 .. D 0 Fri Feb 21 15:06:28 2014 57901 blocks of size 8388608. 54372 blocks available
6. Ověřte domény
Nyní zkontrolujeme, zda doména funguje podle očekávání. Zkontrolujte záznam SRV a A, jak je znázorněno níže.
# host -t SRV _ldap._tcp.example.com _ldap._tcp.example.com has SRV record 0 100 389 tgs.example.com. # host -t SRV _kerberos._udp.example.com _kerberos._udp.example.com has SRV record 0 100 88 tgs.example.com. # host -t A tgs.example.com tgs.example.com has address 192.168.101.1
Pomocí příkazu samba-tool ověřte název sféry, jak je uvedeno níže.
# /usr/local/samba/bin/samba-tool testparm --suppress-prompt | grep realm realm = EXAMPLE.COM
7. Nakonfigurujte Kerberos
Zkopírujte ukázkový soubor krb5.conf do adresáře /etc.
cp /usr/local/samba/share/setup/krb5.conf /etc/krb5.conf
Nastavte default_realm na název vaší domény. V tomto případě jej nastavíme na example.com
# cat /etc/krb5.conf [libdefaults] default_realm = EXAMPLE.COM dns_lookup_realm = false dns_lookup_kdc = true
Pomocí příkazu kinit se ujistěte, že je Kerberos správně nastaven, jak je uvedeno níže.
# kinit [email protected] Password for [email protected]: Warning: Your password will expire in 41 days on Fri Apr 4 15:06:25 2014
Nakonec můžete použít nástroj vzdáleného správce Windows pro připojení k serveru Samba a použít jej jako doménový řadič.
Pokud během výše uvedeného procesu narazíte na nějaké problémy, ujistěte se, že aktualizujete systém aktualizací všech balíčků. Můžete také dočasně deaktivovat SELinux a zkontrolovat soubor audit.log, zda neobsahuje chybové zprávy související se SELinuxem. Také se ujistěte, že vaše pravidla IPTables neblokují porty, které Samba vyžaduje pro komunikaci mezi servery.