Hier werden die Unterschiede zwischen zwei Versionen angezeigt.
linux:kerberos [2014-04-05 11:42] |
linux:kerberos [2014-04-05 11:42] (aktuell) |
||
---|---|---|---|
Zeile 1: | Zeile 1: | ||
+ | ====== Linux-Server ins Active Directory integrieren ====== | ||
+ | [[http://www.administrator.de/index.php?content=85403|via]] | ||
+ | ===== Infos ===== | ||
+ | In aller Regel gilt 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 als auch | ||
+ | * Reverse-Lookup | ||
+ | |||
+ | IP-Adressen | ||
+ | * AD: 1.2.3.4 | ||
+ | * Debian: 1.2.3.5 | ||
+ | |||
+ | ===== Installation ===== | ||
+ | * apt-get install libkrb53 krb5-{admin-server,kdc} samba winbind ntpdate ntp ssh | ||
+ | * Dienste stoppen | ||
+ | * <code bash>/etc/init.d/samba stop | ||
+ | /etc/init.d/winbind stop | ||
+ | /etc/init.d/ntp stop</code> | ||
+ | * Konfiguration sichern | ||
+ | * <code bash>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 | ||
+ | mkdir /etc/pam.d.bak && cp /etc/pam.d /etc/pam.d.bak -R | ||
+ | mkdir /var/lib/samba.bak && cp /var/lib/samba /var/lib/samba.bak -R</code> | ||
+ | * /etc/krb5.conf | ||
+ | * <code bash>[libdefaults] | ||
+ | Default_realm = FIRMA.DE | ||
+ | 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</code> | ||
+ | * NTP | ||
+ | * /etc/ntp.conf | ||
+ | * <code bash>server 1.2.3.4</code> | ||
+ | * <code bash>/etc/init.d/ntp start | ||
+ | ntpq –p | ||
+ | dpkg-reconfigure tzdata</code> | ||
+ | * /etc/samba/smb.conf | ||
+ | * <code bash>[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)</code> | ||
+ | * testparm | ||
+ | * /etc/nsswitch.conf | ||
+ | * <code bash>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</code> | ||
+ | * /etc/pam.d/common-auth | ||
+ | * <code bash>auth sufficient pam_winbind.so | ||
+ | auth required pam_unix.so nullok_secure use_first_pass</code> | ||
+ | * **Checkliste** | ||
+ | * <code bash>host 1.2.3.4 #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!</code> | ||
+ | * Server zur Domäne hinzufügen | ||
+ | * <code bash>kinit Administrator@FIRMA.DE | ||
+ | net ads join –U Administrator%Passwort</code> | ||
+ | * <code bash>/etc/init.d/samba start | ||
+ | /etc/init.d/winbind start</code> | ||
+ | * Funktionalität testen | ||
+ | * <code bash>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 2 #Debian Server neu starten und schauen, ob die Dienste beim Neustart sauber starten</code> | ||
+ | |