Join to Active Directory - Ubuntu: Unterschied zwischen den Versionen

Aus FAQ LIFE-SESSIONS
K
K
Zeile 7: Zeile 7:
 
Aber vorher möchte ich euch, noch kurz erklären was ist ein Active Directory ist.
 
Aber vorher möchte ich euch, noch kurz erklären was ist ein Active Directory ist.
  
== Active Directory ==
+
=== '''Active Directory''' ===
Es ist ein Verzeichnisdienst, der es ermöglicht hierarchisch Unternehmensstruktur nachzubilden, sowie Ressourcen, Attribute usw. zu steuern und zu wen gewollt zu veröffentlichen oder zu sperren. Wie in anderen Informationen beschrieben, ist es nicht mehr nur ein Windows-Dienst und darauf beschränkt. Der Grund ist ganz einfach, Windows Active Directory ist wie andere Verzeichnisdienst, wie LDAP (Light Directory Access Protokoll) aufgebaut und das seit seiner Geburt, es unterscheidet sich nur mit den Attributen, die zum Aufrufen der Informationen nötig sind. ADDS wird auch sehr oft für LDAP Authentifizierung benutzt, um nicht immer einen neuen Benutzer anzulegen und den Überblick zu verlieren.
+
----Es ist ein Verzeichnisdienst, der es ermöglicht hierarchisch Unternehmensstruktur nachzubilden, sowie Ressourcen, Attribute usw. zu steuern und zu wen gewollt zu veröffentlichen oder zu sperren. Wie in anderen Informationen beschrieben, ist es nicht mehr nur ein Windows-Dienst und darauf beschränkt. Der Grund ist ganz einfach, Windows Active Directory ist wie andere Verzeichnisdienst, wie LDAP (Light Directory Access Protokoll) aufgebaut und das seit seiner Geburt, es unterscheidet sich nur mit den Attributen, die zum Aufrufen der Informationen nötig sind. ADDS wird auch sehr oft für LDAP Authentifizierung benutzt, um nicht immer einen neuen Benutzer anzulegen und den Überblick zu verlieren.
  
 
In unserem Fall ist das LDAP von Active Directory nicht so wichtig, denn wir werden das Linux System direkt in das ADDS bringen und brauchen uns keine Gedanken über LDAP Attribute zu machen.
 
In unserem Fall ist das LDAP von Active Directory nicht so wichtig, denn wir werden das Linux System direkt in das ADDS bringen und brauchen uns keine Gedanken über LDAP Attribute zu machen.
  
== Installation ==
+
=== '''Installation''' ===
<blockquote>sudo apt update
+
----<syntaxhighlight lang="console">
 +
sudo apt update
 +
sudo apt -y install realmd libnss-sss libpam-sss sssd sssd-tools adcli samba-common-bin oddjob oddjob-mkhomedir packagekit
 +
</syntaxhighlight>
  
sudo apt -y install realmd libnss-sss libpam-sss sssd sssd-tools adcli samba-common-bin oddjob oddjob-mkhomedir packagekit</blockquote>
+
=== '''Konfiguration''' ===
 
+
----Wir benötigen, nun denn richtigen Eintrag, in der Netzwerkkonfiguration, um den Windows Active Directory zu finden. Ich möchte, nicht näher darauf eingehen, dafür habe ich einen anderen Beitrag gestaltet, wie Ihre die Konfiguration richtig erstellt. Ich zeige Euch nur, auf was es darauf ankommt.
== Konfiguration ==
 
Wir benötigen, nun denn richtigen Eintrag, in der Netzwerkkonfiguration, um den Windows Active Directory zu finden. Ich möchte, nicht näher darauf eingehen, dafür habe ich einen anderen Beitrag gestaltet, wie Ihre die Konfiguration richtig erstellt. Ich zeige Euch nur, auf was es darauf ankommt.
 
  
 
Link: [[Netzwerkadresse anpassen]]
 
Link: [[Netzwerkadresse anpassen]]
Zeile 26: Zeile 27:
 
Link: [[NTP einrichten]]
 
Link: [[NTP einrichten]]
  
 +
Wir suchen, jetzt die Active Directory Domäne, bzw. den Server.<syntaxhighlight lang="console">
 +
sudo realm discover example.local
 +
</syntaxhighlight>[[Datei:Join 2.png|zentriert|gerahmt]]
  
