GNU/Linux >> LINUX-Kenntnisse >  >> Ubuntu

So richten Sie den Linux-Domänencontroller mit Samba unter Ubuntu ein

SAMBA ist eine Open-Source-Implementierung des SMB-Dateifreigabeprotokolls, das Datei- und Druckdienste für SMB/CIFS-Clients bereitstellt. Es hilft bei der erfolgreichen Vernetzung Ihres Ubuntu-Systems mit Windows-Clients, wodurch Dienste bereitgestellt und integriert werden, die in Windows-Umgebungen üblich sind. Diese Dienste unterstützen die gemeinsame Nutzung von Daten und Informationen über die am Netzwerk beteiligten Computer und Benutzer und können in Bezug auf die Funktionalität in drei Hauptkategorien eingeteilt werden

Datei- und Druckerfreigabedienste: Es verwendet das Server Message Block (SMB)-Protokoll, um die gemeinsame Nutzung von Dateien, Ordnern, Volumes und Druckern im gesamten Netzwerk zu erleichtern.

Verzeichnisdienste: Es teilt wichtige Informationen über die Computer und Benutzer des Netzwerks mit Hilfe von Lightweight Directory Access Protocol (LDAP) und Microsoft Active Directory.

Authentifizierung und Zugriff: Es stellt die Identität eines Computers oder Benutzers des Netzwerks her und bestimmt die Informationen, auf die der Computer oder Benutzer zugreifen darf, indem es Dateiberechtigungen, Gruppenrichtlinien und den Kerberos-Authentifizierungsdienst verwendet.

In diesem Tutorial lernen wir, wie man einen Linux-Domänencontroller mit Samba unter Ubuntu 16.04 konfiguriert.

Samba als AD DC benötigt mindestens Version 4.0.0. Ich empfehle dringend, die neueste stabile Version von Samba zu verwenden, da sie Fehlerbehebungen aus früheren Versionen und viele verbesserte Microsoft Active Directory-Kompatibilität und zusätzliche Funktionen enthält.

Der Hauptvorteil dieser Verwendung besteht darin, dass wir kein separates Kerberos-KDC installieren müssen. Samba enthält ein AD-kompatibles KDC und bringt seine eigene LDAP-Implementierung für AD-Backends mit.

Voraussetzungen

  • Stellen Sie sicher, dass Ihr Server für die Verwendung einer statischen IP-Adresse konfiguriert ist. DHCP kann Probleme verursachen, wenn sich die Adresse ändert.
  • Aktualisieren Sie Ihre resolv.conf mit den richtigen Nameservern.
  • Aktualisieren Sie Ihre /etc/hosts-Datei mit den richtigen Einträgen. Ihr Hostname sollte in die Server-IP aufgelöst werden.

Beginnen wir mit den Voraussetzungen. Ich zeige Ihnen, wie ich meine Servereinstellungen geändert habe, um unsere Voraussetzungen zu erfüllen.

1) Sie müssen Ihre Netzwerkschnittstelle für statische IP konfigurieren. Bearbeiten Sie die Datei /etc/network/interfaces mit Ihrer Server-IP „96.126.107.141“, dem Domänencontrollernamen „nodenixbox.com“ und anderen Details wie unten:

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

Ich habe iface eth0 inet dhcp in iface eth0 inet static geändert und diese hervorgehobenen Teile zu meiner Netzwerkkonfiguration hinzugefügt.

2) Bearbeiten Sie Ihre resolv.conf-Datei, um den Namen Ihres Domänencontrollers hinzuzufügen.

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) Bearbeiten Sie zu guter Letzt unsere /etc/hosts-Datei und legen Sie "ubuntu.nodenixbox.com" als Ihren Hostnamen wie folgt fest:

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.

Starten Sie Ihr Netzwerk nach diesen Änderungen neu.

Wir können also mit der Installation der Pakete beginnen.

Paketinstallation

Zunächst müssen wir alle erforderlichen Pakete für die Einrichtung unseres Domänencontrollers Active Directory installieren. Ich führe diesen Befehl aus, um alle meine Server-Softwarepakete zu aktualisieren und die erforderliche Software zu installieren.

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

Während dieser Paketinstallation werden Sie nach Kerberos-Informationen gefragt. Sie müssen Ihre Kerberos-Standardbereichs- und Administratorserverinformationen angeben. Sie können Ihren Standardbereich als nodeixbox.com und den Namen des Administratorservers als Hostnamen eingeben.

So installieren und konfigurieren Sie SAMBA

Sie müssen die neuesten Samba-Pakete mithilfe von Git-Repositories in den Ordner „samba4“ herunterladen.

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.

Nach dem Herunterladen können Sie in den Ordner "samba4" gehen und Ihr Samba-Paket konfigurieren.

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

Die SAMBA-Kompilierung kann eine Weile dauern. Sobald dies erledigt ist, bestätigen Sie mit der SAMBA- und SMB-Client-Version. Beide Versionen sollten übereinstimmen.

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

Bereitstellung des Samba Active Directory

Der nächste Schritt ist die Bereitstellung Ihrer Domain. Sie können einfach diesen Befehl ausführen, um Ihre Domain bereitzustellen.

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

Einige verwenden Bind9 als Backend-DNS, aber SAMBA enthält einen eigenen voll funktionsfähigen DNS-Server. Hier verwende ich SAMBA_INTERNAL. Wir müssen den SAMBA-Dienst starten, nachdem wir diese Domain festgelegt haben. Sie können diesen Befehl ausführen, um SAMBA zu starten.

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

Testen Ihres Samba-Domänencontrollers

Wir können „smbclient“ ausführen, um zu überprüfen, ob Samba die AD DC-Standardfreigaben „netlogon“ und „sysvol“ bereitstellt, die während der Bereitstellung in Ihrer „smb.conf“ erstellt wurden.

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

