Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

Aktuelle Themen

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit

Debian Linux in eine Active Directory Domäne integrieren

Anleitung Linux Debian

Mitglied: spacyfreak

spacyfreak (Level 2) - Jetzt verbinden

13.04.2008, aktualisiert 15.11.2008, 92148 Aufrufe, 24 Kommentare, 5 Danke

SAMBA, WINBIND, NSSWITCH, PAM, KERBEROS, NTP

Wir wollen erreichen, dass man sich am Debian Server per SSH mit den Domänenbenutzer-Credentials anmelden kann.
Folgende Anleitung wurde mehrmals an frischen Systemen getestet - sollte also funktionieren.

Ich hoffe dem kunterbunten Internet-Anleitungs-Angebot zu diesem Thema endlich mal eine Anleitungs-Variante hinzugefügt zu haben, die wirklich auf Anhieb funktioniert ohne tagelange Fummelaktionen.
Wenn man die Anleitung Schritt für Schritt durchzieht müsste es binnen einer halben Stunde erledigt sein.
Wildes rumprobieren kann fast nur schief gehen.


Wer Formatierungsfehler findet, darf sie gerne behalten - oder aber korrigieren.


NEU! DEBIAN AD-INTEGRATION als Linux-Commandline HowTo Film (6MB gross)!


http://rapidshare.de/files/39134663/DEBIAN_ACTIVE_DIRECTORY.avi.html

ACHTUNG! Zum Abspielen braucht man den VMware Movie Decoder!

Download Link VMware Codec

http://www.vmware.com/download/eula/moviedecoder_v55.html
Nach Installation des VMware Codecs lässt sich der Film z. B. im Windows Mediaplayer abspielen.



Hintergrundwissen


Der Debian Server muss ein Memberserver im AD werden, er braucht ein Computerkonto im AD.
Dieses legt er selbst an, es wird kein Computerkonto manuell im AD angelegt!

SAMBA ist das Linux Pendant zum Windows SMB bzw. CIFS System (Datei- und Druckerfreigabe).
SAMBA wird benötigt um den Debian Server zum Memberserver werden zu lassen.

Winbind löst AD Benutzerkonten und Gruppen auf, kann also die zu Benutzern und Gruppen gehörenden SIDs aus dem AD ziehen und in einer localen Datenbank unter /var/lib/samba/ die Zuordnung der gefundenen SIDs zu Unix UIDs und GIDs speichern. Das ist notwendig da Unix Systeme mit Active Directory SIDs nichts anzufangen wissen sondern nur UIDs und GIDs kennen die für Berechtigungen für Unix Dienste genutzt werden können.
Dabei ist wichtig dass Winbind UIDs und GIDs verwendet die bereits auf dem Unix System vorhandene Benutzer nicht schon benutzen. Welchen Range von UIDS bzw. GIDs Winbind für das Mapping verwenden soll definiert man über die Parameter "idmap uid = 10000-20000" bzw. "idmap gid = 10000-20000". Man könnte genausogut 1000000-150000 eintragen - hauptsache die verwendeten Werte sind ausserhalb der Bereiche die bereits Unix User auf dem System verwenden (siehe /etc/passwd).
Winbind wird über die SAMBA Konfigurationsdatei /etc/samba/smb.conf konfiguriert.

Net join ist ein Hilfsprogramm welches Teil der SAMBA Suite ist. Es generiert ein Computerkonto im AD für den Debian Server.
Dazu ist ein Domänenuser mit entsprechenden Berechtigungen notwendig (z. B. Domänenadministrator).

Nsswitch ist ein "Schalter" mit dem man definieren kann, welche Namensdienste genutzt werden sollen.

PAM dient dazu zu definieren, welche Authentisierungs- und Autorisierungsmechanismen Anwendungen nutzen können sollen.

NTP sorgt für eine genaue Systemzeit. Driftet die Systemzeit auf dem Windows Server und dem Debian Server auseinander, kann keine Kerberos Authentisierung funktionieren, da Kerberos ein Ticketingsystem ist das auf exakte Timestamps angewiesen ist.

Kerberos ist ein Authentisierungsprotokoll. Es ist vergleichbar mit einem "Ticketschalter" im Kino. Man bekommt eine "Eintrittskarte" die eine bestimmte Zeit gilt und für verschiedenste Dienste nutzbar ist, je nachdem wozu man berechtigt ist.
Kerberos hat den Vorteil von Single Sign-On - man muss sich nur einmal authentisieren, und hat dann automatisch Berechtigung auf alle Ressourcen zuzugreifen die von dem Kerberos Server kontrollierbar sind (Anmeldung, Dateizugriff, Druckerzugriff etc).


Vorraussetzungen


Zeitsynchronisation (NTP)

Da das Kerberos Protokoll, das der Debian Server nutzen soll um mit dem Active
Directory zu kommunizieren, stark von einer exakten Systemzeit abhängt, muss der
Debian Server als NTP Client und der Windows Server als NTP Client als auch NTP Server
konfiguriert sein, damit die Zeitsynchronität gewährleistet werden kann.
Der Windows Server bezieht in unserem Szenario die Systemzeit von einem externen NTP Server,
während der Debian Server als NTP Client die Systemzeit vom Windows Server bezieht.

