spacyfreak
Goto Top

Debian Linux in eine Active Directory Domäne integrieren

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.


back-to-topNEU! 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!

back-to-topDownload 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.


back-to-topHintergrundwissen


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).


back-to-topVorraussetzungen


back-to-topZeitsynchronisation (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.

back-to-topDNS 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
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:
host 192.168.178.140
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!


back-to-topDebian IP Konfiguration


IP-Konfiguration: /etc/network/interfaces
# The loopback network interface
auto lo
iface lo inet loopback
# The primary network interface
allow-hotplug eth0
iface eth0 inet static
     address 192.168.178.150
     netmask 255.255.255.0
     network 192.168.178.0
     broadcast 192.168.178.255
     gateway 192.168.178.1

DNS Konfiguration: /etc/resolv.conf

search firma.de
nameserver 192.168.178.140

Interface hochfahren

ifdown eth0
ifup eth0

back-to-topBerechtigungen 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.


back-to-topTestumgebung


Die Anleitung bezieht sich auf folgende Testumgebung:

f28497c599980a1906412a39367cdd0a-beispiel

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

back-to-topDebian Server Konfiguration


back-to-top1. Installation von SAMBA, Winbind, NTP, ntpdate, Kerberos, SSH


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.

back-to-top2. Dienste beenden

/etc/init.d/samba stop
/etc/init.d/winbind stop
/etc/init.d/ntp stop

back-to-top3. 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.
cp /etc/samba/smb.conf /etc/samba/smb.conf.bak
cp /etc/nsswitch.conf /etc/nsswitch.conf.bak
cp /etc/krb5.conf /etc/krb5.conf.bak
cp –r /etc/pam.d /etc/pam.d.bak
cp –r /var/lib/samba /var/lib/samba.bak

back-to-top4. Konfiguration der Dienste

back-to-top4.1.KERBEROS


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

[libdefaults]
Default_realm = FIRMA.DE
#The following krb5.conf variables are only for MIT Kerberos.
krb4_config = /etc/krb.conf
krb4_realms = /etc/krb.realms
kdc_timesync = 1
ccache_type = 4
forwardable = true
proxiable = true
[realms]
     FIRMA.DE = {
          kdc = dc.firma.de
          admin_server = dc.firma.de
          }
[domain_realm]
     .firma.de = FIRMA.DE
[login]
krb4_convert = true
krb4_get_tickets = false

back-to-top4.2.NTP


/etc/ntp.conf
server 192.168.178.140

back-to-top4.2.1 ntpdate
ntpdate dc.firma.de
back-to-top4.2.2 NTP Dienst starten
/etc/init.d/ntp start
back-to-top4.2.3 Zeitsynchronisation testen
ntpq –p
date
back-to-top4.2.4. Bei Bedarf Zeitzone ändern (Europe/Berlin)
tzconfig

back-to-top4.3 WINBIND


/etc/samba/smb.conf.
Hier eine detailliertere Beschreibung des winbind Dienstes
[global]
          workgroup = FIRMA (Arbeitsgruppen Name; in aller Regel Domänen-Name ohne Suffix)
          realm = FIRMA.DE (Domänen-Name)
          netbios name = DEBIAN (NETBIOS-Name des Debian Servers; max. 15 Zeichen lang!)
          security = ADS (Active Directory soll die Authentisierung stellen)
          idmap uid = 10000-20000 (Range der UIDs für das Mapping von AD-RIDs auf UIDs)
          idmap gid = 10000-20000 (Range der GIDs für das Mapping von AD-RIDs auf GIDs)
          template shell = /bin/bash (Shell die der Benutzer nach der Anmeldung bekommt)
          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
testparm

back-to-top4.4 NSSWITCH


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

# Example configuration of GNU Name Service Switch functionality.
# If you have the `glibc-doc-reference' and `info' packages installed, try:  
# `info libc "Name Service Switch"' for information about this file.  
passwd: compat winbind
group: compat winbind
shadow: compat
hosts: files dns
networks: files
protocols: db files
services: db files
ethers: db files
rpc: db files
netgroup: nis

back-to-top4.5.PAM


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

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

back-to-top5. Debian Server in die Domäne integrieren


back-to-top5.1 Checkliste

host 192.168.178.140 (Funktioniert der Reverse Lookup?)
nslookup dc.firma.de (Funktioniert die DNS Namensauflösung?)
ping dc.firma.de (Ist der Domaincontroller erreichbar?)
telnet dc.firma.de 445 (Port TCP445 erreichbar?)
telnet dc.firma.de 139 (Port TCP139 erreichbar?)
ntpq –p (Läuft die Zeitsynchronisation?)
tzconfig (Stimmt die Zeitzone?)
ps –ef | grep samba (Testen ob der Dienst läuft - wenn ja, stoppen!)
ps –ef | grep winbind (Testen ob der Dienst läuft - wenn ja, stoppen!)
/etc/init.d/winbind stop (winbindd stoppen!) 
/etc/init.d/samba stop (smbd / nmbd stoppen!) 

rm –rf /var/lib/samba/* (eventuell vorhandene winbind cache DB löschen!)

back-to-top5.2 net join

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

back-to-top6. Dienste starten

          /etc/init.d/samba start
          /etc/init.d/winbind start

Kontrollieren ob SMBD, NMBD und WINBIND Dienste gestartet sind:
          ps –ef | grep samba
          ps –ef | grep winbind

back-to-top7. Funktionalität testen

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


back-to-top8. 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.

back-to-top9. 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

vi /root/.bashrc
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

vi /root/.bashrc
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"  

Content-Key: 85403

Url: https://administrator.de/contentid/85403

Printed on: June 15, 2024 at 01:06 o'clock

Member: Dani
Dani Apr 20, 2008 at 20:23:45 (UTC)
Goto Top
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
Member: spacyfreak
spacyfreak Apr 21, 2008 at 18:06:27 (UTC)
Goto Top
Vllt. oben im Howto das klassische
Inhaltsverzeichnis hinzufügen.
Voila - ein Inhaltsverzeichnis machts schon übersichtlicher.
Member: riger79
riger79 May 15, 2008 at 08:51:21 (UTC)
Goto Top
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
Member: spacyfreak
spacyfreak May 15, 2008 at 14:38:37 (UTC)
Goto Top
@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!
Member: riger79
riger79 May 15, 2008 at 16:18:10 (UTC)
Goto Top
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
Member: Dani
Dani Jun 13, 2008 at 19:29:11 (UTC)
Goto Top
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
Member: Mysterio1
Mysterio1 Jun 16, 2008 at 09:44:50 (UTC)
Goto Top
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
Member: odcheck
odcheck Jul 24, 2008 at 07:34:59 (UTC)
Goto Top
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.
Member: ultra101
ultra101 Aug 13, 2008 at 11:18:15 (UTC)
Goto Top
vielen Dank!

Das hat perfekt funktioniert.
Member: spacyfreak
spacyfreak Sep 09, 2008 at 18:42:41 (UTC)
Goto Top
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!!! face-wink
Member: the-buddah
the-buddah Nov 14, 2008 at 23:10:23 (UTC)
Goto Top
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
Member: Chef69
Chef69 May 18, 2009 at 14:01:03 (UTC)
Goto Top
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ß
Member: EvilToken
EvilToken Nov 13, 2009 at 20:21:41 (UTC)
Goto Top
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
Member: Johnny08
Johnny08 Nov 25, 2009 at 11:00:00 (UTC)
Goto Top
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
Member: Flouw
Flouw Dec 11, 2009 at 14:13:47 (UTC)
Goto Top
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
Member: chefkoch666
chefkoch666 Jun 01, 2010 at 18:01:10 (UTC)
Goto Top
Hi Flouw,

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

Gruß Marek
Member: chefkoch666
chefkoch666 Jun 01, 2010 at 18:03:07 (UTC)
Goto Top
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
Member: Johnny08
Johnny08 Dec 01, 2010 at 09:23:11 (UTC)
Goto Top
Zumindest bei Lenny, ab jetzt:

statt "tzdata"

nun

"dpkg-reconfigure tzdata"
Member: Johnny08
Johnny08 Aug 23, 2011 at 13:09:44 (UTC)
Goto Top
Ab Squeeze wird die "/etc/pam.d/common-auth" nicht mehr angefasst.
Member: NathanvA
NathanvA Jan 25, 2012 at 14:32:42 (UTC)
Goto Top
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
Member: aqui
aqui Dec 29, 2012, updated at Dec 31, 2012 at 17:53:58 (UTC)
Goto Top
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:
    [libdefaults]
        default_realm = MYDOMAIN.INTERN
     
    [realms]
        REDIRECTOR.NAME = {
            kdc = win2008.mydomain.intern:88
            admin_server = win2008.mydomain.intern
        }
     
    [domain_realm]
        .mydomain.intern = MYDOMAIN.INTERN
        mydomain.intern = MYDOMAIN.INTERN 
Rest in der etc/krb5.conf bleibt unverändert.
  • /etc/samba/smb.conf sieht so aus:
    [global]
        workgroup = MYDOMAIN
        realm = MYDOMAIN.INTERN
        server string = %h server 
        load printers = no
        security = ads
        local master = no
        domain master = no
        preferred master = no
        wins server = 192.168.1.100
        dns proxy = no
        winbind uid = 10000-20000
        winbind gid = 10000-20000
        winbind use default domain = yes
        interfaces = eth0 lo
        syslog = 0
        log file = /var/log/samba/log.%m
        max log size = 1000
        panic action = /usr/share/samba/panic-action %d
        invalid users = root
        template homedir = /home/%D/%U
        template shell = /bin/bash
        winbind offline logon = yes
        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 !
Member: Dani
Dani Dec 30, 2012 at 21:01:12 (UTC)
Goto Top
Moin aqui,
vielen Dank... Top! Das Thema steht nach 3 Könige auf meinen Programm.


Grüße,
Dani
Member: aqui
aqui Dec 31, 2012 updated at 15:42:40 (UTC)
Goto Top
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 face-wink
Mitglied: 112658
112658 Jul 23, 2013 at 19:30:00 (UTC)
Goto Top
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