Wir suchen, jetzt die Active Directory Domäne, bzw. den Server.<blockquote>sudo realm discover example.local</blockquote>
+
=== '''Join Active Directory''' ===
[[Datei:Join 2.png|zentriert|gerahmt]]
+
----Wenn wir diesen Befehl ausführen, wird wenig passieren, es dient ausschließlich zur Darstellung.<syntaxhighlight lang="console">
 
+
sudo realm  list
== Join Active Directory ==
+
</syntaxhighlight>[[Datei:Join 3.png|zentriert|gerahmt]]
Wenn wir diesen Befehl ausführen, wird wenig passieren, es dient ausschließlich zur Darstellung.<blockquote>sudo realm  list</blockquote>
+
Wenn wir alles richtig eingestellt haben, wird es jetzt interessant und nach diesem Befehl, wird jetzt sich der Linux Server in der Windows Domäne wieder finden.<syntaxhighlight lang="console">
[[Datei:Join 3.png|zentriert|gerahmt]]
+
sudo realm join -U Administrator example.local
Wenn wir alles richtig eingestellt haben, wird es jetzt interessant und nach diesem Befehl, wird jetzt sich der Linux Server in der Windows Domäne wieder finden.<blockquote>sudo realm join -U Administrator example.local</blockquote>Jetzt führen wir wieder den ob angeführten Befehl aus. Nun sehen wir alleine von Linux, dass es funktioniert hat. Der Benutzer, der jemand in eine Domäne lässt, kann auch ein delegierter Benutzer sein, ACHTUNG, kein normaler Benutzer.<blockquote>sudo realm  list</blockquote>
+
</syntaxhighlight>Jetzt führen wir wieder den ob angeführten Befehl aus. Nun sehen wir alleine von Linux, dass es funktioniert hat. Der Benutzer, der jemand in eine Domäne lässt, kann auch ein delegierter Benutzer sein, ACHTUNG, kein normaler Benutzer.<syntaxhighlight lang="console">
[[Datei:Join 4.png|zentriert|gerahmt]]
+
sudo realm  list
 +
</syntaxhighlight>[[Datei:Join 4.png|zentriert|gerahmt]]
 
Nochmal zur Kontrolle.
 
Nochmal zur Kontrolle.
 
[[Datei:Join 5.png|zentriert|gerahmt]]
 
[[Datei:Join 5.png|zentriert|gerahmt]]
  
== HOME Verzeichnis ==
+
=== '''HOME Verzeichnis''' ===
Wir benötigen noch ein Home Verzeichnis, damit es einwandfrei läuft. Daher werden wir dieses Scirpt ausführen.<syntaxhighlight lang="console">
+
----Wir benötigen noch ein Home Verzeichnis, damit es einwandfrei läuft. Daher werden wir dieses Scirpt ausführen.<syntaxhighlight lang="console">
 
sudo bash -c "cat > /usr/share/pam-configs/mkhomedir" <<EOF
 
sudo bash -c "cat > /usr/share/pam-configs/mkhomedir" <<EOF
 
Name: activate mkhomedir
 
Name: activate mkhomedir
Zeile 48: Zeile 53:
 
         required                        pam_mkhomedir.so umask=0022 skel=/etc/skel
 
         required                        pam_mkhomedir.so umask=0022 skel=/etc/skel
 
EOF
 
EOF
</syntaxhighlight>Damit dies vollständig Funktioniert, geht uns noch die Markierung ab, dies werden wir nun anpassen.<blockquote>sudo pam-auth-update</blockquote>
+
</syntaxhighlight>Damit dies vollständig Funktioniert, geht uns noch die Markierung ab, dies werden wir nun anpassen.<syntaxhighlight lang="console">
[[Datei:Join 6.png|zentriert|gerahmt]]
+
sudo pam-auth-update
 +
</syntaxhighlight>[[Datei:Join 6.png|zentriert|gerahmt]]
 +
 
 +
==== '''SSSD''' ====
  
==== SSSD ====
+
Dieser Dienst wird nur noch Neugestartet, damit er einwandfrei läuft.<syntaxhighlight lang="console">
Dieser Dienst wird nur noch Neugestartet, damit er einwandfrei läuft.<blockquote>sudo systemctl restart sssd</blockquote>
+
sudo systemctl restart sssd
 +
</syntaxhighlight>
  