DNS Namensauflösung (Forward Lookup und Reverse Lookup)

Ermitteln der verschiedenen Namen die der Domaincontroller trägt (Netbios, Workgroup, Domänen-Name, Kerberos-Realm)
Man kann die NETBIOS- und Workgroup Namen auf dem Server2003 ermitteln mit Befehl
01.
nbtstat –n
Der Debian Server muss einen Reverse DNS Lookup auf den Domaincontroller
machen können, also die IP Adresse in den DNS Namen auflösen können.
Testen mit:
01.
host 192.168.178.140 
02.
140.178.168.192.in-addr.arpa domain name pointer dc.firma.de
In aller Regel gilt z. B. bei einem Domaincontroller namens DC.FIRMA.DE

  • der NETBIOS Name ist "DC"
  • der Workgroup Name ist "FIRMA"
  • der DNS Name ist "DC.FIRMA.DE"
  • der Kerberos Realm ist "FIRMA.DE"
  • der Domänen-Name ist "FIRMA.DE"

Damit die AD-Integration des Linux Servers einwandfrei funktioniert ist es wichtig dass..

  • beide Server (Debian und DC) den Namen des anderen auflösen können
  • Forward-Lookup (nslookup debian.firma.de bzw. nslookup dc.firma.de) als auch
  • Reverse-Lookup (nslookup 192.168.178.140 bzw. nslookup 192.168.178.150)

einwandfrei auf beiden Servern funktionieren!


Debian IP Konfiguration


IP-Konfiguration: /etc/network/interfaces
01.
# The loopback network interface 
02.
auto lo 
03.
iface lo inet loopback 
04.
# The primary network interface 
05.
allow-hotplug eth0 
06.
iface eth0 inet static 
07.
     address 192.168.178.150 
08.
     netmask 255.255.255.0 
09.
     network 192.168.178.0 
10.
     broadcast 192.168.178.255 
11.
     gateway 192.168.178.1
DNS Konfiguration: /etc/resolv.conf

01.
search firma.de 
02.
nameserver 192.168.178.140
Interface hochfahren

01.
ifdown eth0 
02.
ifup eth0

Berechtigungen im Active Directory


Man benötigt für die AD-Integration ein AD-Benutzerkonto mit entsprechenden Berechtigungen.
Dies kann ein Domänenadministrator sein. Es kann jedoch auch ein spezielles Benutzerkonto erstellt werden das die Berechtigung bekommt Objekte im AD anzulegen. Das ist notwendig da der Debian Server selbst ein Computerkonto im Active Directory anlegen muss und auch Berechtigungen braucht um Anfragen an das AD stellen zu können.


Testumgebung


Die Anleitung bezieht sich auf folgende Testumgebung:

f28497c599980a1906412a39367cdd0a-beispiel - Klicke auf das Bild, um es zu vergrößern

Das Konfigurations-Beispiel bezieht sich auf Server 2003 Standard Edition mit Servicepack 2 und Debian 4.0R3.

Domaincontroller
DNS Name: DC.FIRMA.DE
IP:192.168.178.140

Debian Server
DNS Name: DEBIAN.FIRMA.DE
IP: 192.168.178.150

Debian Server Konfiguration


1. Installation von SAMBA, Winbind, NTP, ntpdate, Kerberos, SSH


01.
apt-get install libkrb53 krb5-{admin-server,kdc} samba winbind ntpdate ntp ssh
Bei der Installation die Debian CD1 bereithalten, danach wird gefragt.
TIP: Wenn die CD in der sourcelist (/etc/apt/sources.list) auskommentiert ist, dann wird sie für die Installation nicht mehr benötigt.
Download des Debian ISO Files hier:
http://cdimage.debian.org/debian-cd/4.0_r3/i386/iso-cd/debian-40r3-i386 ...
Nach der Installation werden ein paar Dinge abgefragt, z. B. Netbios Name usw.
Diese Angaben kann man später in den Config-Dateien wieder ändern falls sie nicht stimmen
sollten.

2. Dienste beenden

01.
/etc/init.d/samba stop 
02.
/etc/init.d/winbind stop 
03.
/etc/init.d/ntp stop

3. Backup der Linux Config Dateien

Es ist ratsam zunächst alle Config Dateien auf dem Debian System zu sichern
bevor man anfängt sie zu editieren. Wenn man beispielsweise bei der PAM
Konfiguration die Config zerschießt ist u. U. keine Anmeldung am System
mehr möglich.
01.
cp /etc/samba/smb.conf /etc/samba/smb.conf.bak 
02.
cp /etc/nsswitch.conf /etc/nsswitch.conf.bak 
03.
cp /etc/krb5.conf /etc/krb5.conf.bak 
04.
cp –r /etc/pam.d /etc/pam.d.bak 
05.
cp –r /var/lib/samba /var/lib/samba.bak

4. Konfiguration der Dienste