Um zu testen, ob die Authentifizierung funktioniert, sollten Sie versuchen, sich mit dem Domänenadministratorkonto, das während der Bereitstellung erstellt wurde, mit der Freigabe "netlogon" zu verbinden.

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

Konfiguriere SAMBA_INTERNAL DNS

Ein funktionierendes DNS ist für den ordnungsgemäßen Betrieb eines Active Directory unerlässlich. Ohne die richtigen DNS-Einträge funktioniert Kerberos nicht, was wiederum bedeutet, dass viele der grundlegenden Funktionen nicht funktionieren. Es lohnt sich immer, etwas mehr Zeit damit zu verbringen, sicherzustellen, dass Ihr DNS-Setup ordnungsgemäß ausgeführt wird.

Wir müssen unsere /etc/resolv.conf mit unserem Domainnamen wie folgt bearbeiten:

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

Ihr Domänencontroller benötigt einen Nameserver, der Abfragen an Active Directory-Zonen auflösen kann. Weil dies Ihr erster Domänencontroller in Ihrem AD-Forest ist.

Sie müssen auch Ihre Samba-Konfigurationsdatei "/usr/local/samba/etc/smb.conf" bearbeiten und den Google-Nameserver zum dns_forwarder hinzufügen.

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

[global]

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

DNS testen

Um zu bestätigen, dass DNS ordnungsgemäß funktioniert, führen Sie die folgenden Befehle aus und vergleichen Sie die Ausgabe

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

Kerberos konfigurieren

Kerberos ist ein wichtiger Bestandteil von Active Directory. Typischerweise erfolgt die Konfiguration in /etc/krb5.conf. Während der Bereitstellung wird eine funktionierende Beispielkonfiguration unter /usr/local/samba/share/setup/krb5.conf erstellt. Sie können Ihre krb5.conf-Datei durch das Beispiel ersetzen, indem Sie einen Symlink kopieren oder erstellen.

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

Sie müssen diese Datei bearbeiten und default_realm wie folgt mit Ihrem DC-Namen ändern:

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

[libdefaults]

default_realm =NODENIXBOX.COMdns_lookup_realm =falsedns_lookup_kdc =true

Der Bereichsname sollte in GROSSBUCHSTABEN sein.

Kerberos testen

Sie können kinit verwenden, um Ihre Kerberos-Konfiguration zu testen. Führen Sie diesen Befehl zum Testen wie folgt aus:

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

Sie müssen den Kennwortablauf für den Active Directory-Administratorbenutzer deaktivieren, indem Sie diesen Befehl ausführen, um zukünftige Authentifizierungsprobleme zu vermeiden.

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

Hinweis:Sie müssen Ihren Realm immer in Großbuchstaben angeben. Um zu überprüfen, ob Kerberos funktioniert, können Sie dies ausführen.

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

Erstellen Ihres Benutzer-Home-Ordners

Jetzt können Sie Ihre Benutzer-Home-Ordner erstellen und die richtigen Berechtigungen und Eigentumsrechte festlegen.

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

Als nächstes müssen Sie Ihre SMB-Konfigurationsdatei "/usr/local/samba/etc/smb.conf" wie folgt bearbeiten:

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

NTP konfigurieren

Active Directory erfordert eine enge Zeitsynchronisierung zwischen allen beteiligten Computern, damit Kerberos ordnungsgemäß funktioniert. Es wird dringend empfohlen, NTP auf Ihrem Domänencontroller für die Zeitsynchronisierung zu verwenden. Diese Dokumentation liefert Ihnen alle notwendigen Informationen, um NTP auf einem AD Domain Controller zu konfigurieren.

Schlussfolgerung

Schließlich haben wir unseren Active Directory-Domänencontroller auf einem Ubuntu 16.04-Server erstellt. Sie können Ihr eigenes DC Active Directory erstellen und über das Netzwerk freigeben. Ein großer Vorteil dieser Konfiguration ist die Möglichkeit, Benutzer- und Computeranmeldeinformationen zu zentralisieren. Es hat mehrere andere Vorteile. Einige der wichtigsten Vorteile sind wie folgt:

  • Es verwaltet eine Liste von Benutzern, die auf das Netzwerk in einem Active Directory zugreifen können, und bestimmt, auf welche Dateien Benutzer zugreifen können und was sie mit diesen Dateien tun können.
  • Zusätzlich zu Sicherheit und Komfort bieten Domänencontroller Geschwindigkeit, indem sie einzelne PC-Ressourcen von der Ausführung von Serverfunktionen entlasten, was letztendlich die Leistung des Client-Computers verbessert.
  • Es bietet auch ein vollständiges Sicherheitsprotokoll, das für Systemsicherheit und Audit erforderlich ist.

Ubuntu
  1. So entpacken Sie eine ZIP-Datei in Ubuntu / Linux

  2. So starten Sie das Netzwerk unter Ubuntu 16.04 Xenial Xerus Linux neu

  3. So richten Sie Samba als primären Domänencontroller unter Linux ein

  4. So sichern Sie die Konfiguration des Samba-Domänencontrollers unter Linux

  5. Wie kopiere ich eine Datei über FTP mit Ubuntu Linux?

So erstellen Sie eine Datei unter Linux mit dem Cat-Befehl

So richten Sie ein VPN unter Ubuntu ein

So installieren und konfigurieren Sie Samba unter Ubuntu

So laden Sie eine Datei unter Ubuntu Linux über die Befehlszeile herunter

So richten Sie die Netzwerkbindung in Ubuntu 20.04 ein

So erstellen Sie eine Datei in Ubuntu Linux mit Befehl und GUI