[[Vorlage(Archiviert, )]] {{{#!vorlage Wissen [:Pakete_installieren: Installation von Programmen] [:Paketquellen_freischalten: Bearbeiten von Paketquellen] [:Editor: Einen Editor öffnen] [:Terminal: Ein Terminal öffnen] }}} [[Inhaltsverzeichnis(1)]] = Ubuntu am Active Directory (Windows Server 2003) = In diesem Artikel geht es darum, Ubuntu gegen andere Sachen als die klassischen Dateien '''[:Shell/passwd:/etc/passwd]''', '''/etc/groups''' und '''/etc/shadow''' zu authentifizieren, z.B. falls man sich in einem [:Samba:Windowsnetzwerk] befindet, in dem [:Archiv/Active_Directory_Client_Authentifikation:zur Authentifikation das Active Directory] benutzt wird. Vereinfacht gesehen besteht das Active Directory aus einem LDAP-Server, der für die Benutzernamen angezapft werden kann, und einen [:Archiv/Kerberos:]-Server, gegen den man sich dann mit den Namen aus dem LDAP authentifizieren kann. Auf dem oder den Domänencontrollern müssen für diese Vorgehensweise die MS Services For Unix 3.5 installiert sein. Beim Anlegen eines Benutzers hat man dann einen neuen Reiter, mit dem Login-Informationen für Ubuntu eingegeben werden können. = Her mit den Benutzernamen = Zuerst muss man das Paket * '''libnss-ldap''' (''universe'', [2]) installieren [1]. Danach die Konfigurationsdatei '''/etc/libnss-ldap.conf''' (ab Hardy '''/etc/ldap.conf''') mit Root-Rechten editieren [3]. Hier macht man dem Name Service Switch die neuen Benutzer bekannt: {{{host ldap1.w2k3domaene.de ldap2.w2k3domaene.de # Bei Bedarf werden mehrere Domaenencontroller # via Leerzeichen getrennt. base dc=w2k3domaene,dc=de ldap_version 3 binddn cn=LDAP,cn=Users,dc=w2k3domaene,dc=de # Benutzer zum Auselesen des Active Directory bindpw LDAPs_Passwort # Hab mir einen extra zu diesem Zweck angelegt nss_base_passwd cn=Users,dc=w2k3domaene,dc=de?one nss_base_shadow cn=Users,dc=w2k3domaene,dc=de?one nss_base_group cn=Users,dc=w2k3domaene,dc=de?one nss_map_objectclass posixAccount User nss_map_objectclass shadowAccount User nss_map_objectclass posixGroup Group nss_map_attribute uid msSFU30Name nss_map_attribute uniqueMember msSFU30PosixMember #nss_map_attribute userPassword msSFU30Password nss_map_attribute homeDirectory msSFU30HomeDirectory nss_map_attribute loginShell msSFU30LoginShell nss_map_attribute uidNumber msSFU30UidNumber nss_map_attribute gidNumber msSFU30GidNumber pam_login_attribute msSFU30Name pam_filter objectclass=User pam_password ad }}} Das Passwortmapping wird nicht benutzt, weil die Authentifizierung über Kerberos ablaufen soll. Damit der Name Service Switch die Namen auch für das Anmelden kennt, muss die '''/etc/nsswitch.conf''' wie folgt angepasst werden (Bug: mit neueren [:GDM:]-Versionen muss ''ldap'' an zweiter Stelle stehen!): {{{passwd: compat ldap # Bei passwd und group müssen nun Einträge für LDAP stehen group: compat ldap shadow: compat hosts: files dns networks: files protocols: db files services: db files ethers: db files rpc: db files netgroup: nis }}} Damit sind dem Ubuntusystem die Namen aus dem Active Directory bekannt und sie kommen für eine Anmeldung in Frage. Die Dienste müssen nun noch neu gestartete werden: {{{#!vorlage Befehl sudo /etc/init.d/nscd restart sudo /etc/init.d/portmap restart sudo /etc/init.d/libnss-ldap restart }}} Im Terminal [4] kann man mittels {{{#!vorlage Befehl getent passwd }}} bzw. {{{#!vorlage Befehl getent group }}} überprüfen, ob die Namen aus dem Active Directory bekannt sind. Jedoch fehlt noch die Einstellung für die Authentifizierung über... = Kerberos = [:Archiv/Kerberos:] lässt sich über die Pakete * '''libpam-krb5''' (''universe'' [2]) * '''krb5-user''' (''universe'') installieren [1]. '''krb5-user''' wird zur eigentlichen Authentifizierung nicht gebraucht, liefert aber mit '''kinit''' und '''klist''' Werkzeuge, mit denen man den Erhalt des Tickets überprüfen kann. Die Kerberoskonfigurationsdatei '''/etc/krb5.conf''' muss dann wie folgt aussehen (Editor mit Root-Rechten, [3]): {{{ [libdefaults] default_realm = W2K3DOMAENE.DE krb4_config = /etc/krb.conf krb4_realms = /etc/krb.realms kdc_timesync = 1 ccache_type = 4 forwardable = true proxiable = true [realms] W2K3DOMAENE.DE = { kdc = ldap1.w2k3domaene.de kdc = ldap2.w2k3domaene.de admin_server = ldap1.w2k3domaene.de } }}} Im Terminal [4] mittels {{{#!vorlage Befehl kinit user }}} kann man nun überprüfen, ob man ein Ticket bekommt. {{{#!vorlage Befehl klist }}} listet alle gelösten Tickets. Hiermit ist der Grundstein für die Authentifizierung mittels PAM gelegt. Nun müssen die PAM-Konfigurationsdateien im '''/etc/pam.d''' in Angriff genommen werden [3]. '''/etc/pam.d/common-auth:''' {{{auth sufficient pam_krb5.so auth required pam_unix.so nullok_secure use_first_pass }}} '''/etc/pam.d/common-account:''' {{{account sufficient pam_krb5.so account required pam_unix.so }}} '''/etc/pam.d/common-password:''' {{{password sufficient pam_krb5.so nullok obscure min=4 max=8 md5 password required pam_unix.so nullok obscure min=4 max=8 md5 }}} '''/etc/pam.d/common-session:''' {{{session required pam_mkhomedir.so skel=/etc/skel/ umask=0022 #vorher, sonst kein homedir bei 1st login session sufficient pam_krb5.so # Wichtig fuer gdm session required pam_unix.so }}} ''use_first_pass'' bei '''common_auth''' bedeutet, dass auch für die zweite Authentifizierungsmethode dasselbe Passwort wie für die erste benutzt wird. ''pam_mkhomedir.so'' in '''common-session''' bewirkt, dass das Homeverzeichnis eines Benutzers, wenn es denn noch nicht existiert, angelegt wird. = /home, sweet /home = Am einfachsten werden mit '''libpam-mount''' die [:Homeverzeichnis:Homeverzeichnisse] via SMB unter '''$HOME/Dokumente''' eingebunden, weil SMB keine Links, Sockets, etc. kann und somit nicht direkt als '''$HOME''' dienen kann. Naheliegender ist jedoch folgendes: der NFS-Server aus den MS Services for Unix 3.5. Bei Ordnereigenschaften hat man einen Reiter mehr für NFS-Freigaben. Dort muss man den Ordner freigeben und die erlaubten Maschinen deklarieren. Danach kann die Freigabe eingebunden werden und man kann Homeverzeichnisse automatisch anlegen lassen, wenn auf Windowsseite ''allow Root-Access'' gesetzt ist. Der Eintrag in '''/etc/fstab''' ist wie folgt [4]: {{{fileserver.w2k3domaene.de:/users /home nfs auto,rw,soft,udp,nolock,rsize=32768,wsize=32768 0 0 }}} {{{#!vorlage Hinweis Wenn für den NFS-Server die Windowseigene Rechtevererbung eingeschaltet ist (was ich aus administrativen Zwecken will), werden alle Dateien mit x-Flag angelegt. Ich hab da noch keine Abhilfe gefunden. }}} # tag: Netzwerk, Server