In gemischten IT-Umgebungen, in denen sowohl Windows- als auch Linux-Systeme koexistieren, ist es oft erforderlich, Linux-Server in eine Windows-Domäne zu integrieren. Samba ist ein leistungsstarkes Tool, das es Linux-Systemen ermöglicht, mit Windows-Netzwerken zu interagieren, einschließlich der Teilnahme an einer Active Directory (AD)-Domäne. Dieser Beitrag erklärt die Schritte, um ein Linux-System als Mitglied einer Windows-Domäne mit Samba zu konfigurieren, und zeigt, wie die Domänenmitgliedschaft für Authentifizierungs- und Dateifreigabedienste verwendet werden kann.
Was ist Samba?
Samba ist eine freie Software, die es ermöglicht, Netzwerkfreigaben, Drucker und Authentifizierungsdienste zwischen Linux/Unix und Windows-Systemen zu teilen. Es bietet die Fähigkeit, Linux-Hosts in ein Windows-Netzwerk zu integrieren, sodass sie wie native Windows-Clients agieren können. Ein zentraler Aspekt dieser Funktionalität ist die Unterstützung von Domänenmitgliedschaft, was es ermöglicht, Linux-Hosts in einer Active Directory-Domäne zu verwalten und Benutzer zu authentifizieren.
Vorteile der Samba Domänenmitgliedschaft
- Zentralisierte Authentifizierung: Benutzer können sich auf Linux-Systemen mit ihren Active Directory (AD) Anmeldeinformationen anmelden.
- Einheitliche Benutzerverwaltung: Linux-Hosts können die gleichen AD-Benutzer und -Gruppen verwenden, was die Verwaltung erleichtert.
- Freigabedienste: Dateien und Drucker auf Linux-Systemen können in der AD-Domäne freigegeben und für Windows-Clients zugänglich gemacht werden.
- Single Sign-On (SSO): Benutzer können sich einmalig authentifizieren und auf alle Netzwerkrssourcen zugreifen, ohne erneut Anmeldeinformationen eingeben zu müssen.
Voraussetzungen
Um ein Linux-System in eine Windows-Domäne zu integrieren, benötigen Sie:
- Samba: Zum Bereitstellen von Netzwerkdateidiensten und der Domänenintegration.
- SSSD (System Security Services Daemon) oder Winbind: Zum Abrufen von Benutzer- und Gruppeninformationen aus AD.
- Kerberos: Für die Authentifizierung in einer Windows-Domäne.
- DNS-Konfiguration: DNS muss korrekt konfiguriert sein, da AD stark auf DNS zur Namensauflösung angewiesen ist.
Bevor Sie beginnen, stellen Sie sicher, dass Ihr Linux-Host ordnungsgemäß konfiguriert ist und auf die Windows-Domäne zugreifen kann.
Samba Installation
Die erste Aufgabe besteht darin, die erforderlichen Pakete zu installieren. Auf Ubuntu/Debian-Systemen können die Samba-Dienste und Kerberos mit dem folgenden Befehl installiert werden:
sudo apt-get update
sudo apt-get install samba krb5-user smbclient winbind
Für RHEL/CentOS-Systeme:
sudo yum install samba samba-winbind samba-client krb5-workstation
Während der Installation werden Sie aufgefordert, die Kerberos-Einstellungen einzugeben, wie den Realm (der Name Ihrer AD-Domäne in Großbuchstaben). Stellen Sie sicher, dass diese korrekt konfiguriert sind.
Kerberos Konfiguration
Die Konfiguration von Kerberos ist entscheidend für die Domänenmitgliedschaft, da es für die Authentifizierung verwendet wird. Die Datei /etc/krb5.conf
sollte so aussehen:
[libdefaults]
default_realm = DOMAIN.LOCAL
dns_lookup_realm = true
dns_lookup_kdc = true
ticket_lifetime = 24h
renew_lifetime = 7d
forwardable = true
[realms]
DOMAIN.LOCAL = {
kdc = dc.domain.local
admin_server = dc.domain.local
}
[domain_realm]
.domain.local = DOMAIN.LOCAL
domain.local = DOMAIN.LOCAL
Ersetzen Sie DOMAIN.LOCAL
und dc.domain.local
durch den Namen Ihrer AD-Domäne und den Domain-Controller.
Samba Konfiguration für die Domänenmitgliedschaft
Die zentrale Konfigurationsdatei für Samba ist /etc/samba/smb.conf
. Um Ihr System der Domäne hinzuzufügen, müssen Sie sicherstellen, dass die Konfigurationsdatei korrekt eingerichtet ist. Hier ist ein Beispiel für eine typische Samba-Konfiguration:
[global]
workgroup = DOMAIN
realm = DOMAIN.LOCAL
security = ads
ads dns update = Yes
idmap config * : backend = tdb
idmap config DOMAIN : backend = rid
idmap config DOMAIN : range = 10000-20000
template shell = /bin/bash
template homedir = /home/%U
kerberos method = secrets and keytab
winbind use default domain = true
winbind offline logon = false
- workgroup: Der NetBIOS-Name der Domäne.
- realm: Der vollständige DNS-Name der AD-Domäne (in Großbuchstaben).
- security = ads: Dies gibt an, dass Samba im Active Directory-Modus läuft.
- winbind: Konfiguriert Winbind, um Benutzerdaten aus der AD-Domäne zu beziehen.
Beitritt zur Domäne
Sobald Samba und Kerberos konfiguriert sind, können Sie das System der Windows-Domäne beitreten lassen. Verwenden Sie dazu den folgenden Befehl:
sudo net ads join -U Administrator
Sie werden zur Eingabe des Passworts des AD-Administrators aufgefordert. Nach erfolgreichem Beitritt sollten Sie eine Nachricht erhalten, die bestätigt, dass der Linux-Host der Domäne beigetreten ist.
Überprüfen Sie die Domänenmitgliedschaft, indem Sie den Status abfragen:
net ads testjoin
Ein Erfolg bedeutet, dass Ihr System erfolgreich in die Domäne integriert ist.
Konfiguration von Winbind oder SSSD
Um Benutzerdaten aus AD abzurufen und Benutzeranmeldungen zu ermöglichen, können Sie entweder Winbind oder SSSD verwenden.
1. Winbind Konfiguration
Winbind kann verwendet werden, um AD-Benutzer und -Gruppen auf dem Linux-System verfügbar zu machen. Stellen Sie sicher, dass der Dienst gestartet ist:
sudo systemctl enable winbind
sudo systemctl start winbind
Überprüfen Sie, ob AD-Benutzer richtig aufgelöst werden:
wbinfo -u # Listet alle AD-Benutzer
wbinfo -g # Listet alle AD-Gruppen
2. SSSD Konfiguration
Alternativ können Sie auch SSSD verwenden, um Benutzerdaten abzurufen und die Authentifizierung zu ermöglichen. Die SSSD-Konfiguration befindet sich in der Datei /etc/sssd/sssd.conf
.
Ein Beispiel für eine AD-Konfiguration mit SSSD:
[sssd]
services = nss, pam
config_file_version = 2
domains = domain.local
[domain/domain.local]
id_provider = ad
auth_provider = ad
chpass_provider = ad
access_provider = ad
ad_domain = domain.local
krb5_realm = DOMAIN.LOCAL
krb5_server = dc.domain.local
Starten Sie anschließend den SSSD-Dienst:
sudo systemctl enable sssd
sudo systemctl start sssd
Überprüfung der AD-Integration
Nachdem Ihr Linux-Host erfolgreich der Domäne beigetreten ist, sollten Sie sicherstellen, dass AD-Benutzer sich am System anmelden können.
- Überprüfen Sie die Benutzerauflösung: Um sicherzustellen, dass AD-Benutzer korrekt aufgelöst werden, verwenden Sie den
getent
Befehl:
getent passwd benutzername@domain.local
Dies sollte die Benutzerdaten des AD-Benutzers zurückgeben.
Anmeldung eines AD-Benutzers: Versuchen Sie, sich als AD-Benutzer anzumelden, entweder lokal oder über SSH.
Kerberos Ticket: Sie können auch überprüfen, ob AD-Benutzer ein Kerberos-Ticket erhalten:
kinit benutzername@DOMAIN.LOCAL
klist
- Dies zeigt das Kerberos-Ticket an, das für die Authentifizierung verwendet wird.
Fazit
Die Integration eines Linux-Systems in eine Windows-Domäne mit Samba bietet eine flexible und leistungsfähige Lösung zur Vereinheitlichung der Benutzerverwaltung und Authentifizierung in gemischten Netzwerken. Durch die Verwendung von Samba, Winbind oder SSSD sowie Kerberos können Linux-Hosts nahtlos in eine Active Directory-Domäne integriert und zentral verwaltet werden. Samba bietet die Möglichkeit, Dateifreigaben und Authentifizierungsdienste bereitzustellen, die sowohl Linux- als auch Windows-Clients nutzen können. Mit den richtigen Konfigurationen und Tools wird die Domänenmitgliedschaft von Linux-Systemen in einem Windows-Netzwerk einfach und effizient.