GNU/Linux >> Znalost Linux >  >> Ubuntu

Jak nastavit řadič domény Linux pomocí Samby na Ubuntu

SAMBA je open-source implementace protokolu SMB pro sdílení souborů, která poskytuje souborové a tiskové služby klientům SMB/CIFS. Pomáhá úspěšně propojit váš systém Ubuntu s klienty Windows, čímž poskytuje a integruje služby běžné pro prostředí Windows. Tyto služby napomáhají sdílení dat a informací o počítačích a uživatelích zapojených do sítě a mohou být klasifikovány do tří hlavních kategorií z hlediska funkčnosti

Služby sdílení souborů a tiskáren: Využívá protokol Server Message Block (SMB) k usnadnění sdílení souborů, složek, svazků a tiskáren v celé síti.

Adresářové služby: Sdílí důležité informace o počítačích a uživatelích sítě pomocí protokolu LDAP (Lightweight Directory Access Protocol) a Microsoft Active Directory.

Ověření a přístup: Zjišťuje identitu počítače nebo uživatele sítě a určuje informace, ke kterým je počítač nebo uživatel oprávněn přistupovat pomocí oprávnění k souborům, skupinových zásad a ověřovací služby Kerberos.

V tomto tutoriálu se naučíme, jak nakonfigurovat linuxový doménový řadič pomocí samby na Ubuntu 16.04.

Samba jako AD DC vyžaduje alespoň verzi 4.0.0. Vřele doporučuji používat nejnovější stabilní verzi Samby, protože bude obsahovat opravy chyb z předchozích verzí a spoustu vylepšené kompatibility s Microsoft Active Directory a dalších funkcí.

Hlavní výhodou tohoto použití je, že nemusíme instalovat samostatné Kerberos KDC. Samba obsahuje KDC kompatibilní s AD a dodává vlastní implementaci LDAP pro backendy AD.

Předpoklady

  • Ujistěte se, že je váš server nakonfigurován pro použití statické adresy IP. DHCP může způsobit potíže, pokud se adresa změní.
  • Aktualizujte svůj resolv.conf pomocí správných jmenných serverů.
  • Aktualizujte svůj soubor /etc/hosts správnými položkami. Název vašeho hostitele by se měl překládat na IP serveru.

Začněme s předpoklady. Ukážu vám, jak jsem upravil nastavení serveru tak, aby splňovalo naše předběžné podmínky.

1) Musíte nakonfigurovat síťové rozhraní pro statickou IP. Upravte soubor /etc/network/interfaces s IP serverem "96.126.107.141", názvem řadiče domény "nodenixbox.com" a dalšími podrobnostmi, jak je uvedeno níže:

root@ubuntu:~# cat /etc/network/interfaces
# This file describes the network interfaces available on your system
# and how to activate them. For more information, see interfaces(5).