4.1.KERBEROS


/etc/krb5.conf
Hier eine detailierte Beschreibung möglicher Parameter der krb5.conf

01.
[libdefaults] 
02.
Default_realm = FIRMA.DE 
03.
#The following krb5.conf variables are only for MIT Kerberos. 
04.
krb4_config = /etc/krb.conf 
05.
krb4_realms = /etc/krb.realms 
06.
kdc_timesync = 1 
07.
ccache_type = 4 
08.
forwardable = true 
09.
proxiable = true 
10.
[realms] 
11.
     FIRMA.DE = { 
12.
          kdc = dc.firma.de 
13.
          admin_server = dc.firma.de 
14.
15.
[domain_realm] 
16.
     .firma.de = FIRMA.DE 
17.
[login] 
18.
krb4_convert = true 
19.
krb4_get_tickets = false 
20.
 

4.2.NTP


/etc/ntp.conf
01.
server 192.168.178.140

4.2.1 ntpdate

01.
ntpdate dc.firma.de

4.2.2 NTP Dienst starten

01.
/etc/init.d/ntp start

4.2.3 Zeitsynchronisation testen

01.
ntpq –p 
02.
date

4.2.4. Bei Bedarf Zeitzone ändern (Europe/Berlin)

01.
tzconfig

4.3 WINBIND


/etc/samba/smb.conf.
Hier eine detailliertere Beschreibung des winbind Dienstes
01.
[global] 
02.
          workgroup = FIRMA (Arbeitsgruppen Name; in aller Regel Domänen-Name ohne Suffix) 
03.
          realm = FIRMA.DE (Domänen-Name) 
04.
          netbios name = DEBIAN (NETBIOS-Name des Debian Servers; max. 15 Zeichen lang!) 
05.
          security = ADS (Active Directory soll die Authentisierung stellen) 
06.
          idmap uid = 10000-20000 (Range der UIDs für das Mapping von AD-RIDs auf UIDs) 
07.
          idmap gid = 10000-20000 (Range der GIDs für das Mapping von AD-RIDs auf GIDs) 
08.
          template shell = /bin/bash (Shell die der Benutzer nach der Anmeldung bekommt) 
09.
          winbind use default domain = yes (User muss kein Prefix bei der Anmeldung angeben)
Hintergrundwissen "idmap":
Das Linux System hat auch eine lokale Benutzerverwaltung (/etc/passwd).
Jeder Benutzer und jede Gruppe benötigt eine eindeutige Kennung.

Im Active Directory sind dies die "SIDs". Die SID besteht aus dem Domänen-Identifikator und einer RID (Relative Identifier).
Jedes Benutzerkonto und jede Gruppe hat eine SID, eine eindeutige Sicherheitskennung.

Da Active Directory und Linux verschiedene Techniken für die Zuordnung von User- und Gruppennamen zu SIDs bzw. UID/GIDs benutzen, ist eine der Aufgaben von winbind, ein Mapping von Active Directory SIDs zu Linux UIDs/GIDs durchzuführen.
Diese Zuordnung (welche SID ist zu welcher UID/GID zugeordnet) wird auf dem Linux Server in einer lokalen Datenbank unter /var/lib/samba/winbindd_idmap.tib gespeichert.

Durch den Eintrag "idmap uid = 10000-20000" wird definiert, dass der Bereich von UID 10000 bis 20000 nicht von der internen Benutzerverwaltung verwendet wird, also für das Mapping von Active Directory SIDs zu Linux UIDs bzw. GIDs verwendet werden soll.

Testen der winbind Config mit
01.
testparm

4.4 NSSWITCH


/etc/nsswitch.conf
Hier eine detailliertere Beschreibung der nsswitch Funktionalität

01.
# Example configuration of GNU Name Service Switch functionality. 
02.
# If you have the `glibc-doc-reference' and `info' packages installed, try: 
03.
# `info libc "Name Service Switch"' for information about this file. 
04.
passwd: compat winbind 
05.
group: compat winbind 
06.
shadow: compat 
07.
hosts: files dns 
08.
networks: files 
09.
protocols: db files 
10.
services: db files 
11.
ethers: db files 
12.
rpc: db files 
13.
netgroup: nis

4.5.PAM


/etc/pam.d/common-auth
Hier eine detailliertere Beschreibung der pam.d Konfigurationsdateien

01.
# /etc/pam.d/common-auth - authentication settings common to all services 
02.
# This file is included from other service-specific PAM config files, 
03.
# and should contain a list of the authentication modules that define 
04.
# the central authentication scheme for use on the system 
05.
# (e.g., /etc/shadow, LDAP, Kerberos, etc.). The default is to use the 
06.
# traditional Unix authentication mechanisms. 
07.
08.
auth sufficient pam_winbind.so 
09.
auth required pam_unix.so nullok_secure use_first_pass

5. Debian Server in die Domäne integrieren


5.1 Checkliste

01.
host 192.168.178.140 (Funktioniert der Reverse Lookup?) 
02.
nslookup dc.firma.de (Funktioniert die DNS Namensauflösung?) 
03.
ping dc.firma.de (Ist der Domaincontroller erreichbar?) 
04.
telnet dc.firma.de 445 (Port TCP445 erreichbar?) 
05.
telnet dc.firma.de 139 (Port TCP139 erreichbar?) 
06.
ntpq –p (Läuft die Zeitsynchronisation?) 
07.
tzconfig (Stimmt die Zeitzone?) 
08.
ps –ef | grep samba (Testen ob der Dienst läuft - wenn ja, stoppen!) 
09.
ps –ef | grep winbind (Testen ob der Dienst läuft - wenn ja, stoppen!) 
10.
/etc/init.d/winbind stop (winbindd stoppen!)  
11.
/etc/init.d/samba stop (smbd / nmbd stoppen!)  
12.
 
13.
rm –rf /var/lib/samba/* (eventuell vorhandene winbind cache DB löschen!)

5.2 net join

01.
          net ads join –U Administrator  (Das ist der Domänen-Administrator oder ein Benutzerkonto das berechtigt ist Objekte im AD anzulegen)

6. Dienste starten

01.
          /etc/init.d/samba start 
02.
          /etc/init.d/winbind start
Kontrollieren ob SMBD, NMBD und WINBIND Dienste gestartet sind:
01.
          ps –ef | grep samba 
02.
          ps –ef | grep winbind

7. Funktionalität testen

01.
          wbinfo –t (zeigt an ob das RPC trust secret passt) 
02.
          wbinfo -a Administrator%Passwort (zeigt an ob sich AD-User Administrator über winbind authentisieren kann) 
03.
          wbinfo –u (zeigt die Active Directory Benutzer an) 
04.
          wbinfo –g (zeigt die Active Directory Gruppen an)
01.
          ssh Administrator@localhost (testen ob man sich lokal per SSH als Administrator (oder andere AD-Benutzer) anmelden kann)  
02.
          init 6 (Debian Server neu starten und schaun ob die Dienste beim Neustart sauber starten) 
03.
          update-rc.d samba defaults (Dienste, die eventuell nicht automatisch starten, zu den Autostart Services hinzufügen) 
04.
          update-rc.d ntp defaults 
05.
          update-rc.d winbind defaults

8. Fehlersuche


Was tun wenn es nicht funktioniert, oder wenn es "in der Regel" funktioniert und plötzlich nicht mehr funktioniert?
Es wird dann Zeit für das wofür man eigentlich bezahlt wird - Fehlersuche und Fehlerbeseitigung.

1. Teste die grundsätzliche Erreichbarkeit auf Netz- und Portebene

  • ping IP-Adresse (beidseitig)
  • telnet 192.168.178.140 445
  • telnet 192.168.178.140 139

2. Teste die DNS Namensauflösung auf beiden Servern

Debian Server:
  • host 192.168.178.140 (funktioniert Reverse-Lookup?)
  • host dc.firma.de (funktioniert Forward-Lookup?)
  • ping dc.firma.de (funktioniert Layer3 Konnektivität?)

Windows Server:
  • nslookup 192.168.178.150
  • nslookup debian.firma.de
  • ping debian.firma.de

3. Logfiles checken

Debian Server:
  • /var/log/samba/log.winbindd
  • /var/log/messages

Windows Server:
  • Ereignisanzeige

4. Active Directory checken
  • Ist das Computerkonto des Debian Servers deaktiviert? Wenn ja - aktivieren.
  • Ist das Computerkonto des Debian Servers gelöscht? Wenn ja - neu anlegen mit "net ads join -U Administrator" auf dem Debian-Server. Computerkonto nicht manuell auf dem DC anlegen!

5. Widerherstellung der Funktionalität

  • Siehe oben in der Anleitung ab Abschnitt 5.

9. Tips & Tricks


alias als Kürzel für Befehlsketten

Es gibt bestimmte Befehlsketten die man immer wieder braucht.
Zum Beispiel: Winbind Deamon beenden, Samba neu starten, Winbind Deamon wieder starten.
Um die notwendigen Befehle nicht wieder und wieder in voller Länge eintippen zu müssen, kann man sich "aliase" anlegen.
Ein alias ist ein "Verweis" auf eine Befehlskette.

Die aliase werden in die Datei /root/.bashrc eingetragen (wenn man als root arbeitet).

Beispiele

  • rs (steht für "restart") und führt zu: Stoppen des winbind deamons, neustart des samba deamons, start des winbind deamons

01.
vi /root/.bashrc 
02.
alias rs="/etc/init.d/winbind stop && /etc/init.d/samba restart && /etc/init.d/winbind start"
  • cleanup führt zu: Stoppen von Winbind und Samba, löschen der temp. winbind Datenbank, Anlegen von Computerkonto im AD, neustart von samba und winbind, überprüfung der AD-Benutzer Namensauflösung

01.
vi /root/.bashrc 
02.
alias cleanup="/etc/init.d/winbind stop && /etc/init.d/samba stop && rm -rf /var/lib/samba/* && net ads join -U Administrator && rs && wbinfo -u"
Mitglied: Dani
20.04.2008 um 22:23 Uhr
Moin,
endlich.....gibt es im Netz eine Anleitung wo alles beinhaltet. Bisher habe ich eine kl. Linksammlung wo die einzelnen Themen (winbind, Kerberos, etc...) beinhaltet. Die ist nun gelöscht und durch diesen Link hier ersetzt. Dank dir....

Vllt. oben im Howto das klassische Inhaltsverzeichnis hinzufügen.


Grüße
Dani
Bitte warten ..
Mitglied: spacyfreak
21.04.2008 um 20:06 Uhr
Vllt. oben im Howto das klassische
Inhaltsverzeichnis hinzufügen.
Voila - ein Inhaltsverzeichnis machts schon übersichtlicher.
Bitte warten ..
Mitglied: riger79
15.05.2008 um 10:51 Uhr
Das HOWTO ist wirklich gelungen. Vielen Dank!

Folgende Anmerkungen bzw. Ergänzungen möchte ich noch anfügen:

ad 1. Installation von SAMBA, Winbind, NTP, ntpdate, Kerberos, SSH
wenn die cd in der sourcelist (/etc/apt/sources.list) auskommentiert ist, dann wird sie für die Installation nicht mehr benötigt.


ad 4.5. PAM

common-auth
wenn die Zeile
auth required pam_unix.so nullok_secure
noch um "use_first_pass" zu
auth required pam_unix.so nullok_secure use_first_pass
ergänzt wird, klappt die Anmeldung mit lokalen (nicht-Domänen) Konten sofort (ohne zweimalige Passworteingabe)

damit bei der ersten Anmeldung am Rechner ein lokales Home-Verzeichnis angelegt wird, kann in
common-session als erster Eintrag die Zeile
session required pam_mkhomedir.so skel=/etc/skel/ umask=0022
eingefügt werden. Jetzt muss nur noch ein Wurzelverzeichnis für die Domainuser (z.b. /home/DOMAINNAME) angelegt werden...

direkt dahinter sollte noch
session sufficient pam_winbind.so
stehen, damit der gdm bereits beim ersten Anmeldeversuch beim AD nachfragt.

Gruß
Riger
Bitte warten ..
Mitglied: spacyfreak
15.05.2008 um 16:38 Uhr
@riger79

vielen Dank, dafuer kriegst du den Forums-Oskar!!!

Die Info mit der zweimaligen Passworteingabe bei Nutzung lokaler Accounts hat mir noch gefehlt. Das wollte ich demnächst mal "erkunden" woran das liegt.
Der Rest ist auch mehr als hilfreich.

Super!
Bitte warten ..
Mitglied: riger79
15.05.2008 um 18:18 Uhr
Gern geschehen, die Hauptarbeit hattest Du ja bereits erledigt!

Ein paar Anmerkungen möchte ich noch nachschieben
  • Für die Kerberos-Unterstützung reicht das Paket krb5-user, die Pakete krb5-{admin-server,kdc} sind nur zum Betrieb eines eigenen Kerberos-Servers nötig (das macht der AD-DC).
  • ssh ist immer gut, im Zusammenhang des HowTo aber nur für den Test der lokalen Authentisierung über ein Domänenkonto nötig. Die eigentliche AD-Integration erfordert kein SSH...
  • Ein Problem, das mir ab und an begegnet ist, besteht darin, dass die Namensauflösung durcheinandergerät (konkret: PING auf einen FQDN scheitert) und daher die AD-Integration nicht fehlerfrei läuft. Ursache ist offenbar die AVAHI-Konfiguration in der nsswitch.conf. Abhilfe schafft in diesem Fall, den Namen und den FQDN des Domaincontrollers nebst seiner IP-Adresse im Hostfile einzutragen oder in der nsswitch.conf die Zeile "hosts: files mdns4_minimal [NOTFOUND=return] dns mdns4" durch "hosts: files dns" zu ersetzen...


Schöne Grüße
Riger
Bitte warten ..
Der Kommentar von BecksIT wurde vom Moderator am 10.12.16 ausgeblendet!
Mitglied: Dani
13.06.2008 um 21:29 Uhr
Abend Harald,
bitte ein neuen Beitrag für dein Problem schreiben. Denn im diesem Tutorial geht es ausschließlich um die Integration in die Domäne. Hättest du damit Probleme, ist es in Ordnung - so aber nicht....


Gruss,
Dani
Bitte warten ..
Mitglied: Mysterio1
16.06.2008 um 11:44 Uhr
Hallo,

Erstmal großes Lob!
Hab vor einer woche zum erstenmal angefangen mit Linux zu arbeite (Debian aufgesetzt um daraus einen Fileserver zu machen).
Und trotzdem hab ich es dank diesem tutorial geschafft.
Ich schaffs zwar leider noch nicht im windows explorer drauf zuzugreifen aber das wird schon ^^.

So nun zu einer Änderung bei der neuesten Version von Winbind
funktioniert idmap uid = 10000-20000
idmap gid = 10000-20000
leider nicht.
Es heißt jetzt winbind uid = 10000-20000
winbind gid = 10000-20000.

Hab mich leider geirrt es funktioniert doch nicht.
Wenn ich ssh Administrator@localhost versuche steht in der auth.log:
Jun 16 11:49:08 fileserver sshd[5334]: Failed none for invalid user mhabicher from 127.0.0.1 port 43746 ssh2
Jun 16 11:49:11 fileserver pam_winbind[5334]: request failed: Wrong Password, PAM error was Authentication failure (7), NT error was NT_STATUS_WRONG_PASSWORD
Jun 16 11:49:11 fileserver pam_winbind[5334]: user `test' denied access (incorrect password or invalid membership)

kann mir einer sagen was nicht stimmt?

mfg
Bitte warten ..
Mitglied: odcheck
24.07.2008 um 09:34 Uhr
Also erstmal super Anleitung - Debian Linux in eine Active Directory Domäne integrieren -
nun zu meinem Problem.

Ich kann mich auch wunderbar mit meinen lokalen Unix Accounts anmelden nur melde ich mich als root an dann kommt der hinweis das Kennwort wäre abgelaufen "...expired" es hilft nur ein neues root Kennwort zu vergeben was aber in diesem Falle nicht im sinne des Erfinders ist.

Sobald ich also das Kennwort geändert habe und es mit passwd wieder auf das Kennwort setze was ich ja haben möchte kommt es wieder zu "....expired"

Wo kann ich es Einstellen das es nicht abläuft?



-------> Nachtrag... einer meiner Kollegen hatte im AD mal einen Konto "root" erstellt, ich habe jetzt lediglich den Haken bei "Kennwort läuft nie ab" gesetzt und gut war.

Gilt zu klären warum er einen User "root" im AD erstellt hat?
Und warum im auth.log zu erst für root winbind auth geprüft wird bei root? Ist das auich der Fall wenn es den User "root" nicht im AD gibt.
Ich nehme es mal an. Feedback gebe ich Euch sobald ich das getestet habe.
Bitte warten ..
Mitglied: ultra101
13.08.2008 um 13:18 Uhr
vielen Dank!

Das hat perfekt funktioniert.
Bitte warten ..
Mitglied: spacyfreak
09.09.2008 um 20:42 Uhr
Also ich bilde mir allmählich ein ich hätte ein Händchen dafür komblizierte Dinge strukturiert zu vermitteln.
Meint ihr es würde sich lohnen ein Spendenkonto einzurichten? Ich habe 5 Kinder zu ernähren!!!
Bitte warten ..
Mitglied: the-buddah
15.11.2008 um 00:10 Uhr
hi.
ich hab gerade mein Debian auch mit einem Domain Authentifizierung "ausgestattet".
Das hat auch funktioniert... bis ich einen neustart gemacht habe!
Jetzt darf ich bei jedem neustart den Befehl 'net rpc join -U Administrator' eingeben und danach das Passwort des Administrators!
Das ist sehr unpraktisch da es eventuell sein kann das auch jemand anders den Server durchbooten muss und der kennt nicht (und soll es auch nicht kennen) das Administrator Passwort des Windows Servers.
wo liegt mein Fehler?
ich weiß nämlich nicht mehr weiter.

Danke schonmal

[Edit] habs selber gelöst!
Problem war das Samba und winbind im Runlevel zur selben Zeit (selbe startID gehabt)gestartet wurden. Nur doof das Samba länger brauchte zum starten als winbind und darum hat die authentifizierung nicht funktioniert.

Raffi
Bitte warten ..
Mitglied: Chef69
18.05.2009 um 16:01 Uhr
Mir ist noch ein kleiner Schreibfehler in dieser Anleitung in der /etc/krb5.conf aufgefallen:

[libdefaults]
Default_realm = FIRMA.DE

Es muss hier default_realm = FIRMA.DE mit kleinem d angegeben werden, sonst funktioniert z.B. der kinit "user" nicht und wird mit folgendem Fehler quittiert:

kinit(v5): Configuration file does not specify default realm when parsing name "user"

Ein weiterer Punkt betrifft die kadmind Fehlermeldung beim Booten des Systems die im Zusammennhang mit dem installierten Paket krb5-admin-server auftritt, welches nicht benötigt wird.
Diese Fehlermeldung kann ganz einfach durch Deaktivierung dieses Dienstes mit folgendem Befehl als Root behoben werden:

update-rc.d -f krb5-admin-server remove

Gruß
Bitte warten ..
Mitglied: EvilToken
13.11.2009 um 21:21 Uhr
Hallo alle Zusammen,

erstmal... echt sehr gelungene Anleitung. Leider hab ich aber auch noch Probleme mit der ganzen Sache.
In der winbind log steht Wörtlich: "krb5_get_credentials failed for ivo-dc1$@IVONET (Cannot resolve network address for KDC in requested realm)"
Ich vermute jetzt das an dem Namen: ivo-dc1$@IVONET irgendwas falsch ist. Auf sämtlichen google Seiten steht aber dort ein domain Name, also bei mir solte das dann: ivo-dc1$@IVONET.LOCAL sein. Ist das der Fehler?
Ich möchte betonen, dass ich mich strikt an die Anleitung gehalten habe.
Was ich mir aber auch noch vorstellen kann ist, dass da ich einen Server 2008 einsetzte, es dort irgend welche Problem geben könnte. Stichwort Kerberos Ticket checksum Verschlüsselung.

Es wäre super wenn wir das Ganze nochmal aufleben lassen, da doch schon ein Jahr vergangen ist und sich unter Umständen etwas geändert hat.

Gruß EvilToken
Bitte warten ..
Mitglied: Johnny08
25.11.2009 um 12:00 Uhr
Hi,

vielen Dank erstmal für die Anleitung, die ist super!!

Jedenfalls habe ich folgende Erfahrunge gemacht: Der Domänen-User den man zum Integrieren des Debian-Systemes in die ADS mit netjoin benutzt darf keine Sonderzeichen in seinem Usernamen haben. Sonst gibt es eine kryptische Fehlermeldung, die ich später noch genau posten werde.

Ich hab eine ganze Weile gebraucht um dahinter zu kommen, vielleicht hilft es ja jemanden.

Gruß,
Jonathan
Bitte warten ..
Mitglied: Flouw
11.12.2009 um 15:13 Uhr
Hallo,

erstmal danke für die super Anleitung!

Ich habe mittlerweile mehrere Debian Lennys in eine Windows 2000 Domäne mit Holfe dieser Anleitung integriert bekommen.
Jetzt habe ich mittels adprep die Domänen-Struktur auf Windows 2008 aktualisiert. Aber noch keine Windows 2008 Server hinzugefügt.

Leider funktioniert die Authentifizierung der Linux Rechner jetzt nicht mehr. Hat jemand eine Idee woran es liegen kann? Vielleicht was in Richtung Kerberos?
Fehler von wbinfo -g: Error looking up domain groups
Fehler von net ads join –U Administrator: Failed to join domain: failed to find DC for domain

Viele Grüße,
Flouw
Bitte warten ..
Mitglied: chefkoch666
01.06.2010 um 20:01 Uhr
Hi Flouw,

das hier gemäß Deiner Infrastruktur ausführen:
net ads join -S dc -U Administrator

Gruß Marek
Bitte warten ..
Mitglied: chefkoch666
01.06.2010 um 20:03 Uhr
Hi spacyfreak,

wirklich cooler Artikel! Hut ab, echt gut geschrieben und trotzdem immer schön Schritt für Schritt und auf den Punkt. Außerdem weiterführende Links.

Offene Punkte:
- Das Video zum Artikelanfang scheint gelöscht zu sein.
- Kommentare durcharbeiten und Artikel nachpflegen, das wäre ein Traum.

Mit besten Grüßen Marek
Bitte warten ..
Mitglied: Johnny08
01.12.2010 um 10:23 Uhr
Zumindest bei Lenny, ab jetzt:

statt "tzdata"

nun

"dpkg-reconfigure tzdata"
Bitte warten ..
Mitglied: Johnny08
23.08.2011 um 15:09 Uhr
Ab Squeeze wird die "/etc/pam.d/common-auth" nicht mehr angefasst.
Bitte warten ..
Mitglied: NathanvA
25.01.2012 um 15:32 Uhr
Danke auch für die gute Anleitung.
Einige Zeit beschäftigt hat mich dann die Frage, wie man den Zugriff auf AD Gruppen einschränken kann.
Dies ist eigentlich sehr einfach:
/etc/pam.d/common-auth
auth sufficient pam_winbind.so require_membership_of=<AD-Gruppe>
http://www.samba.org/samba/docs/man/manpages-3/pam_winbind.8.html
Bitte warten ..
Mitglied: aqui
29.12.2012, aktualisiert 31.12.2012
Ab Squeeze und Wheezy in Verbindung mit 2008(R2) Server (Beispiel IP hier 192.168.1.100) sind die Schriite zur Integration noch einfacher:
Siehe auch: http://zeldor.biz/2010/12/debian-join-windows-domain/#more-1240

  • Man benötigt lediglich die Pakete krb5-user, samba, samba-common-bin, winbind
  • krb5.conf lautet folgendermassen:
    01.
    [libdefaults] 
    02.
        default_realm = MYDOMAIN.INTERN 
    03.
      
    04.
    [realms] 
    05.
        REDIRECTOR.NAME = { 
    06.
            kdc = win2008.mydomain.intern:88 
    07.
            admin_server = win2008.mydomain.intern 
    08.
    09.
      
    10.
    [domain_realm] 
    11.
        .mydomain.intern = MYDOMAIN.INTERN 
    12.
        mydomain.intern = MYDOMAIN.INTERN 
Rest in der etc/krb5.conf bleibt unverändert.
  • /etc/samba/smb.conf sieht so aus:
    01.
    [global] 
    02.
        workgroup = MYDOMAIN 
    03.
        realm = MYDOMAIN.INTERN 
    04.
        server string = %h server  
    05.
        load printers = no 
    06.
        security = ads 
    07.
        local master = no 
    08.
        domain master = no 
    09.
        preferred master = no 
    10.
        wins server = 192.168.1.100 
    11.
        dns proxy = no 
    12.
        winbind uid = 10000-20000 
    13.
        winbind gid = 10000-20000 
    14.
        winbind use default domain = yes 
    15.
        interfaces = eth0 lo 
    16.
        syslog = 0 
    17.
        log file = /var/log/samba/log.%m 
    18.
        max log size = 1000 
    19.
        panic action = /usr/share/samba/panic-action %d 
    20.
        invalid users = root 
    21.
        template homedir = /home/%D/%U 
    22.
        template shell = /bin/bash 
    23.
        winbind offline logon = yes 
    24.
        winbind refresh tickets = yes 
  • Die etc/pam.d Dateien müssen gar nicht mehr angefasst werden. Lediglich kann man wie oben bemerkt session required pam_mkhomedir.so umask=0022 skel=/etc/skel in die "common-session" Datei hinzufügen. Dazu sollte man dann unter /home mit "mkdir" noch ein Directory mit dem Doamin Namen erzeugen. Hier im Beispile dann "mkdir MYDOMAIN" so das es dann ein /home/MYDOMAIN ergibt. Dann werden hier die /home Verzeichnisse der User automatisch angelegt beim Login.
  • "net ads join -U Administrator" triit der Domain bei
  • "wbinfo -u" und "wbinfo -g" usw. zeigen dann nach erfolgter Domain Verbindung die AD User, Gruppen etc. an

ACHTUNG: Wer ein so an einen AD gekoppeltes Debian z.B. mit dem FreeRadius und ntlm_auth betreiben will um User aus dem Microsoft AD abzufragen muss noch eine Anpassung vornehmen: Der Output von ntlm_auth wird über eine Pipe in /run/samba/winbindd_privileged übergeben auf das der User freerad unter dem der FreeRadius rennt keinen Zugriff hat.
FreeRadius Abfragen mit ntlm_auth scheitern also obwohl ein einzellner ntlm_auth Aufruf mit Abfrage des AD fehlerfrei funktioniert.
Mit einem adduser freerad winbindd_priv fügt man den User freerad der Gruppe winbindd_priv zu die alle Rechte in diesem Verzeichnis hat und damit klappt die FreeRadius Abfrage aus dem AD dann fehlerlos !
Bitte warten ..
Mitglied: Dani
30.12.2012 um 22:01 Uhr
Moin aqui,
vielen Dank... Top! Das Thema steht nach 3 Könige auf meinen Programm.


Grüße,
Dani
Bitte warten ..
Mitglied: aqui
31.12.2012, aktualisiert um 16:42 Uhr
Ich schreib noch ne kleine Ergänzung für das Raspberry (Debian) Netzmanagement Server_Tutorial (FreeRadius Kontrolle für WLANs und 802.1x). Auch damit funktioniert das auf Anhieb
Bitte warten ..
Mitglied: 112658
23.07.2013 um 21:30 Uhr
Hallo zusammen,

erstmal ein herzliches Danke an spacyfreak für diese Anleitung. Ebenso ein herzliches Dankeschön aqui. Beide Anleitungen haben mir sehr geholfen.

Leider komme ich an einer entscheidenden Stelle nicht weiter.

Beim testen des Login per ssh mit dem Befehl ssh Vorname.Name@localhost komme ich nicht weiter.

Es kommt immer die Meldung, dass das Kennwort falsch sei.

Könnte mir bitte jemand Helfen?

Vielen Dank schonmal für die Unterstützung!



Grüße Alex
Bitte warten ..
Neuester Wissensbeitrag
Windows 10

Powershell 5 BSOD

(8)

Tipp von agowa338 zum Thema Windows 10 ...

Ähnliche Inhalte
Windows Server
Active Directory Domäne und Druckserver (8)

Frage von haashaasp zum Thema Windows Server ...

Windows Server
gelöst Active Directory CA öffentlich vertrauenswürdig machen, geht das? (2)

Frage von DeathangelCH zum Thema Windows Server ...

Windows Server
gelöst Active Directory File Extension - Associated Program (11)

Frage von adm2015 zum Thema Windows Server ...

Windows 8
gelöst Active Directory Default User.v2 Profile - Windows 8.1 Apps Error (4)

Frage von adm2015 zum Thema Windows 8 ...

Heiß diskutierte Inhalte
Microsoft
Ordner mit LW-Buchstaben versehen und benennen (20)

Frage von Xaero1982 zum Thema Microsoft ...

Outlook & Mail
gelöst Outlook 2010 findet ost datei nicht (19)

Frage von Floh21 zum Thema Outlook & Mail ...

Netzwerkmanagement
gelöst Anregungen, kleiner Betrieb, IT-Umgebung (18)

Frage von Unwichtig zum Thema Netzwerkmanagement ...

Festplatten, SSD, Raid
M.2 SSD wird nicht erkannt (14)

Frage von uridium69 zum Thema Festplatten, SSD, Raid ...