== Berechtigungen einschränken ==
+
=== '''Berechtigungen einschränken''' ===
Wir sind nun an dem Punkt, da es nur noch um Berechtigungen geht. Dieses Thema werden wir nun bearbeiten, da sich sonst jeder Anmelden kann, dass sicher nicht im Sinne des Admin ist.
+
----Wir sind nun an dem Punkt, da es nur noch um Berechtigungen geht. Dieses Thema werden wir nun bearbeiten, da sich sonst jeder Anmelden kann, dass sicher nicht im Sinne des Admin ist.
  
 
Da ich nur mit Gruppen arbeite und nicht mit Benutzer hat einen Grund. Aus Administratriven Sicht sind User nicht das optimale, da man die Übersicht schnell verliert, daher wird ausschließlich mit Gruppen gearbeitet und nicht mit Usern.
 
Da ich nur mit Gruppen arbeite und nicht mit Benutzer hat einen Grund. Aus Administratriven Sicht sind User nicht das optimale, da man die Übersicht schnell verliert, daher wird ausschließlich mit Gruppen gearbeitet und nicht mit Usern.
  
Ich werde natürlich, die Domain-Admins hinzufügen und zwei Gruppen. Die Admins sind klar, aber wir benötigen eine Gruppe für das Anmelden am Linux System und eine Gruppe als Root User.<blockquote>sudo realm permit -g SSH-ROOT
 
  
 +
 +
Ich werde natürlich, die Domain-Admins hinzufügen und zwei Gruppen. Die Admins sind klar, aber wir benötigen eine Gruppe für das Anmelden am Linux System und eine Gruppe als Root User.
 +
 +
'''Nach Gruppen oder Benutzer erlauben oder verbieten'''<syntaxhighlight lang="console">
 +
sudo realm permit -g SSH-ROOT
 
sudo realm permit -g LINUX-USER
 
sudo realm permit -g LINUX-USER
 +
sudo realm permit -g ‘Domänen-Admins’
 +
</syntaxhighlight>Nur zur Anmerkung möchte ich euch zeigen, wie man alle erlaubt oder alle verbietet.
 +
 +
'''Alle Erlauben'''<syntaxhighlight lang="console">
 +
sudo realm permit –all
 +
</syntaxhighlight>'''Alle Verbieten'''<syntaxhighlight lang="console">
 +
sudo realm  deny –all
 +
</syntaxhighlight>
 +
 +
=== '''Administrativer Zugang einrichten''' ===
 +
----Bevor wir uns damit anmelden können und administrative Aufgaben können, müssen wir eine Datei anpassen.<syntaxhighlight lang="console">
 +
sudo nano /etc/sudoers
 +
</syntaxhighlight>Wir fügen bei der Stelle, die Gruppe “SSH-ROOT” ein, nur noch speichern und der Zugriff ist sofort erlaubt. In dem Fall wird beim Root Zugriff kein Passwort gefragt. Weiter unten zeige ich euch, damit jeder Root Zugriff hat, auch nach dem Passwort gefragt wird.<syntaxhighlight lang="vim">
 +
# Members of the admin group may gain root privileges
 +
%admin ALL=(ALL) ALL
 +
%SSH-ROOT@corp.seifritzberger.com    ALL=(ALL)  NOPASSWD:ALL
 +
</syntaxhighlight>
 +
[[Datei:Join 7.png|zentriert|gerahmt]]
 +
<syntaxhighlight lang="vim">
 +
# Members of the admin group may gain root privileges
 +
%admin ALL=(ALL) ALL
 +
%SSH-ROOT@corp.seifritzberger.com    ALL=(ALL)  ALL
 +
</syntaxhighlight>
  
sudo realm permit -g ‘Domänen-Admins’</blockquote>Nur zur Anmerkung möchte ich euch zeigen, wie man alle erlaubt oder alle verbietet.
+
=== '''Anmelden am Linux''' ===
 +
----Nun könnt Ihr Euch Anmelden, wie am Windows
  
==== Alle Erlauben ====
+
==== '''Benutzeranmeldung''' ====
<blockquote>sudo realm permit –all</blockquote>
+
User@example.local
  
==== Alle Verbieten ====
+
==== '''Benutzeranmeldung (Prä-Windows 2000)''' ====
<blockquote>sudo realm  deny –all</blockquote>
+
example\User
 +
