Domain join (Windows Active Directory) mit PBIS Open Edition
Achtung!
Die Verwendung dieses Howto geschieht auf eigene Gefahr. Bei Problemen mit der Anleitung melde dies bitte in der dazugehörigen Diskussion und wende dich zusätzlich an den Verfasser des Howtos.
Hinweis:
Problembeschreibung¶
Linux (Ubuntu) bietet viele Möglichkeiten Mitglied eines AD (Active Directory) zu werden. Die wohl bekannteste Version ist das/sind die AD DS (Active-Directory-Domain-Services) der Firma Microsoft, welche umgangssprachlich auch als "Windows-Domäne" bezeichnet werden. Während es bei Windows Clients (7/8/10) nur weniger Klicks bedarf, um diese Clients als Objekt im AD DS zu registrieren, damit sich die vorhandenen und künftigen AD-Benutzer anmelden können, obwohl sie an einem Computer über kein lokales Konto verfügen, ist es bei Linux ungleich aufwendiger, wie man z.B. dem Wiki-Artikel Samba Winbind entnehmen kann.
Ziel¶
Dieses Howto soll auch den weniger erfahrenen Linux- bzw. Ubuntu-Benutzern eine vereinfachte Möglichkeit aufzeigen, einer "Windows-Domäne" beizutreten. Zum Einsatz kommt hier die kostenfreie Open-Source-Lösung PowerBroker Identity Services – Open Edition 🇬🇧 (Lizenz GPL/LGPL v2).
Beispielumgebung¶
1 x Windows Server 2012 R2 als DC
Name der Windows-Domäne: test.lan
Hostname: srv2012
FQDN: srv2012.test.lan
DNS-Server-Rolle: ja, inkl. einer Reverse-Lookupzone
DHCP-Server-Rolle: ja, mit entsprechenden Angaben für 003 Router, 006 DNS-Server und 015 DNS-Domänenname in den Bereichsoptionen.
Ubuntu Server 18.04 und 16.04
Internetzugriff muss möglich sein.
Ubuntu Desktop 20.04, 18.04 und 16.04
Internetzugriff muss möglich sein.
WICHTIG! Alle Hosts müssen sich im selben Subnetz (z.B. 192.168.10.0/24) befinden!
Hinweis:
Domänennamen, die auf .local enden (z.B. test.local) sollten nicht verwendet werden, da es sonst zu Konflikten mit Avahi/Zeroconf und Bonjour kommen kann.
Anleitung¶
Erreichbarkeit
Auf den Ubuntu-Hosts sollte zunächst überprüft werden, ob der DC über seinen FQDN erreichbar ist.
Bei Ubuntu 20.04 und 18.04 Hosts
ping -4 -c 3 srv2012
Bei Ubuntu 16.04 Hosts
ping -c 3 srv2012
Das Ergebnis sollte in jedem Fall so aussehen:
PING srv2012.test.lan (192.168.10.10) 56(84) bytes of data. 64 bytes from srv2012.test.lan (192.168.10.10): icmp_seq=1 ttl=128 time=0.287 64 bytes from srv2012.test.lan (192.168.10.10): icmp_seq=1 ttl=128 time=0.329 64 bytes from srv2012.test.lan (192.168.10.10): icmp_seq=1 ttl=128 time=0.297 --- srv2012.test.lan ping statistics --- 3 packets transmitted, 3 received, 0% packet loss, time 2047ms rtt min/avg/max/mdev = 0.287/0.304/0.329/0.22 ms
Sollte es dabei zu Fehlern kommen, ist die IP-Adresse des DNS-Server's in den LAN-Einstellungen falsch und muss korrigiert werden, da es nicht ausreicht, dass der DC nur über seine IP-Adresse erreichbar ist!
Installation
System aktualisieren
sudo apt update sudo apt upgrade
Installation von ssh
sudo apt install ssh
Den Ordner "pbis" im Homeverzeichnis des aktuell angemeldeten Benutzers erstellen
sudo mkdir ~/pbis
PBIS-open downloaden
cd ~/pbis sudo wget https://github.com/BeyondTrust/pbis-open/releases/download/8.8.0/pbis-open-8.8.0.506.linux.x86_64.deb.sh
Zum Zeitpunkt der Erstellung dieses Howto war die Version 8.8.0.506 aktuell. Neuere Versionen können im Github-Repository BeyondTrust/pbis-open/releases ⮷ 🇬🇧 gefunden werden.
Rechte an der Datei ändern
sudo chmod a+x pbis-open-8.8.0.506.linux.x86_64.deb.sh
PBIS-open installieren
sudo sh ./pbis-open-8.8.0.506.linux.x86_64.deb.sh
Reboot des Systems
sudo reboot now
Domänenbeitritt
sudo domainjoin-cli join test.lan Administrator
Ein erfolgreicher Beitritt wird mit einer kurzen Meldung bestätigt, die mit dem Wort "SUCCESS" endet.
Reboot des Systems
sudo reboot now
Damit ist der Domänenbeitritt abgeschlossen und der Ubuntu Host ist in der OU Computers sichtbar. Eventuell muss auf dem DC die Ansicht der OU Computers aktualisiert werden.
Ab jetzt kann man sich mit einem AD-Benutzer-Konto anmelden.
Login bei Ubuntu Server (20.04, 18.04 und 16.04):
login: administrator@test.lan Password: <Passwort des AD-Benutzer-Konto's>
Login bei Ubuntu Desktop 20.04 und 18.04:
Im Login-Screen auf "Nicht aufgeführt?!" klicken
login: administrator@test.lan Password: <Passwort des AD-Benutzer-Konto's>
TIPP: Userliste im Login-Screen ausblenden (Optional)
Der Login-Screen von Ubuntu Desktop 18.04 zeigt standardmäßig alle vorhandenen lokalen Benutzer an. Zudem werden die bisher genutzten AD-Benutźer-Konten aufgelistet, was sehr schnell unübersichtlich werden kann.
Dieses Verhalten kann wie folgt geändert werden:
sudoedit /etc/gdm3/greeter.dconf-defaults
Nun entfernt man das Hash-Zeichen (#) bei den folgenden Zeilen:
# [org.gnome/login-screen] # disable-user-list=true
Das Ergebnis muss dann wie folgt aussehen:
[org.gnome/login-screen] disable-user-list=true
Login bei Ubuntu Desktop 16.04 (Unity):
Der Login-Screen von Ubuntu Desktop 16.04 bietet zunächst keine Möglichkeit an, sich mit einem "nicht-lokalen" Benutzer anzumelden. Dieses Verhalten muss daher wie folgt geändert werden:
sudoedit /usr/share/lightdm/lightdm.conf.d/50-unity-greeter.conf
Nun ergänzt man diese Datei (am Ende) um folgende Zeilen:
allow-guest=false greeter-show-remote-login=false greeter-show-manual-login=true greeter-hide-users=true
In beiden Fällen müssen die Änderungen an der jeweiligen Datei gespeichert werden und das System noch einmal mittels
sudo reboot now
neu gestartet werden.
Links¶
Howto - Übersicht aller Howto-Artikel