Počínaje verzí 4.0 je Samba schopna běžet jako řadič domény (DC) Active Directory (AD). V tomto tutoriálu vám ukážu, jak nakonfigurovat Samba 4 jako řadič domény s klienty Windows 10, CentOS 7 a CentOS 6.
V tomto tutoriálu zkompiluji Sambu 4 ze zdroje. Pokud hledáte instalaci založenou na Sambě 4 RPM a konfiguraci SELinux pro Sambu 4, podívejte se prosím na můj nový tutoriál Samba 4 zde.
Budu používat 3 systémy, jeden server CentOS 7 a klienta Windows 10 pro vzdálenou správu, klienta CentOS 7 a CentOS 6.
- 192.168.1.190 Samba4 AD centos7
- 192.168.1.191 vzdálená správa win 10
- 192.168.1.22 – ověření klienta – centos 7
- 192.168.1.192 – Ověření klienta – 6 centos
Instalace Samby 4
192.168.1.190 Samba4 AD centos 7
Základem je CentOS 7 s minimální instalací a zakázaným SELinux.
[[e-mail chráněný] ~]#
Proveďte záznam v souboru /etc/hosts.
[[email protected] ~]# cat /etc/hosts127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4::1 localhost localhost.localdomain localhost6 localhost6.localdomain6192.168.1.190 samba4.basunil.cc samba4. [e-mail chráněn] ~]#
Nainstalujte epel repo.
[[email protected] ~]# yum install epel-release -y
Nainstalujte všechny balíčky potřebné ke kompilaci samba4.
[[email protected] ~]# yum install perl gcc libacl-devel libblkid-devel gnutls-devel readline-devel python-devel gdb pkgconfig krb5-workstation zlib-devel setroubleshoot-server libaio-devel setroubleshootutils-plugins\policycore python libsemanage-python setools-libs-python setools-libs popt-devel libpcap-devel sqlite-devel libidn-devel libxml2-devel libacl-devel libsepol-devel libattr-devel keyutils-libs-devel-devel-cyrus- bind-utils libxslt docbook-style-xsl openldap-devel pam-devel bzip2 vim wget -y
Nyní si stáhněte balíček samba4. Používám sambu-4.6.0, která je nejnovější během tohoto nastavení.
[[email protected] ~]# wget https://download.samba.org/pub/samba/stable/samba-4.6.0.tar.gz
Nyní pojďme nainstalovat samba4.
[[chráněn e-mailem] ~]# tar -zxvf samba-4.6.0.tar.gz [[chráněn e-mailem] ~]# cd samba-4.6.0 [[chráněn e-mailem] samba-4.6.0]# . /configure --enable-debug --enable-selftest --with-ads --with-systemd --with-winbind [[email protected] samba-4.6.0]# make &&make install
Instalace bude trvat asi 10 minut v závislosti na rychlosti systému.
Nyní provedeme zřízení domény.
[[email protected] samba]# poskytování domény nástrojem samba --use-rfc2307 --interactiveRealm [SUNIL.CC]:Doména [SUNIL]:Role serveru (dc, člen, samostatný) [dc]:dc DNS backend (SAMBA_INTERNAL, BIND9_FLATFILE, BIND9_DLZ, NONE) [SAMBA_INTERNAL]:IP adresa DNS forwarderu (pro deaktivaci předávání napište 'none') [4.2.2.1]:Heslo administrátora:Opětovné zadání hesla:Vyhledávání IPv4 adres Vyhledání IPv6 adres nebude IPv6 PřiřazenoNastavení share.ldbNastavení secrets.ldbNastavení registruNastavení databáze oprávněníNastavení idmap dbNastavení SAM dbNastavení oddílů a nastavení sam.ldbNastavení sam.ldb rootDSEPřednahrání schématu Samba 4 a ADPřidání DN domény:DC=sunil,DC=ccPřidání konfiguračního kontejneruNastavení schématu sam.ldbNastavení konfiguračních dat sam.ldbNastavení specifikátorů zobrazeníÚprava specifikátorů zobrazeníPřidání kontejneru uživatelůÚprava kontejneru uživatelůPřidání kontejneru počítačůÚprava kontejneru počítačůNastavení údajů sam.ldbDobré nastavení známé principy zabezpečeníNastavení uživatelů a skupin sam.ldbERROR(ldb):nezachycená výjimka - chyba operace na adrese ../source4/dsdb/samdb/ldb_modules/password_hash.c:2820 Soubor "/usr/local/samba/lib64/python2.7 /site-packages/samba/netcmd/__init__.py", řádek 176, v _run return self.run(*args, **kwargs) Soubor "/usr/local/samba/lib64/python2.7/site-packages/ samba/netcmd/domain.py", řádek 471, za běhu nosync=ldap_backend_nosync, ldap_dryrun_mode=ldap_dryrun_mode) Soubor "/usr/local/samba/lib64/python2.7/site-packages/samba/provision/__init__.py", řádek 2175, v ustanovení skip_sysvolacl=skip_sysvolacl) Soubor "/usr/local/samba/lib64/python2.7/site-packages/samba/provision/__init__.py", řádek 1787, v ustanovení_fill next_rid=next_rid, dc_rid)rid=rid, dc_rid) Soubor "/usr/local/samba/lib64/python2.7/site-packages/samba/provision/__init__.py", řádek 1447, ve fill_samdb "KRBTGTPASS_B64":b64encode(krbtgtpass.encode('utf-16-le' )) Soubor "/usr/local/samba/lib64/python2.7/site-packages/samba/provision/ common.py", řádek 55, v setup_add_ldif ldb.add_ldif(data, controls) Soubor "/usr/local/samba/lib64/python2.7/site-packages/samba/__init__.py", řádek 225, v add_ldif self .add(msg, controls)[[email protected] samba]#
Při zajišťování domény se vyskytnou nějaké chyby.
Chcete-li je opravit, zakomentujte níže uvedený řádek v /etc/krb5.conf.
-------- #includedir /etc/krb5.conf.d/ --------
Spusťte znovu zřizování domény a doména se nyní vytvoří bez chyb.
[[e-mail chráněno] atd. # poskytování domény nástrojem samba --use-rfc2307 --interactiveRealm [SUNIL.CC]:Doména [SUNIL]:Role serveru (dc, člen, samostatný) [dc]:backend DNS (SAMBA_INTERNAL, BIND9_FLATFILE, BIND9_DLZ, NONE) [SAMBA_INTERNAL]:IP adresa DNS forwarderu (pro deaktivaci předávání zapište 'none') [4.2.2.1]:Heslo správce:Znovu zadejte heslo:Vyhledávání IPv4 adres Vyhledání IPv6 adres nebude přiděleno Nastavení IPv6 up secrets.ldbNastavení registruNastavení databáze oprávněníNastavení databáze oprávněníNastavení idmap dbNastavení SAM dbNastavení oddílů a nastavení sam.ldbNastavení sam.ldb rootDSEPřednačtení schématu Samba 4 a ADPřidání DomainDN:DC=sunil,DC=ccPřidání kontejneru konfiguraceNastavení sam schéma .ldbNastavení konfiguračních dat sam.ldbNastavení specifikátorů zobrazeníÚprava specifikátorů zobrazeníPřidání kontejneru uživatelůÚprava kontejneru uživatelůPřidání kontejneru počítačůÚprava kontejneru počítačůNastavení dat sam.ldbNastavení dobře známého principu zabezpečení alsNastavení uživatelů a skupin sam.ldbNastavení vlastního připojeníPřidání účtů DNSVytvoření CN=MicrosoftDNS,CN=System,DC=sunil,DC=ccVytvoření oddílů DomainDnsZones a ForestDnsZonesNaplnění konfigurace oddílů DomainDnsZones a ForestDnsZonesNastavení konfigurace sam.ldbbered rootGuDSE pro vhodné označení KeramGuDSE Samba AD byla vygenerována na /usr/local/samba/private/krb5.confNastavení falešného nastavení serveru yp Jakmile budou nainstalovány výše uvedené soubory, bude váš server Samba4 připraven k použití Role serveru:řadič domény aktivního adresářeNázev hostitele:samba4NetBIOS Doména:SUNILDNS Doména:sunil.cc SID DOMÉNY:S-1-5-21-2936486394-2075362935-551615353[[e-mail chráněný] etc]#
Ujistěte se, že jsou porty ve bráně firewall otevřené.
[[e-mail chráněný] etc]#firewall-cmd --add-port=53/tcp --permanent;firewall-cmd --add-port=53/udp --permanent;firewall-cmd --add- port=88/tcp --permanent;firewall-cmd --add-port=88/udp --permanent; \firewall-cmd --add-port=135/tcp --permanent;firewall-cmd --add-port=137-138/udp --permanent;firewall-cmd --add-port=139/tcp --permanent; \firewall-cmd --add-port=389/tcp --permanent;firewall-cmd --add-port=389/udp --permanent;firewall-cmd --add-port=445/tcp --permanent; \firewall-cmd --add-port=464/tcp --permanent;firewall-cmd --add-port=464/udp --permanent;firewall-cmd --add-port=636/tcp --permanent; \firewall-cmd --add-port=1024-5000/tcp --permanent;firewall-cmd --add-port=3268-3269/tcp --permanent[[e-mail chráněný] ~]# firewall-cmd --reload
Vytvořte spouštěcí skript pro automatické spuštění služby během restartu.
[[email protected] ~]# cat /etc/systemd/system/samba.service[Unit]Description=Samba 4 Active DirectoryAfter=syslog.targetAfter=network.target[Service]Type=forkingPIDFile=/usr/local /samba/var/run/samba.pidExecStart=/usr/local/samba/sbin/samba[Install]WantedBy=multi-user.target[[e-mail chráněný] ~]#[[chráněn e-mailem] ~]# systemctl povolit sambaCreated symbolický odkaz z /etc/systemd/system/multi-user.target.wants/samba.service do /etc/systemd/system/samba.service.[[email protected] ~]# systemctl start samba
Přidání hostitele Windows do domény
192.168.1.191 vzdálená správa win 10
Ujistěte se, že je hostitel přidán se statickou IP adresou.
Přidání hostitele do domény.
Ke správě Samby4 z Windows potřebujeme mít nainstalované nástroje Microsoft Remote Server Tools (RSAT).
Wiki stránka obsahuje odkazy https://wiki.samba.org/index.php/Installing_RSAT
Instalace nástroje RSAT ve Windows 10
Spusťte instalační program.
Po restartu přejděte ke spuštění a zadejte dsa.msc
Klikněte na doménu sunil.cc a klikněte pravým tlačítkem na nový -> Uživatelé.
Vytvoření testovacího uživatele.
Ověření klienta pomocí Samba 4 na CentOS 7
192.168.1.22 – Ověření klienta na CentOS 7
Instalace balíčků:
[[email protected] ~]# yum -y install realmd sssd oddjob oddjob-mkhomedir adcli samba-common
Zkontrolujte připojení se samba4:
[[email protected] ~]# realm discover SUNIL.CCsunil.cc typ:kerberos realm-name:SUNIL.CC domain-name:sunil.cc nakonfigurované:kerberos-member server-software:active-directory client-software :sssd required-pack:oddjob required-package:oddjob-mkhomedir required-package:sssd required-package:adcli required-package:samba-common-tools login-formats:%U login-policy:allow-realm-logins[[ e-mail chráněno] ~]#
Připojování k doméně.
[[email protected] ~]# realm připojit se SUNIL.CCPassword pro správce:[[email protected] ~]#
Zkontrolujte, zda jsme schopni získat uživatele ze samba4.
[[chráněno e-mailem] ~]# id SUNIL\\testuseruid=1570001104([chráněno e-mailem]) gid=1570000513(doména [chráněna e-mailem]) skupiny=1570000513(doména [chráněna e-mailem])[ ~email chráněn #
Nakonfigurujte sssd.
[[email protected] ~]# cat /etc/sssd/sssd.conf[sssd]domény =sunil.ccconfig_file_version =2services =nss, pam[domain/sunil.cc]ad_domain =sunil.cckrb5_realm =SUNIL.CCrealmd_tags =manages-system join-with-sambacache_credentials =Trueid_provider =adkrb5_store_password_if_offline =Truedefault_shell =/bin/bashldap_id_mapping =Trueuse_fully_qualified_names =Truefallback_homedir =/home/%[email protected] ~[e]# Restartujte sssd.[[e-mail chráněný] ~]# systemctl restart sssd[[email protected] ~]# systemctl enable sssdZkontrolujte uživatele.
[[chráněný e-mail] ~]# id [chráněný e-mail]uid=1570001105([chráněný e-mail]) gid=1570000513(doména [chráněný e-mail]) skupiny=1570000513(doména [chráněný e-mail]), 5170(doména 00 e-mail chráněný]),1570000572(zamítnuta replikace hesla rodc [e-mail chráněn])[[e-mail chráněn] ~]#Chcete-li získat uživatele bez názvu domény.
[[email protected] ~]# vim /etc/sssd/sssd.conf-----------------------use_fully_qualified_names =False---- ------------------Restartujte příkaz sssd a zkontrolujte id.
[[e-mail chráněný] ~]# systemctl restart sssd[[e-mail chráněný] ~]# id sambauseruid=1570001105(sambauser) gid=1570000513(uživatelé domény) skupiny=1570000513(uživatelé domény),155270 1570000572 (zamítnutá skupina replikace hesla rodc)[[e-mail chráněný] ~]#Ověření klienta pomocí Samba 4 na CentOS 6
192.168.1.192 – Ověření klienta na CentOS 6.
Instalace balíčků.
[[email protected] db]# yum install pam pam_ldap pam_krb5 sssd sssd-ldap sssd-common authconfig oddjob oddjob-mkhomedir openldap openldap-clients krb5-workstation adcli -yZměňte konfigurační soubor kerberos.
[[email protected] db]# cat /etc/krb5.conf[logging] default =SOUBOR:/var/log/krb5libs.log kdc =SOUBOR:/var/log/krb5kdc.log admin_server =SOUBOR:/ var/log/kadmind.log[libdefaults] default_realm =SUNIL.CC dns_lookup_realm =false dns_lookup_kdc =false ticket_lifetime =24h renew_lifetime =7d forwardable =true[realms] SUNIL.CC ={ kdc =sambail.ccsunil admba4. .cc }[domain_realm] .sunil.cc =SUNIL.CC sunil.cc =SUNIL.CC[[email protected] db]#K připojení k doméně použijeme příkaz adcli.
[[email protected] db]# adcli info sunil.cc[domain]název-domény =sunil.ccdomain-short =SUNILdomain-forest =sunil.ccdomain-controller =samba4.sunil.ccdomain-controller-site =Výchozí -First-Site-Namedomain-controller-flags =pdc gc ldap ds kdc timeserv nejbližší zapisovatelný good-timeserv full-secretdomain-controller-usable =yesdomain-controllers =samba4.sunil.cc[computer]computer-site =Default-First- Název webu[[chráněn e-mailem] db]#[[chráněn e-mailem] db]# adcli připojit se k sunil.ccHeslo pro [chráněno e-mailem]:[[chráněno e-mailem] db]#Ujistěte se, že je vytvořen kerberos tiket.
[[email protected] db]# klist -keNakonfigurujte ověřování.
[[email protected] db]# authconfig --enablesssd --enablesssdauth --enablemkhomedir --updateUpravte nyní konfiguraci sssd, abyste provedli ověření.
[[email protected] db]# cat /etc/sssd/sssd.conf[sssd]services =nss, pam, ssh, autofsconfig_file_version =2domains =sunil.cc[domain/sunil.cc]id_provider =ad# Odkomentovat pokud zjišťování služby nefunguje# ad_server =server.win.example.comdefault_shell =/bin/bashfallback_homedir =/home/%u[[email protected] db]#Restartujte službu sssd.
[[e-mail chráněno] db]# chkconfig sssd zapnuto[[e-mail chráněno] db]# služba sssd restartZastavování sssd:[ OK ]Spouštění sssd:[ OK ][[e-mail chráněný] db]#Ověřování uživatele.
[[e-mail chráněný] db]# id sambauseruid=1570001105(sambauser) gid=1570000513(uživatelé domény) skupiny=1570000513(uživatelé domény),1570000512(správci doménových hesel znovuzamítnutí0skupina),157200 skupinová replikace hesel)157200 chráněno] db]#
Nainstalujte a nakonfigurujte podnikový Open Source rezervační systém na Centos 7 Jak nainstalovat Mantis Bug Tracker na CentOS 7Cent OS