Bei Linux ist es im Normalfall wichtig die Case-Sensitive, aber bei Windows ist es egal, da wir aber eine Authentifizierung auf Windows Ebene haben, wird die Case-Sensitive keine Rolle spielen.
  
== Administrativer Zugang einrichten ==
+
=== '''Wichtige Information''' ===
Bevor wir uns damit anmelden können und administrative Aufgaben können, müssen wir eine Datei anpassen.<blockquote>sudo nano /etc/sudoers</blockquote>Wir fügen bei der Stelle, die Gruppe “SSH-ROOT” ein, nur noch speichern und der Zugriff ist sofort erlaubt. In dem Fall wird beim Root Zugriff kein Passwort gefragt. Weiter unten zeige ich euch, damit jeder Root Zugriff hat, auch nach dem Passwort gefragt wird.
+
----Wenn ihr euch als Root User anmeldet ist es nicht wichtig “sudo” vorangestellt ist, aber bei der Windows-Authentifizierung ist es zwingend, dass man “sudo” vorangestellte ist, ansonsten funktioniert der administrative Zugang nicht.

Version vom 26. Oktober 2020, 17:38 Uhr


Um ein Ubuntu/ Debian System in ein ADDS (Active Directory Domain Services) zu bringen, werde ich ein Tutorial aufzeigen. Denn es hat gewisse Vorteile, sogar wenn Sie einen Linux Desktop zum Beispiel haben, können sich User über diesen Dienst anmelden. Sie können dementsprechende Berechtigungen erteilen, wie normal Benutzer oder doch lieber administrativer Benutzer.

Aber vorher möchte ich euch, noch kurz erklären was ist ein Active Directory ist.

Active Directory[Bearbeiten | Quelltext bearbeiten]


Es ist ein Verzeichnisdienst, der es ermöglicht hierarchisch Unternehmensstruktur nachzubilden, sowie Ressourcen, Attribute usw. zu steuern und zu wen gewollt zu veröffentlichen oder zu sperren. Wie in anderen Informationen beschrieben, ist es nicht mehr nur ein Windows-Dienst und darauf beschränkt. Der Grund ist ganz einfach, Windows Active Directory ist wie andere Verzeichnisdienst, wie LDAP (Light Directory Access Protokoll) aufgebaut und das seit seiner Geburt, es unterscheidet sich nur mit den Attributen, die zum Aufrufen der Informationen nötig sind. ADDS wird auch sehr oft für LDAP Authentifizierung benutzt, um nicht immer einen neuen Benutzer anzulegen und den Überblick zu verlieren.

In unserem Fall ist das LDAP von Active Directory nicht so wichtig, denn wir werden das Linux System direkt in das ADDS bringen und brauchen uns keine Gedanken über LDAP Attribute zu machen.

Installation[Bearbeiten | Quelltext bearbeiten]


sudo apt update
sudo apt -y install realmd libnss-sss libpam-sss sssd sssd-tools adcli samba-common-bin oddjob oddjob-mkhomedir packagekit

Konfiguration[Bearbeiten | Quelltext bearbeiten]


Wir benötigen, nun denn richtigen Eintrag, in der Netzwerkkonfiguration, um den Windows Active Directory zu finden. Ich möchte, nicht näher darauf eingehen, dafür habe ich einen anderen Beitrag gestaltet, wie Ihre die Konfiguration richtig erstellt. Ich zeige Euch nur, auf was es darauf ankommt.

Link: Netzwerkadresse anpassen

Join 1.png

Ebenfalls ist auch die Uhrzeit wichtig, da die Kerberos-Authentifizierung darauf aufgebaut ist, daher solltet Ihr vor dem Domain Join ebenfalls konfigurieren, da eine Toleranzgrenze von 5 Minuten zwingend ist, ansonsten kann man sich nicht Anmelden.

Link: NTP einrichten

Wir suchen, jetzt die Active Directory Domäne, bzw. den Server.

sudo realm discover example.local
Join 2.png

Join Active Directory[Bearbeiten | Quelltext bearbeiten]


Wenn wir diesen Befehl ausführen, wird wenig passieren, es dient ausschließlich zur Darstellung.

sudo realm  list
Join 3.png

Wenn wir alles richtig eingestellt haben, wird es jetzt interessant und nach diesem Befehl, wird jetzt sich der Linux Server in der Windows Domäne wieder finden.