source /etc/network/interfaces.d/*

# The loopback network interface
auto lo
iface lo inet loopback

# The primary network interface
auto eth0
iface eth0 inet static
address 96.126.107.141
netmask 255.255.255.0
network 96.126.107.0
broadcast 96.126.107.255
gateway 96.126.107.1
dns-nameservers 96.126.107.141 8.8.8.8
dns-search nodenixbox.com

# This is an autoconfigured IPv6 interface
iface eth0 inet6 auto

Změnil jsem iface eth0 inet dhcp na iface eth0 inet static a přidal tyto zvýrazněné části do své síťové konfigurace.

2) Upravte svůj soubor resolv.conf a přidejte název řadiče domény.

root@ubuntu:~# cat /etc/resolv.conf
# Dynamic resolv.conf(5) file for glibc resolver(3) generated by resolvconf(8)
# DO NOT EDIT THIS FILE BY HAND -- YOUR CHANGES WILL BE OVERWRITTEN
nameserver 96.126.107.141
nameserver 8.8.8.8
nameserver 207.192.69.4
search nodenixbox.com

3) V neposlední řadě upravte náš soubor /etc/hosts a nastavte „ubuntu.nodenixbox.com“ jako název hostitele, jak je uvedeno níže:

root@ubuntu:~# cat /etc/hosts
127.0.0.1 localhost
#127.0.1.1 ubuntu.members.linode.com ubuntu
96.126.107.141 ubuntu.nodenixbox.com ubuntu

# The following lines are desirable for IPv6 capable hosts
::1 localhost ip6-localhost ip6-loopback
ff02::1 ip6-allnodes
ff02::2 ip6-allrouters

root@ubuntu:~# echo ubuntu.nodenixbox.com > /etc/hostname

root@ubuntu:~# /etc/init.d/networking restart
[ ok ] Restarting networking (via systemctl): networking.service.

Po těchto úpravách restartujte síť.

Takže jsme připraveni začít s instalací balíčků.

Instalace balíčků

Nejprve musíme nainstalovat všechny potřebné balíčky pro nastavení našeho Active Directory řadiče domény. Spustím tento příkaz, abych aktualizoval všechny své serverové softwarové balíčky a nainstaloval požadovaný software.

root@ubuntu:~# apt-get update && apt-get upgrade -y

root@ubuntu:~# apt-get install git attr build-essential libacl1-dev libattr1-dev libblkid-dev libgnutls-dev libreadline-dev python-dev libpam0g-dev python-dnspython gdb pkg-config libpopt-dev libldap2-dev dnsutils libbsd-dev attr krb5-user docbook-xsl libcups2-dev acl ntp ntpdate winbind

Během instalace těchto balíčků budete požádáni o informace o kerberos. Musíte zadat své výchozí sféry Kerberos a informace o serveru správce. Výchozí sféru můžete zadat jako nodenixbox.com a název serveru správce jako název hostitele.

Jak nainstalovat a nakonfigurovat SAMBA

Musíte si stáhnout nejnovější balíčky Samba pomocí git repozitářů do složky "samba4".

root@ubuntu:~# git clone -b v4-1-stable git://git.samba.org/samba.git samba4
Cloning into 'samba4'...
remote: Counting objects: 1276826, done.
remote: Compressing objects: 100% (280630/280630), done.
remote: Total 1276826 (delta 992350), reused 1267276 (delta 984263)
Receiving objects: 100% (1276826/1276826), 249.03 MiB | 10.51 MiB/s, done.
Resolving deltas: 100% (992350/992350), done.
Checking connectivity... done.

Po stažení můžete vstoupit do složky "samba4" a nakonfigurovat balíček Samba.

root@ubuntu:~#cd samba4
root@ubuntu:~#./configure --enable-debug --enable-selftest
root@ubuntu:~#make
root@ubuntu:~/samba4# make
WAF_MAKE=1 python ./buildtools/bin/waf build
Waf: Entering directory `/root/samba4/bin'
Selected embedded Heimdal build
Waf: Leaving directory `/root/samba4/bin'
'build' finished successfully (6.288s)
root@ubuntu:~#make install

Dokončení kompilace SAMBA může chvíli trvat. Jakmile je hotovo, potvrďte pomocí verze klienta SAMBA a SMB. Obě tyto verze by se měly shodovat.

root@ubuntu:~# /usr/local/samba/sbin/samba -V
Version 4.1.23
root@ubuntu:~# /usr/local/samba/bin/smbclient -V
Version 4.1.23

Zřízení služby Samba Active Directory

Dalším krokem je zřízení vaší domény. Pro zřízení vaší domény můžete jednoduše spustit tento příkaz.

root@ubuntu:~/samba4# /usr/local/samba/bin/samba-tool domain provision --realm=nodenixbox.com --domain=nodenixbox --adminpass="password" --server-role=dc --dns-backend=SAMBA_INTERNAL
Looking up IPv4 addresses
Looking up IPv6 addresses
Setting up secrets.ldb
Setting up the registry
Setting up the privileges database
Setting up idmap db
Setting up SAM db
Setting up sam.ldb partitions and settings
Setting up sam.ldb rootDSE
Pre-loading the Samba 4 and AD schema
Adding DomainDN: DC=nodenixbox,DC=com
Adding configuration container
Setting up sam.ldb schema
Setting up sam.ldb configuration data
Setting up display specifiers
Modifying display specifiers
Adding users container
Modifying users container
Adding computers container
Modifying computers container
Setting up sam.ldb data
Setting up well known security principals
Setting up sam.ldb users and groups
Setting up self join
Adding DNS accounts
Creating CN=MicrosoftDNS,CN=System,DC=nodenixbox,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: ubuntu
NetBIOS Domain: NODENIXBOX
DNS Domain: nodenixbox.com
DOMAIN SID: S-1-5-21-4019752003-3807572232-1148719748

Někteří používají Bind9 jako backend DNS, ale SAMBA obsahuje svůj vlastní plně funkční DNS server. Zde používám SAMBA_INTERNAL. Po nastavení této domény musíme spustit službu SAMBA. Spuštěním tohoto příkazu spustíte SAMBA.

root@ubuntu:~# /usr/local/samba/sbin/samba
root@ubuntu:~#

Testování vašeho řadiče domény Samba

Můžeme spustit "smbclient" a zkontrolovat, zda Samba poskytuje výchozí sdílené složky AD DC "netlogon" a "sysvol", které byly vytvořeny ve vašem "smb.conf" během zřizování.

root@ubuntu:~# /usr/local/samba/bin/smbclient -L localhost -U%
Domain=[WORKGROUP] OS=[Windows 6.1] Server=[Samba 4.3.11-Ubuntu]

Sharename Type Comment
--------- ---- -------
print$ Disk Printer Drivers
IPC$ IPC IPC Service (ubuntu server (Samba, Ubuntu))
Domain=[WORKGROUP] OS=[Windows 6.1] Server=[Samba 4.3.11-Ubuntu]

Server Comment
--------- -------
UBUNTU ubuntu server (Samba, Ubuntu)

Workgroup Master
--------- -------
WORKGROUP UBUNTU

Chcete-li otestovat, zda autentizace funguje, měli byste se pokusit připojit ke sdílené složce „netlogon“ pomocí účtu správce domény, který byl vytvořen během zřizování.

root@ubuntu:~/samba4# /usr/local/samba/bin/smbclient //localhost/netlogon -UAdministrator -c 'ls'
Enter Administrator's password:
Domain=[NODENIXBOX] OS=[Unix] Server=[Samba 4.1.23]
. D 0 Sun Oct 16 09:30:02 2016
.. D 0 Sun Oct 16 09:31:09 2016

47431 blocks of size 524288. 40274 blocks available

Nakonfigurujte SAMBA_INTERNAL DNS

Funkční DNS je nezbytný pro správné fungování Active Directory. Bez správných záznamů DNS nebude Kerberos fungovat, což zase znamená, že mnoho základních funkcí nebude fungovat. Vždy se vyplatí věnovat nějaký čas navíc zajištěním nastavení DNS, aby bylo zajištěno, že je správně provedeno.

Musíme upravit náš /etc/resolv.conf s názvem naší domény, jak je uvedeno níže:

root@ubuntu:~#echo domain nodenixbox.com >> /etc/resolv.conf

Váš řadič domény vyžaduje jmenný server, který je schopen překládat dotazy do zón Active Directory. Protože toto je váš první řadič domény ve vaší doménové struktuře AD.

Musíte také upravit konfigurační soubor samby „/usr/local/samba/etc/smb.conf“ a přidat jmenný server google do dns_forwarder.

root@ubuntu:~# cat /usr/local/samba/etc/smb.conf
# Global parameters

[globální]

workgroup =NODENIXBOXrealm =NODENIXBOX.COMnetbios name =UBUNTU server role =active directory domain controllerdns forwarder =8.8.8.8

Testování vašeho DNS

Chcete-li ověřit, zda DNS funguje správně, spusťte následující příkazy a porovnejte výstup

root@ubuntu:~# host -t SRV _ldap._tcp.nodenixbox.com
_ldap._tcp.nodenixbox.com has SRV record 0 100 389 ubuntu.nodenixbox.com

root@ubuntu:~# host -t SRV _kerberos._udp.nodenixbox.com.
_kerberos._udp.nodenixbox.com has SRV record 0 100 88 ubuntu.nodenixbox.com.

root@ubuntu:~# host -t A ubuntu.nodenixbox.com
ubuntu.nodenixbox.com has address 96.126.107.141

Nakonfigurujte Kerberos

Kerberos je důležitou součástí Active Directory. Konfigurace se obvykle provádí v /etc/krb5.conf. Během zřizování bude vytvořena funkční vzorová konfigurace v /usr/local/samba/share/setup/krb5.conf . Soubor krb5.conf můžete nahradit ukázkou zkopírováním nebo vytvořením symbolického odkazu.

root@ubuntu:~# ln -s /usr/local/samba/share/setup/krb5.conf /etc/krb5.conf

Budete muset upravit tento soubor a upravit default_realm s vaším jménem DC, jak je uvedeno níže:

root@ubuntu:~# cat //etc/krb5.conf

[libdefaults]

default_realm =NODENIXBOX.COMdns_lookup_realm =falsedns_lookup_kdc =true

Název sféry by měl být VELKÝMI PÍSMENY.

Testování protokolu Kerberos

K otestování konfigurace Kerberos můžete použít kinit. Pro testování spusťte tento příkaz, jak je uvedeno níže:

root@ubuntu:~# kinit [email protected]
Password for [email protected]:
Warning: Your password will expire in 41 days on Sun 27 Nov 2016 09:31:07 AM UTC

Spuštěním tohoto příkazu musíte zakázat vypršení platnosti hesla pro uživatele správce aktivního adresáře, abyste předešli budoucím problémům s autentizací.

root@ubuntu:~# /usr/local/samba/bin/samba-tool user setexpiry administrator --noexpiry
Expiry for user 'administrator' disabled.

Poznámka:Svou sféru musíte vždy zadat velkými písmeny. Chcete-li ověřit, že Kerberos funguje, můžete spustit toto.

root@ubuntu:~# klist -e
Ticket cache: FILE:/tmp/krb5cc_0
Default principal: [email protected]

Valid starting Expires Service principal
10/17/2016 04:19:31 10/17/2016 14:19:31 krbtgt/[email protected]
renew until 10/18/2016 04:19:19, Etype (skey, tkt): arcfour-hmac, arcfour-hmac

Vytvoření domovské složky uživatele

Nyní můžete vytvořit své uživatelské domovské složky a nastavit správná oprávnění a vlastnictví.

root@ubuntu:~# mkdir -m 770 /Users
root@ubuntu:~# chmod g+s /Users
root@ubuntu:~# chown root:users /Users

Dále musíte upravit svůj konfigurační soubor SMB „/usr/local/samba/etc/smb.conf“, jak je uvedeno níže:

[Users]
directory_mode: parameter = 0700
read only = no
path = /Users
csc policy = documents

Konfigurovat NTP

Aby služba Kerberos správně fungovala, vyžaduje Active Directory blízkou časovou synchronizaci mezi všemi počítači účastníků. Důrazně se doporučuje používat NTP na řadiči domény pro synchronizaci času. Tato dokumentace vám poskytne všechny potřebné informace pro konfiguraci NTP na AD Domain Controller.

Závěr

Nakonec jsme vytvořili náš řadič domény Active Directory na serveru Ubuntu 16.04. Můžete si vytvořit svůj vlastní adresář DC Active a sdílet jej po síti. Hlavní výhodou této konfigurace je schopnost centralizovat přihlašovací údaje uživatele a stroje. Má několik dalších výhod. Některé z klíčových výhod jsou uvedeny níže:

  • Udržuje seznam uživatelů, kteří mají přístup k síti v aktivním adresáři, a určuje, ke kterým souborům mají uživatelé přístup a co s těmito soubory mohou dělat.
  • Kromě zabezpečení a pohodlí poskytují řadiče domény rychlost tím, že uvolňují jednotlivé zdroje počítače od provádění serverových funkcí, což v konečném důsledku zlepšuje výkon klientského počítače.
  • Poskytuje také úplný protokol zabezpečení, který je vyžadován pro zabezpečení a audit systému.

Ubuntu
  1. Jak restartovat síť na Ubuntu 16.04 Xenial Xerus Linux

  2. Jak zálohovat konfiguraci řadiče domény Samba v Linuxu

  3. Jak zkopíruji soubor přes FTP pomocí Ubuntu Linux?

  1. Jak rozbalit soubor ZIP v Ubuntu / Linux

  2. Jak otevřít soubory ISO na Ubuntu Linux

  3. Jak nastavit Sambu jako primární řadič domény v Linuxu

  1. Jak odstranit soubor na Ubuntu Linux

  2. Jak nastavit Ubuntu Rolling Release pomocí Rolling-Rhino

  3. Jak spustit soubor Jar v Ubuntu Linux