Universität Bielefeld Linux Konfiguration im HRZ AD-Umfeld Universität Bielefeld

Universität |  International |  Benutzer | 
 Sie befinden sich hier:
 · Universität Bielefeld
   · Hochschulrechenzentrum
     · PC - Services des HRZ der UniBi
 
Account freischalten
Allgemeines
Netze
Internet
PC-Services
Storage &  Backup
Security


Beratung/
   Dispatching

Benutzer-
    verwaltung


Raumplan
Kontakt

Index A - Z

 

Linux-WS-Konfiguration im HRZ AD-Umfeld
V0.9 2.6.06/Re

AD-basierte Userresourcen wie AD-Userid, AD-(Home-)Verzeichnissen, und AD-Netzdrucker  können problemlos auch von Linux Workstations genutzt werden.
Directories und Drucker können via SAMBA (nötigenfalls nachinstallieren) eingebunden  werden.
Die Beispiele im Folgenden beziehen sich i.d.R. auf  die SUSE-Linux Distributionen. Analoge Kommandos/Möglichkeiten stehen aber in in anderen Distributionen auch zur Verfügung.
AD basierte Dienste sind generell nur nutzbar im LAN der Unibi bzw. nach Einwahl via VPN-Client.


  • Einbindung von AD-Verzeichnissen unter Linux
    Via Samba können nur "echte" Windows-Shares in Linux "gemountet" werden, keine Unterverzeichnisse derselben. Auf dem HRZ FS-Home Filer sind aber nur \\fs-home\home bzw. \\fs-home\shared_<einr> "echte Shares"!
    Beispiele:
    • AD-Homedir mounten
      mkdir /mnt/fs-home   #Mountpoint erstellen
      mount -t cifs //fs-home.uni-bielefeld.de/home /mnt/fs-home -o user=<AD-userid>,domain=AD
      oder
      mount -t smbfs //fs-home.uni-bielefeld.de/home /mnt/fs-home -o user=<AD-userid>,workgroup=AD

      Das zugehörige AD-Passwort wird dann via Prompt nachgefordert.
      Das mount-Kommando ist  per Default non-root Usern nicht erlaubt (änderbar via setuid, das hat aber Sicherheits-Implikationen).
       
    • AD-Einrichtungsbereich mounten
      mkdir /mnt/shared_<einr> #Mountpoint erstellen
      mount -t cifs //fs-home.uni-bielefeld.de/shared_<einr>  /mnt/shared_<einr> -o user=<AD-userid>,domain=AD

      Da AD-User keine AD-Rechte auf \\fshome\home haben, ist auch Linux-lokal ein "dir /mnt/fs-home" nicht möglich, nur ein "dir /mnt/fs-home/<AD-userid>. Analoges gilt natürlich für /mnt/shared_<einr>, abhängig von den Rechten von <AD-userid> darauf.
      Dies ist zugegeben etwas umständlich. Deshalb ist es empfehlenswert z.Bsp. via
      mkdir /home/<AD-userid>/P
      mount --bind /mnt/fs-home/<AD-userid> /home/<AD-userid>/P
      das AD-homedir als Unterverzeichnis /P ins Linux-Homedir zu mounten.
      Analog kann man mit anderen (Unter)verzeichnissen, auf die <AD-userid> AD-Rechte hat, verfahren.

      Diese mount-Kommandos sind leider nicht permanent, werden also nicht (wie Netzlaufwerkverbindungen in Windows) gespeichert und nach Reboot reetabliert.
      Dies zu erreichen gibts jetzt z.Bsp die folgenden Möglichkeiten:
      - in ein persönliches Loginscript einbauen oder
      - Automount via /etc/fstab mit Hinterlegung der Windows-Credentials  oder
      - Einbindung der Linux-WS ins AD und Mounten von AD-Shares im Login-Prozess via PAM-Module.
       
    • Die Linux-Konfiguration zur Authentifizierung gegen AD ist leider relativ diffizil,  fehlerträchtig und zum Überfluss auch distributionsspezifisch.
      Out of the Box wird diese Variante nur von SUSE ab V10.1 unterstützt.

       


     

  • Einbindung von HRZ AD-Netzdrucker in Linux
    AD-basierte HRZ-Netzdrucker können problemlos auch von Linux (oder anderen PC-Unix-Varianten)  aus genutzt werden.
    Softwaretechnische Vs. dazu ist die Installation von Samba und CUPS unter Linux.
    -
    Ob die Verbindung zum HRZ-Printserver funktioniert, kann z.Bsp. über das Kommando
    "smbclient -L hrz-pserv.uni-bielefeld.de [-U <AD-Userid>]" getestet werden.Dies sollte dann einige HRZ-Pserv-Info und Druckerbeschreibungen ausgeben.
    -Die Einrichtung von Linux-Netz-Druckern geschieht am einfachsten via YAST Hardware/Printer/Other , Typ SMB (oder auch via "Printing Manager" im Administrator-Mode!)
    Dabei angeben: (getestet auf PC unter SUSE LINUX 9.3  ohne PC-AD-Konto)
    Workgroup: ad
    HostName/Server : hrz-pserv.ad.uni-bielefeld.de
    Remote Queue/Printer: <remote druckerbez.>, Z.Bsp. HRZ_HP_LASER
    User,Passwort : <HRZ-AD-Userid und Passwort>. Zur Userid muss natürlich ein gleichnamiges HRZ Druckkonto existieren.
    Danach sollte die Remote-Drucker-Verbindung erfolgreich testbar sein.
    (Das Scannen nach Printern/Queues funktioniert offenbar nicht.)
    Abschließend ist noch der Postscript-Druckertreiber (PPD-Datei) zu konfigurieren. Dazu muss natürlich der Druckertyp bekannt sein.
    Die Konfiguration wird dann in /etc/cups/printers.conf eingetragen.

     

  • Einbindung von SUSE V10.1 Linux-WS ins AD der Unibi
    via Samba/Winbind/Kerberos .
    -Linux- Workstationnamen
    wählen gemäß HRZ-AD-Namenskonventionen, also z.Bsp. UHRZ-LXyyyyy und ein enstpr. Computerobjekt in der einrichtungsspez. Computers-OU (vor)erzeugen.
    -Suse V10.1 normal von CD (oder via Netz) installieren, als Desktop KDE wählen (Gnome nicht getestet).
    -Nach Installation der Software Hostname wie im AD vorerzeugt konfigurieren. Wichtig: Dabei "Change Hostname via DHCP" Option deaktivieren.
    -als "authentication method" "Windows Domain" angeben und als Domain "AD.uni-bielefeld.de".
    -Zusätzlich "create homedir at login" konfigurieren (realisiert via pam-mkhomedir") und je nach Bedarf "offline authentication" (realisiert via pam_ccreds, cached credentials, ermöglicht AD-login ohne Netzanbindung für Notebooks)  und/oder "homedir sharing".
    Es werden dann automatisch die samba-winbind- und krb5-client-Komponenten nachinstalliert und als Services (aut. Startup) etabliert.
    -Die Linux-WS wird mit dem vorerzeugten AD-Computerkonto verbunden. Dafür wird (wie für Windows PCs) eine entspr. berechtigte AD-userid angefordert.
    -Vor dem Reboot noch /etc/samba/smb.conf anpassen:
    idmap gid = 10000-50000 
    idmap uid = 10000-50000
    Die voreingestellten 10000er Intervalle sind zu klein, da das HRZ-AD bereits mehr als 20000 Userids enthält.
    -Via Yast/Network-Services das NTP-Protokoll (Netz-Zeit) konfigurieren. Als NTP-Server kann im Unibi-LAN immer das WS-Subnet-Gateway (meistens 129.70.x.1) angegeben werden. Dies ist notwendig, weil für das problemlose Funktionieren von Kerberos/Winbind die Zeit zwischen Linux-WS und AS-Domaincontrollern möglichst synchron sein sollte.

    -Nach dem Reboot sollte dann im X-Loginscreen bereits das AD-Login (neben <local>) selektierbar sein. Ein Login mit AD-userids wird aber mit der bisherigen Konfiguration nur für GUI-Logins (nicht Console-logins und auch nicht su) unterstützt.
    -Für AD-userids wird dann früh im Loginvorgang automatisch eine lokales Homedir unter /home/AD erzeugt. Das AD-Homedir wird leider (noch) nicht automatisch gemountet.

    -Zur Problemerkennung/Behebung sind die boot-, kdm- und warnings-Protokolldateien in /var/log ggf. hilfreich.
     
  • (Nach)Konfiguration des automatischen AD-Homedir Mount und "Freischaltung" von "su <AD-Userid>".
    Um jetzt AD-Fileserver-Dirs automatisch in Linux zu mounten ist leider auch unter SUSE 10.1 noch einige (manuelle) Nacharbeit erforderlich:

    -Via Yast/Software Management "pam_mount" und pam_mount_debug.." nachinstallieren.

    -Die (dann existierende) Datei /etc/security/pam_mount.conf am Ende um entsprechende. Mount-Befehle erweitern:
    z.Bsp. die Zeilen:
    #Diese Zeile mountet den gesamten Subtree //fs-home/home unter /home/AD/fs-home
    #Das eigene AD-Homedir ist dann zugreifbar unter /home/AD/fs-home/<AD-userid>
    volume * cifs fs-home.uni-bielefeld.de home /home/AD/fs-home uid=&,gid=users,dir_mode=0700,file_mode=0700 - -
    #(Zusätzlich) das eigene AD-Homedir als Subdir /P des lokalen Homedirs mounten
    volume * local - /home/AD/fs-home/&  ~/P bind  - -

    -Diese beiden Zeilen entspr. den obigen mount-Beispielen.
    Die zweite funktioniert aber erst dann (nach Reboot oder Samba-Restart), wenn in /etc/samba/smb.conf die zusätzliche Zeile
    [global]
    winbind default domain = yes 
    eingefügt wird.
    -Außerdem ist (ab jetzt) im GUI-Loginscreen immer "local" (statt AD) als userid-Quelle einzustellen. Jede eingegebene Userid wird dann erstmal im AD gesucht und vor allem ist in pam_mount die userid-variable "&" dann mit der "reinen" Userid statt AD\Userid besetzt.
    -Mit dieser letzten Änderung funktioniert dann auch endlich Console-Logins und "su <AD-userid>" in Terminalsessions inkl. AD-homedir-Mount. Allerdings (aus mir noch unklaren Gründen) mit doppelter Passwortanforderung!
    -Der am Sessionende aut. von pam_mount durchgeführte "umount" klappt leider (noch) nicht.

    -Zwei PAM-Konfigfiles in /etc/pam.d um pam_mount Aufrufe ergänzen:
    common-session:
    "session optional pam_mount.so" Zeile einfügen hinter der "pam_mkhomedir"-Zeile.
    common-auth:
    auth required pam_mount.so
    auth required pam_env.so
    auth required pam_unix2.so use_first_pass

     
  • Einbindung von SUSE V9.x/10.0 Linux-WS ins AD der Unibi
    via Samba/Winbind/Kerberos .
    Empehlenswert nur für erfahrene Linux-User; analoge  Modifikationen für andere Linuxdistributionen.

    Es muss leider etliche Software zusätzlich installiert und konfiguriert werden.
    Lohnt sich deshalb wohl nur für Linux-WS mit vielen, wechselnden Benutzern.

    -Via Yast/Softwaremanagement nachinstallieren:
    kerberos, winbind/samba-client, pam_mount, pam_mkhomedir
    Die Paketnamen dafür variieren leider je nach Linux-Version.
    In V9.3 wäre z.Bsp. auch möglich erst "apt-get" zu installieren und dann den Rest via "apt-get install krb5-user libpam-krb5  winbind samba smbfs smbclient pam_mount".

    -Via YAST/System/System Services den Dienst nscd (Name Service Cache Damon) deaktivieren.
     
    -Via Yast "Hostnamen" fest konfigurieren gemaess HRZ-AD-Namenskonvention auf z.Bsp. UHRZ-SUse... (via Yast/Network Services/DNS and Hostname); Häkchen bei "Change Hostname via DHCP" entfernen!

    -Via Yast NTP-Protokoll konfigurieren
    (Details siehe oben unter Hinweisen zu 10.1)

    -Kerberos konfigurieren via /etc/krb5.conf
    [libdefaults]
      default_realm = AD.UNI-BIELEFELD.DE
    [realms]
      AD.UNI-BIELEFELD.DE = {
            kdc = ad1.ad.uni-bielefeld.de
            admin_server = ad1.ad.uni-bielefeld.de
            default_domain = ad.uni-bielefeld.de
    [domain_realm]
    .ad.uni-bielefeld.de = AD.UNI-BIELEFELD.DE
    ad.uni-bielefeld.de = AD.UNI-BIELEFELD.DE
     .....
    Testen via Kommando "kinit <AD-Userid>" ob Kerberos-Ticket von AD-Domain ok.
    Es sollte nur das Passwort angefordert werden uns sonst keine (Fehler-)Rückmeldung erfolgen. Anschließend mit "klist" kontrollieren.
    Die WS DNS-Konfiguration muss natürlich die benötigte Namenauflösung unterstützen. Dies ist bei Konfiguration auf HRZ-DHCP-Server gewährleistet.

    --PC zum AD-Member machen via "net ads join -U <AD-admin-userid>". PC-Computer-Konto vorher im AD in passender Einrichtungs-OU erzeugen.

    -Samba konfigurieren via /etc/samba/smb.conf :
    Unter [global] muss u.a. Folgendes stehen:
        
       workgroup = AD
       security = ADS
       realm = AD.UNI-BIELEFELD.DE
       winbind use default domain = yes    
       winbind enum users = yes
       winbind enum groups = yes
       template homedir = /home/%D/%U
       template shell = /bin/bash
       idmap gid = 10000-50000
       idmap uid = 10000-50000

    Nach jeder Änderung von samba.conf:
    /etc/init.d/winbind stop , ../smb restart, ../winbind start
    ausführen.

    -Automatischen Start des Samba- und Winbind-Service bei Systemstart konfigurieren; Z.Bsp. via "chkconfig smb on" und entspr. für "winbind".
    Samba/Winbind testen via "wbinfo -u" oder "... -g " ; evtl mehrmals; dauert offenbar bis alle AD-Userids eingelesen/gecacht, bis dahin evtl. (je nach Samba Version) Errors (User unbekannt etc).

    -Authentication Setup:
    - /etc/nsswitch.conf passwd/group/shadow-Zeilen erweitern um "winbind":
    z.Bsp. "passwd:    files   winbind"
    Testen via "getent passwd" und "getent group" (liefert evtl. bei winbind enum users=no in smb.conf nur lokale Info!)

    -Pam-files common-account, common-auth, common-session in /etc/pam.d/ anpassen um Zeilen "xxxx sufficient pam_winbind.so , pam_mount und pam_mkhomedir
    common-auth:
    auth required pam_env.so
    auth sufficient pam_winbind.so 
    # pam_winbind bewirkt Loginprompt. 
    auth required pam_unix2.so use_first_pass 
    # pam_unix2 nutzt die Logindaten von pam_winbind

    common-session:
    session required pam_mkhomedir.so skel=/etc/skel/ umask=0077
    session optional pam_mount.so   #  mounten darf scheitern, sonst "required" setzen 
    sesion  sufficient pam_winbind.so
    session required pam_unix2.so
    ....
    common-account:
    account sufficient pam_winbind.so
    account required pam_unix2.so 

    -via pam-mount Mounten des AD/Fs-home User-homedirs konfigurieren über /etc/security/pam_mount.conf. Details dazu siehe oben unter SUSE 10.1 Hinweisen.
    Mountpoints sollten zu "template homedir"-Angabe in smb.conf passen!

    -Authentication bei "SU <AD-Userid>" in Console-Session sollte jetzt klappen inkl. Mounten des AD-Userhomedirs!

    -Authent. im Graphical Login-Screen (Konfig via file etc/pam.d/gdm) klappt auch. Allerdings hierfür wichtig, dass smb/winbind-service
    autom. bei Startup aktiviert werden, sonst kann die Namenauflösung natürlich nicht klappen.   
     

H.Reihs/HRZ 6.06
 
Zum Seitenanfang