sudo realm join -U Administrator example.local

Jetzt führen wir wieder den ob angeführten Befehl aus. Nun sehen wir alleine von Linux, dass es funktioniert hat. Der Benutzer, der jemand in eine Domäne lässt, kann auch ein delegierter Benutzer sein, ACHTUNG, kein normaler Benutzer.

sudo realm  list
Join 4.png

Nochmal zur Kontrolle.

Join 5.png

HOME Verzeichnis[Bearbeiten | Quelltext bearbeiten]


Wir benötigen noch ein Home Verzeichnis, damit es einwandfrei läuft. Daher werden wir dieses Scirpt ausführen.

sudo bash -c "cat > /usr/share/pam-configs/mkhomedir" <<EOF
Name: activate mkhomedir
Default: yes
Priority: 900
Session-Type: Additional
Session:
        required                        pam_mkhomedir.so umask=0022 skel=/etc/skel
EOF

Damit dies vollständig Funktioniert, geht uns noch die Markierung ab, dies werden wir nun anpassen.

sudo pam-auth-update
Join 6.png

SSSD[Bearbeiten | Quelltext bearbeiten]

Dieser Dienst wird nur noch Neugestartet, damit er einwandfrei läuft.

sudo systemctl restart sssd

Berechtigungen einschränken[Bearbeiten | Quelltext bearbeiten]


Wir sind nun an dem Punkt, da es nur noch um Berechtigungen geht. Dieses Thema werden wir nun bearbeiten, da sich sonst jeder Anmelden kann, dass sicher nicht im Sinne des Admin ist.

Da ich nur mit Gruppen arbeite und nicht mit Benutzer hat einen Grund. Aus Administratriven Sicht sind User nicht das optimale, da man die Übersicht schnell verliert, daher wird ausschließlich mit Gruppen gearbeitet und nicht mit Usern.


Ich werde natürlich, die Domain-Admins hinzufügen und zwei Gruppen. Die Admins sind klar, aber wir benötigen eine Gruppe für das Anmelden am Linux System und eine Gruppe als Root User.

Nach Gruppen oder Benutzer erlauben oder verbieten

sudo realm permit -g SSH-ROOT
sudo realm permit -g LINUX-USER
sudo realm permit -g ‘Domänen-Admins’

Nur zur Anmerkung möchte ich euch zeigen, wie man alle erlaubt oder alle verbietet. Alle Erlauben

sudo realm permit –all

Alle Verbieten

sudo realm  deny –all

Administrativer Zugang einrichten[Bearbeiten | Quelltext bearbeiten]


Bevor wir uns damit anmelden können und administrative Aufgaben können, müssen wir eine Datei anpassen.

sudo nano /etc/sudoers

Wir fügen bei der Stelle, die Gruppe “SSH-ROOT” ein, nur noch speichern und der Zugriff ist sofort erlaubt. In dem Fall wird beim Root Zugriff kein Passwort gefragt. Weiter unten zeige ich euch, damit jeder Root Zugriff hat, auch nach dem Passwort gefragt wird.

# Members of the admin group may gain root privileges
%admin ALL=(ALL) ALL
%SSH-ROOT@corp.seifritzberger.com     ALL=(ALL)   NOPASSWD:ALL
Join 7.png
# Members of the admin group may gain root privileges
%admin ALL=(ALL) ALL
%SSH-ROOT@corp.seifritzberger.com     ALL=(ALL)   ALL

Anmelden am Linux[Bearbeiten | Quelltext bearbeiten]


Nun könnt Ihr Euch Anmelden, wie am Windows

Benutzeranmeldung[Bearbeiten | Quelltext bearbeiten]

User@example.local

Benutzeranmeldung (Prä-Windows 2000)[Bearbeiten | Quelltext bearbeiten]

example\User

Bei Linux ist es im Normalfall wichtig die Case-Sensitive, aber bei Windows ist es egal, da wir aber eine Authentifizierung auf Windows Ebene haben, wird die Case-Sensitive keine Rolle spielen.

Wichtige Information[Bearbeiten | Quelltext bearbeiten]


Wenn ihr euch als Root User anmeldet ist es nicht wichtig “sudo” vorangestellt ist, aber bei der Windows-Authentifizierung ist es zwingend, dass man “sudo” vorangestellte ist, ansonsten funktioniert der administrative Zugang nicht.