Wie man die Samba4 AD-Infrastruktur über die Linux-Befehlszeile verwaltet - Teil 2
In diesem Tutorial werden einige grundlegende tägliche Befehle behandelt, die Sie zur Verwaltung der Samba4 AD-Domänencontroller-Infrastruktur verwenden müssen, z. B. das Hinzufügen, Entfernen, Deaktivieren oder Auflisten von Benutzern und Gruppen.
Wir werfen auch einen Blick darauf, wie Sie Domänensicherheitsrichtlinien verwalten und wie AD-Benutzer an die lokale PAM-Authentifizierung gebunden werden, damit AD-Benutzer lokale Anmeldungen auf dem Linux-Domänencontroller durchführen können.
Anforderungen
- Erstellen einer AD-Infrastruktur mit Samba4 auf Ubuntu 16.04 – Teil 1
- Verwalten der Samba4 Active Directory-Infrastruktur von Windows10 über RSAT – Teil 3
- Verwalten von Samba4 AD-Domänencontrollern, DNS und Gruppenrichtlinien von Windows aus – Teil 4
Schritt 1: Verwalten des Samba AD DC über die Befehlszeile
1. Samba AD DC kann über das Befehlszeilenprogramm samba-tool verwaltet werden, das eine großartige Schnittstelle für die Verwaltung Ihrer Domain bietet.
Mit Hilfe der samba-tool-Schnittstelle können Sie Domänenbenutzer und -gruppen, Domänengruppenrichtlinien, Domänensites, DNS-Dienste, Domänenreplikation und andere kritische Domänenfunktionen direkt verwalten.
Um die gesamte Funktionalität von samba-tool zu überprüfen, geben Sie einfach den Befehl mit root-Rechten ohne Option oder Parameter ein.
# samba-tool -h
2. Beginnen wir nun mit der Verwendung des Dienstprogramms samba-tool, um Samba4 Active Directory zu verwalten und unsere Benutzer zu verwalten.
Um einen Benutzer in AD zu erstellen, verwenden Sie den folgenden Befehl:
# samba-tool user add your_domain_user
Verwenden Sie die folgende Syntax, um einen Benutzer mit mehreren wichtigen Feldern hinzuzufügen, die von AD benötigt werden:
--------- review all options ---------
samba-tool user add -h
samba-tool user add your_domain_user --given-name=your_name --surname=your_username [email --login-shell=/bin/bash
3. Eine Liste aller Benutzer der Samba-AD-Domäne erhalten Sie, indem Sie den folgenden Befehl eingeben:
# samba-tool user list
4. Um einen Samba-AD-Domänenbenutzer zu löschen, verwenden Sie die folgende Syntax:
# samba-tool user delete your_domain_user
5. Setzen Sie das Benutzerkennwort einer Samba-Domäne zurück, indem Sie den folgenden Befehl ausführen:
# samba-tool user setpassword your_domain_user
6. Um ein Samba-AD-Benutzerkonto zu deaktivieren oder zu aktivieren, verwenden Sie den folgenden Befehl:
# samba-tool user disable your_domain_user
samba-tool user enable your_domain_user
7. Ebenso können Samba-Gruppen mit der folgenden Befehlssyntax verwaltet werden:
--------- review all options ---------
samba-tool group add –h
samba-tool group add your_domain_group
8. Löschen Sie eine Samba-Domänengruppe, indem Sie den folgenden Befehl eingeben:
# samba-tool group delete your_domain_group
9. Um alle Samba-Domänengruppen anzuzeigen, führen Sie den folgenden Befehl aus:
# samba-tool group list
10. Um alle Mitglieder der Samba-Domäne in einer bestimmten Gruppe aufzulisten, verwenden Sie den folgenden Befehl:
# samba-tool group listmembers "your_domain group"
11. Das Hinzufügen/Entfernen eines Mitglieds aus einer Samba-Domänengruppe kann mit einem der folgenden Befehle erfolgen:
# samba-tool group addmembers your_domain_group your_domain_user
samba-tool group remove members your_domain_group your_domain_user
12. Wie bereits erwähnt, kann die Befehlszeilenschnittstelle samba-tool auch verwendet werden, um Ihre Samba-Domain-Richtlinie und -Sicherheit zu verwalten.
Um die Passworteinstellungen Ihrer Samba-Domain zu überprüfen, verwenden Sie den folgenden Befehl:
# samba-tool domain passwordsettings show
13. Um die Passwortrichtlinie für Samba-Domains zu ändern, z. B. den Komplexitätsgrad des Passworts, das Altern des Passworts, die Länge, die Anzahl der zu speichernden alten Passwörter und andere Sicherheitsfunktionen, die für einen Domain-Controller erforderlich sind, verwenden Sie den folgenden Screenshot als Richtlinie.
---------- List all command options ----------
samba-tool domain passwordsettings -h
Verwenden Sie niemals die oben gezeigten Kennwortrichtlinienregeln in einer Produktionsumgebung. Die oben genannten Einstellungen werden nur zu Demonstrationszwecken verwendet.
Schritt 2: Lokale Samba-Authentifizierung mit Active Directory-Konten
14. Standardmäßig können AD-Benutzer keine lokalen Anmeldungen auf dem Linux-System außerhalb der Samba AD DC-Umgebung durchführen.
Um sich mit einem Active Directory-Konto am System anzumelden, müssen Sie die folgenden Änderungen an Ihrer Linux-Systemumgebung vornehmen und Samba4 AD DC ändern.
Öffnen Sie zunächst die Samba-Hauptkonfigurationsdatei und fügen Sie die folgenden Zeilen hinzu, falls diese fehlen, wie im folgenden Screenshot dargestellt.
$ sudo nano /etc/samba/smb.conf
Stellen Sie sicher, dass die folgenden Anweisungen in der Konfigurationsdatei angezeigt werden:
winbind enum users = yes
winbind enum groups = yes
15. Nachdem Sie die Änderungen vorgenommen haben, verwenden Sie das Dienstprogramm testparm, um sicherzustellen, dass keine Fehler in der Samba-Konfigurationsdatei gefunden werden, und starten Sie die Samba-Daemons neu, indem Sie den folgenden Befehl ausführen.
$ testparm
sudo systemctl restart samba-ad-dc.service
16. Als nächstes müssen wir die lokalen PAM-Konfigurationsdateien ändern, damit sich Samba4 Active Directory-Konten authentifizieren und eine Sitzung auf dem lokalen System öffnen und ein Home-Verzeichnis für Benutzer bei der ersten Anmeldung erstellen können.
Verwenden Sie den Befehl pam-auth-update, um die PAM-Konfigurationsaufforderung zu öffnen, und stellen Sie sicher, dass Sie alle PAM-Profile mit der [Leertaste] aktivieren, wie im folgenden Screenshot dargestellt.
Wenn Sie fertig sind, drücken Sie die [Tab]-Taste, um zu OK zu wechseln und die Änderungen zu übernehmen.
$ sudo pam-auth-update
17. Öffnen Sie nun die Datei /etc/nsswitch.conf mit einem Texteditor und fügen Sie die winbind-Anweisung am Ende der Passwort- und Gruppenzeilen hinzu, wie im folgenden Screenshot dargestellt.
$ sudo vi /etc/nsswitch.conf
18. Bearbeiten Sie abschließend die Datei /etc/pam.d/common-password, suchen Sie nach der folgenden Zeile, wie auf dem folgenden Screenshot dargestellt, und entfernen Sie die use_authtok Anweisung.
Diese Einstellung stellt sicher, dass Active Directory-Benutzer ihr Kennwort über die Befehlszeile ändern können, während sie unter Linux authentifiziert sind. Wenn diese Einstellung aktiviert ist, können AD-Benutzer, die lokal unter Linux authentifiziert sind, ihr Kennwort nicht über die Konsole ändern.
password [success=1 default=ignore] pam_winbind.so try_first_pass
Entfernen Sie use_authtok Option jedes Mal, wenn PAM-Updates installiert und auf PAM-Module angewendet werden oder wenn Sie den Befehl pam-auth-update ausführen.
19. Samba4-Binärdateien werden mit einem integrierten winbindd-Daemon geliefert, der standardmäßig aktiviert ist.
Aus diesem Grund ist es nicht mehr erforderlich, den winbind-Daemon, der vom winbind-Paket aus den offiziellen Ubuntu-Repositories bereitgestellt wird, separat zu aktivieren und auszuführen.
Falls der alte und veraltete winbind-Dienst auf dem System gestartet wird, stellen Sie sicher, dass Sie ihn deaktivieren und den Dienst stoppen, indem Sie die folgenden Befehle ausgeben:
$ sudo systemctl disable winbind.service
sudo systemctl stop winbind.service
Obwohl wir den alten winbind-Daemon nicht mehr ausführen müssen, müssen wir immer noch das Winbind-Paket aus den Repositories installieren, um das wbinfo-Tool zu installieren und zu verwenden.
Das Dienstprogramm Wbinfo kann verwendet werden, um Active Directory-Benutzer und -Gruppen aus der Sicht des Winbindd-Daemons abzufragen.
Die folgenden Befehle veranschaulichen, wie AD-Benutzer und -Gruppen mithilfe von wbinfo abgefragt werden.
$ wbinfo -g
wbinfo -u
wbinfo -i your_domain_user
20. Neben dem Dienstprogramm wbinfo können Sie auch das Befehlszeilenprogramm getent verwenden, um die Active Directory-Datenbank aus den Name-Service-Switch-Bibliotheken abzufragen, die in der Datei /etc/nsswitch.conf dargestellt sind.
Leiten Sie den Befehl getent durch einen grep-Filter, um die Ergebnisse nur in Bezug auf Ihre AD-Bereichsbenutzer- oder Gruppendatenbank einzugrenzen.
# getent passwd | grep TECMINT
getent group | grep TECMINT
Schritt 3: Melden Sie sich unter Linux mit einem Active Directory-Benutzer an
21. Um sich auf dem System mit einem Samba4 AD-Benutzer zu authentifizieren, verwenden Sie einfach den Parameter AD-Benutzername nach dem Befehl su - .
Bei der ersten Anmeldung wird eine Meldung auf der Konsole angezeigt, die Sie darüber informiert, dass ein Home-Verzeichnis auf dem Systempfad /home/$DOMAIN/ mit der Farbe Ihres AD-Benutzernamens erstellt wurde.
Verwenden Sie den Befehl id, um zusätzliche Informationen über den authentifizierten Benutzer anzuzeigen.
# su - your_ad_user
id
exit
22. Um das Kennwort für einen authentifizierten AD-Benutzer zu ändern, geben Sie den Befehl passwd in der Konsole ein, nachdem Sie sich erfolgreich beim System angemeldet haben.
$ su - your_ad_user
passwd
23. Standardmäßig erhalten Active Directory-Benutzer keine Root-Rechte, um Verwaltungsaufgaben unter Linux auszuführen.
Um einem AD-Benutzer Root-Befugnisse zu erteilen, müssen Sie den Benutzernamen zur lokalen sudo-Gruppe hinzufügen, indem Sie den folgenden Befehl ausführen.
Stellen Sie sicher, dass Sie den Bereich, den Schrägstrich und den AD-Benutzernamen in einfache ASCII-Anführungszeichen einschließen.
# usermod -aG sudo 'DOMAIN\your_domain_user'
Um zu testen, ob der AD-Benutzer über Root-Rechte auf dem lokalen System verfügt, melden Sie sich an und führen Sie einen Befehl aus, z. B. apt-get update, mit sudo-Berechtigungen.
# su - tecmint_user
sudo apt-get update
24. Falls Sie Root-Rechte für alle Konten einer Active Directory-Gruppe hinzufügen möchten, bearbeiten Sie die Datei /etc/sudoers mit dem Befehl visudo und fügen Sie die folgende Zeile nach der Zeile mit den Root-Rechten hinzu, wie im folgenden Screenshot dargestellt:
%DOMAIN\\your_domain\ group ALL=(ALL:ALL) ALL
Achten Sie auf die sudoers-Syntax, damit Sie die Dinge nicht ausbrechen.
Die Sudoers-Datei kommt nicht sehr gut mit der Verwendung von ASCII-Anführungszeichen zurecht, also stellen Sie sicher, dass Sie % verwenden, um anzugeben, dass Sie sich auf eine Gruppe beziehen, und verwenden Sie einen umgekehrten Schrägstrich, um den ersten Schrägstrich nach dem Domänennamen zu maskieren, und einen weiteren umgekehrten Schrägstrich, um Leerzeichen zu escapen, wenn Ihr Gruppenname Leerzeichen enthält (die meisten integrierten AD-Gruppen enthalten standardmäßig Leerzeichen). Schreiben Sie den Bereich auch in Großbuchstaben.
Das war's fürs Erste! Die Verwaltung der Samba4 AD-Infrastruktur kann auch mit mehreren Tools aus der Windows-Umgebung erreicht werden, wie z.B. ADUC, DNS Manager, GPM oder andere, die durch die Installation des RSAT-Pakets von der Microsoft-Download-Seite erhalten werden können.
Um Samba4 AD DC über RSAT-Dienstprogramme zu verwalten, ist es unbedingt erforderlich, das Windows-System in Samba4 Active Directory einzubinden. Dies wird das Thema unseres nächsten Tutorials sein, bis dahin bleiben Sie auf dem Laufenden über TecMint.


















