IVV Naturwissenschaften IV der Fachbereiche Biologie Chemie Physik Linux in NWZnet Westfälische Wilhelms-Universität Münster Einführung für Administratoren im WS Einbindung von Linux-Rechnern in die Benutzerverwaltung und Nutzung von zentralen Ressourcen 13-JAN-2005 Heinz-Hermann Adam (adamh@nwz.uni-muenster.de) 1 Ausblick auf die Veranstaltungsreihe Termin 11-NOV-2004 18-NOV-2004 25-NOV-2004 02-DEC-2004 09-DEC-2004 16-DEC-2004 13-JAN-2005 20-JAN-2005 27-JAN-2005 Thema IVV Naturwissenschaften und NWZnet Überblick und Konzepte (nicht nur für Windows-Administratoren) Arbeitsgruppenadministration mit NWZnet Organizational Units (OUs) und Group Policy Objects (GPOs) Installation von NWZnet Windows-Clients Erzeugen und Verteilen von Referenzinstallationen mit SysPrep- Images und Symantec Ghost Serverbasierte Installation von Software mit VMware und Admin Studio Installation und Konfiguration von Windows Servern Linux in NWZnet Benutzung von tragbaren Computern unter Windows in NWZnet Sicherheit bei NWZnet-Rechnern 2 www.uni-muenster.de/ivvnwz 1
Agenda Einführung Linux-Authentifizierung Pluggable Authentication Modules Name Service Switch NWZnet-Benutzerverwaltung: Active Directory Schemaerweiterung Installation und Konfiguration NSS- und PAM-Module SaMBa-Client-Tools ZIV Unix-Benutzerverwaltung: DCE/DFS Installation und Konfiguration NSS- und PAM-Module NFS-Mount Zusammenfassung 3 IVV 4 und ZIV: Betriebssysteme und Benutzerverwaltung Zentrale Benutzerdatenbank des ZIV versorgt Benutzerverwaltungen DCE AIX Linux Windows-Domänen NWZnet (Active Directory) OpenVMS Windows Linux Tru64 UNIX 5.x Mac OS X IVV 4 Z I V NWZnet.uni-muenster.de Zentrale uni-muenster.de Benutzerdatenbank DCE wwu 5 www.uni-muenster.de/ivvnwz 2
Integration weiterer Betriebssysteme Einheitlicher Zugang (Single sign-on) auf: Windows OpenVMS (Pathworks + EXTAUTH) Tru64 UNIX (SSO, LDAP, Kerberos) Linux (PAM, NSS, LDAP, Kerberos) Mac OS X (Netinfo, LDAP, SSL, Kerberos) Who s next? Nutzung zentraler Ressourcen auch durch diese Systeme 6 Ressourcen für Nicht- Windows-Clients Server Message Block/Common Internet File System-Shares werden von Windows und Pathworks bereitgestellt Clients hierfür sind auf den anderen Plattformen vorhanden Tru64 Unix: Samba, Sharity Linux: Samba, Sharity Mac OS: Samba, Dave Zusätzlich sind auf Windows Server die Services for Macintosh (SFM) verfügbar www.decus.de/slides/sy2000/vortraege_2903/2n04.pdf 7 www.uni-muenster.de/ivvnwz 3
Linux-Authentifizierung Verwendet Pluggable Authentication Modules Gegen interne und externe Quellen (flat files, NIS, Kerberos ) Benutzer-Informationen per Name Service Switch login Local Authentication PAM /etc/passwd NSS Linux-Account External Authentication ebenfalls aus internen wie externen Quellen Unix spezifische Informationen Host Mapping 8 PAM-Architektur ftp login ssh Dienste auth session account password PAM-Interface (module-type) Modules 9 www.uni-muenster.de/ivvnwz 4
PAM-Architektur PAM-Interfaces (module types) auth (Authentifizierung) session (Setup & Logging) account (Login-Policies) password (Passwortregeln) Mehrere verschiedene Module können pro Interface nacheinander abgearbeitet werden (Stack) PAM-Control flags requisite (notwendig, Stack bricht bei Fehlschlag ab) required (notwendig, Stack wird auch bei Fehlschlag abgearbeitet) sufficient (hinreichend, weitere Module werden ignoriert) optional (trägt zum Fehlschlag eines Stacks nicht bei) Erfolg oder Scheitern des Stacks wird nach Abarbeitung der Module entschieden 10 Name Service Switch Unix Applikation look-up ❶ user info return ❺user info 1. 2. C Library query 3. ❹ sources /lib/libnss_quelle_1.so /lib/libnss_quelle_2.so /lib/libnss_quelle_3.so look-up ❷ info sources return ❸ sequence of sources Name Service Switch /etc/nsswitch.conf service: Quelle_1 Quelle_2 Quelle_3 11 www.uni-muenster.de/ivvnwz 5
Name Service Switch Erlaubt es Systeminformationen z.b. user und group Informationen aus verschiedenen Quellen zu beziehen 1. Quelle 2. Quelle 3. Quelle User /etc/passwd NIS-Server LDAP Groups /etc/group NIS-Server LDAP 12 NWZnet: Active Directory X.500-basierter Verzeichnisdienst Erweiterbares Schema, d.h. Objekt kann um beliebige Attribute erweitert werden oder neue Objekte können kreiert werden Zugriff über Light-weight Directory Access Protocol (plattformunabhängig) Authentifizierung über Kerberos (plattformunabhängig) 13 www.uni-muenster.de/ivvnwz 6
Schemaerweiterung - Unix Tru64 UNIX V5 Associated Products Volume 2 Windows2000_SSO\windows_kit\setup.exe Erweitert das Schema basierend auf Microsoft Services for Unix (mssfu) Erweitert das Active Directory Users and Computer Interface (nur SSO 2.0, ab T64 V5.1A) 14 Schemaerweiterung Unix user Benutzeraccount gecos : User comment gidnumber : Gid loginshell : Shell mssfuhomedirectory : Home directory uid : Username uidnumber : Uid 16 www.uni-muenster.de/ivvnwz 7
Schemaerweiterung Unix groups Benutzergruppe gidnumber : Gid memberuid : Group members (obsolete) Nur für ältere nss_ldap Versionen mssfuname : Groupname 18 Implementation in NWZnet Name Service (passwd, group) LDAP V3 mit SSL-Verschlüsselung Authentifizierung Kerberos V5 Homedirectories SaMBa-Client Tools Alternativen Lokal/NFS IBM DCE/DFS 19 www.uni-muenster.de/ivvnwz 8
Installation zusätzlicher Pakete Authentifizierung pam_krb5 (SuSE 9.1/9.2 included) Name Service nss_ldap (SuSE 9.1/9.2 included) Einbindung von Ressourcen pam_mount (SuSE 9.1/9.2 included) Korn Shell pdksh (SuSE 9.1/9.2 included) Demo 20 NSS Konfiguration In /etc/nsswitch.conf wird die Liste der Name Service Quellen definiert NWZnet benutzt LDAP V3 SuSE passwd: compat ldap groups: compat ldap Vorlage unter <NWZnet_info> \NWZnet\Linux\configfiles\nsswitch.conf_ldap 21 www.uni-muenster.de/ivvnwz 9
LDAP Konfiguration In /etc/ldap.conf wird die LDAP Anbindung konfiguriert NWZnet-Konfiguration host wbio04 wchem2 wnwz03 ssl on base dc=nwznet,dc=uni-muenster,dc=de [ ] scope sub pam_filter objectclass=user pam_login_attribute samaccountname pam_password ad Vorlage unter <NWZnet_info> \NWZnet\Linux\configfiles\ldap.conf 22 Einschub: LDAP Syntax de dc=de dc=de dc=uni-muenster,dc=de dc=uni-muenster uni-muenster NWZnet dc=nwznet,dc=uni-muenster,dc=de dc=nwznet Domain Members Physik ou=domain Members,dc=NWZnet,dc=uni-muenster,dc=de ou=domain ou=physik,ou=domain Members,dc=NWZnet,dc=uni-muenster,dc=de ou=physik ou=festkoepertheorie,ou=physik,ou=domain Members,dc=NWZnet,dc=uni-muenster,dc=de Festkoerpertheorie ou=ag_zierau,ou=festkoepertheorie,ou=physik,ou=domain Members,dc=NWZnet,dc=uni-muenster,dc=de ou=ag_zierau AG_Zierau p0zierau adamh ou=festkoepertheorie cn=p0zierau cn=p0zierau,ou=ag_zierau,ou=festkoepertheorie,ou=physik,ou=domain Members,dc=NWZnet,dc=uni-muenster,dc=de cn=adamh cn=adamh,ou=ag_zierau,ou=festkoepertheorie,ou=physik,ou=domain Members,dc=NWZnet,dc=uni-muenster,dc=de Dies sollte kein Sehtest werden! 23 www.uni-muenster.de/ivvnwz 10
LDAP Konfiguration NWZnet-Konfiguration (fortgesetzt) nss_base_passwd ou=domain Members,dc=nwznet,dc=uni-muenster,dc=de?sub nss_base_shadow ou=domain Members,dc=nwznet,dc=uni-muenster,dc=de?sub nss_map_objectclass posixaccount User nss_map_objectclass shadowaccount User nss_map_attribute uid samaccountname nss_map_attribute uniquemember member nss_map_attribute homedirectory mssfuhomedirectory nss_map_objectclass posixgroup Group nss_map_attribute cn samaccountname Vorlage unter <NWZnet_info> \NWZnet\Linux\configfiles\ldap.conf 25 LDAP Anbindung überprüfen # getent passwd muss zusätzlich zu den lokalen auch Benutzer aus dem Active Directory liefern: root:x:0:0:root:/root:/bin/bash [ ] ntp:x:74:65534:ntp daemon:/var/lib/ntp:/bin/false [ ] hhadam:x:124540:635:heinz-hermann Adam:/dfs/u/h/hhadam:/bin/bash xadamh:x:124496:635:heinz-hermann Adam:/dfs/u/x/xadamh:/bin/ksh adamh:x:9089:635:heinz-hermann Adam:/dfs/u/a/adamh:/bin/bash [ ] 26 www.uni-muenster.de/ivvnwz 11
PAM Konfiguration Standard-Linux Für jeden Dienst befindet sich in /etc/pam.d eine Konfigurationsdatei mit dessen Namen, deren Inhalt bestimmt wie eine Authentifizierung durchgeführt wird. # ls /etc/pam.d su rlogin other xdm ssh rexec login... 27 PAM Konfiguration SuSE Alle Dienste können an einer Stelle konfiguriert werden. Generisches PAM pam_unix2.so in jedem Stack, das verschiedene Authentifizierungsdienste benutzen kann (/etc/passwd, NIS, LDAP, Kerberos) Wird über /etc/security/pam_unix2.conf konfiguriert NWZnet benutzt Kerberos V5: auth: use_krb5 nullok account: use_krb5 password: use_krb5 nullok session: none Vorlage unter <NWZnet_info> \NWZnet\Linux\configfiles\pam_unix2.conf 28 www.uni-muenster.de/ivvnwz 12
Kerberos Konfiguration In /etc/krb5.conf wird die Kerberos-Anbindung konfiguriert [libdefaults] default_realm = NWZNET.UNI-MUENSTER.DE default_tgs_enctypes = des3-hmac-sha1 des-cbc-crc default_tkt_enctypes = des3-hmac-sha1 des-cbc-crc dns_lookup_kdc = true clockskew = 300 [realms] NWZNET.UNI-MUENSTER.DE = { kdc = wbio04.nwznet.uni-muenster.de default_domain = NWZnet.uni-muenster.de kpasswd_server = wbio04.nwznet.uni-muenster.de } [domain_realm].nwznet.uni-muenster.de = NWZNET.UNI-MUENSTER.DE Vorlage unter <NWZnet_info> \NWZnet\Linux\configfiles\krb5.conf_<Rel.> 29 NTP Konfiguration Zeitsynchronisation per NTP aktivieren Yast2 Network Services NTP Client 30 www.uni-muenster.de/ivvnwz 13
Homedirectories via SaMBa Müssen beim Login verfügbar sein pam_mount Modul Für jeden Benutzer ein eigener Mount Session-Security im SMB/CIFS Zwei mögliche Filesysteme Smbfs cifs 31 Pam_mount Konfiguration für smbfs In /etc/security/pam_mount.conf wird das automatische Mounten beim Login konfiguriert NWZnet-Pilot (nicht produktionsreif!) debug 0 mkmountpoint 1 [ ] umount /bin/umount l [ ] volume * smb nwz & ~ uid=&,gid=&,dmask=0700,fmask=0600,wor kgroup=nwznet - - Vorlage unter <NWZnet_info> \NWZnet\Linux\configfiles\pam_mount.conf_smbfs 32 www.uni-muenster.de/ivvnwz 14
Verwendung von CIFS statt SMBFS Flag beim mounten von Netzwerk-Dateisystem Statt mount t smbfs mount t cifs Zur Verwendung von pam_mount Logischer Link /sbin/mount.smbfs -> /usr/bin/smbmount Ändern in /sbin/mount.smbfs -> /sbin/mount.cifs ln sf /sbin/mount.cifs /sbin/mount.smbfs 33 Pam_mount Konfiguration für cifs In /etc/security/pam_mount.conf wird das automatische Mounten beim Login konfiguriert NWZnet-Pilot (nicht produktionsreif!) debug 0 mkmountpoint 1 [ ] umount /bin/umount l [ ] volume * smb nwz & ~ uid=&,gid=&,dir_mode=0700,file_mode=0 600,domain=NWZNET - - Vorlage unter <NWZnet_info> \NWZnet\Linux\configfiles\pam_mount.conf_cifs 34 www.uni-muenster.de/ivvnwz 15
Pam_mount Konfiguration Erzeugen der Dfs-Struktur im lokalen Filesystem make_dfs.sh #!/bin/sh for i in a b c d e f g h i j k l m n o p q r s t u v w x y z do mkdir -p /dfs/u/$i chmod g+w /dfs/u/$i done Vorlage unter <NWZnet_info> \NWZnet\Linux\Scripts\make_dfs.sh 35 Pam_mount Konfiguration Einbauen des pam_mount.so in den PAM-Stack, z.b. /etc/pam.d/sshd #%PAM-1.0 auth required pam_unix2.so # set_secrpc auth required pam_nologin.so auth required pam_env.so auth optional pam_mount.so use_first_pass [ ] session required or debug pam_unix2.so none # trace session required pam_limits.so session optional pam_mount.so [ ] Vorlage unter <NWZnet_info> \NWZnet\Linux\configfiles\sshd 36 www.uni-muenster.de/ivvnwz 16
Pam_mount Konfiguration Einbauen des pam_mount.so in den PAM-Stack, z.b. /etc/pam.d/login #%PAM-1.0 auth requisite pam_unix2.so nullok #set_secrpc auth required pam_securetty.so auth required pam_nologin.so #auth required pam_homecheck.so auth required pam_env.so auth required pam_mail.so auth optional pam_mount.so use_first_pass [ ] session required pam_unix2.so none # debug or trace session required pam_limits.so session required pam_resmgr.so session optional pam_mount.so Vorlage unter <NWZnet_info> \NWZnet\Linux\configfiles\login 37 Pam_mount Konfiguration Einbauen des pam_mount.so in den PAM-Stack, z.b. für KDE-Login /etc/pam.d/xdm #%PAM-1.0 auth required pam_unix2.so nullok#set_secrpc auth optional pam_mount.so use_first_pass [ ] session required pam_unix2.so debug # trace or none session required pam_devperm.so session required pam_resmgr.so session optional pam_mount.so Vorlage unter <NWZnet_info> \NWZnet\Linux\configfiles\xdm 38 www.uni-muenster.de/ivvnwz 17
KDE-Konfiguration /etc/profile.local export ICEAUTHORITY=/tmp/.$USER- ICEauthority-$HOSTNAME export DCOPAUTHORITY=/tmp/.$USER- DCOPserver-$HOSTNAME'_'on_$DISPLAY /etc/pam.d/xdm auth optional pam_mount.so use_first_pass session optional pam_mount.so Broken in SuSE 9.2/KDE 3.3 Vorlage unter <NWZnet_info> \NWZnet\Linux\configfiles 39 Homedirectories via SaMBa Beschränkungen Smbfs unterstützt keine hohen UIDs stattdessen CIFS einsetzen Almost completely broken in 9.2 Durch CIFS ersetzen Unterstützt kein Windows Dfs neue Shares, 1 für jeden der ca. 5000 Benutzer Pam_mount Kein Login via ssh möglich Further investigation necessary Stattdessen telnet benutzen 40 www.uni-muenster.de/ivvnwz 18
Homedirectories via SaMBa Beschränkungen Unterstützt keine Special Files, z.b. Sockets und seltsame Zeichen in Dateiname, z.b. : Umleiten von KDE-/GNOME-Files nach /tmp Derzeit SaMBa 3.0 als Fileserver notwendig Advanced Server/Pathworks als Fileserver nicht benutzbar Work-around finden Ersetzen durch Linux/SaMBa Windows Storage Server 2003 (noch zu testen) 41 Eigene Homedirectories Lokal oder per NFS make_home.sh #!/bin/sh mkdir -p /dfs/u for i in a b c d e f g h i j k l m n o p q r s t u v w x y z do ln -s /home /dfs/u/$i done Shell-Skripte unter <NWZnet_info> \NWZnet\Linux\Scripts 42 www.uni-muenster.de/ivvnwz 19
Eigene Homedirectories Für jeden Benutzer unter /home ein Verzeichnis mit dessen Benutzernamen anlegen und Besitzer und Zugriffsrechte anpassen Z.B. # mkdir p /home/adamh # chown adamh:p0zierau /home/adamh # chmod 700 /home/adamh /home per NFS von (zu) anderen Rechnern im(ex)portieren 43 Eigene Homedirectories Beschränkungen CIP-Pool Lokale Homedirectories unbrauchbar NFS (= No File Security?) zur Einbindung von Arbeitsplätzen ungeeignet Arbeitsgruppen Eigener Unix-Fileserver nötig Zusätzlicher Administrationsaufwand Ziel verfehlt 44 www.uni-muenster.de/ivvnwz 20
NWZnet: Active Directory Offene Fragen und Probleme Einbindung der zentralen Homedirectories Pathworks-Workaround oder Alternative CIFS Passwortänderung und -synchronisation Linux Kerberos und Microsoft Kerberos kompatibel machen Automatischer Passwortabgleich zwischen DCE und Active Directory (Modell RZ Uni Augsburg) Kein Support durch das ZIV, da DCE 2006 ausläuft 45 ZIV Unix: DCE/DFS Distributed Computing Environment IBM Entwicklung DCE-Zelle: Pendant zum Active Directory Basiert auf Kerberos Stellt Authentifizierung und Benutzerinformationen zur Verfügung Distributed File System Weiterentwicklung des Andrew File System der Carnegie Melon University Sicheres Filesystem für verteilte, vernetzte Rechner Stellt Dateidienste (z.b. Homeverzeichnis) über NFS-Gateway zur Verfügung 46 www.uni-muenster.de/ivvnwz 21
ZIV Unix: DCE/DFS Linux-Client Open Source Entwicklung von Dr. Markus Zahn, Rechenzentrum der Universität Augsburg Besteht aus drei Komponenten Client-seitig Name Service Switch Objekt Pluggable Authentication Module Digitales Zertifikat wird benötigt (SSL) Server-seitig NFS-DFS-Gateway Erfordert Registrierung jedes Clients 47 Installation zusätzlicher Pakete Korn Shell pdksh (SuSE 9.1/9.2 included) Demo 48 www.uni-muenster.de/ivvnwz 22
Registrierung des Linux- Rechners beim ZIV Formlos, z.b. per Email bei Jürgen Hölters (holters@uni-muenster.de) Notwendige Information: Hostname des Linuxsystems # hostname VMTP404 Oder besser fully qualified domain name # hostname --fqdn VMTP404.uni-muenster.de 49 Installation zusätzlicher Libraries und Zertifikate Name Service Switch /lib/libnss_dce.so.2 Plugable Authentication Module /lib/security/pam_dce.so /etc/security/pam_dce.pem /etc/security/pam_dce/ca.pem Libraries unter <NWZnet_info>\NWZnet\Linux\dfs\SuSE\<Rel.> Zertifikate unter <NWZnet_info>\NWZnet\Linux\configfiles 50 www.uni-muenster.de/ivvnwz 23
NSS Konfiguration In /etc/nsswitch.conf wird die Liste der Name Service Quellen definiert DCE hat eine eigene NSS-Library (libnss_dce.so.2) SuSE passwd: compat dce groups: compat dce In /etc/nss_dce.conf wird der DCE-Server konfiguriert, der NSS mit den Informationen versorgt server = samba1.uni-muenster.de port = 904 Vorlagen unter <NWZnet_info> \NWZnet\Linux\configfiles 51 PAM Konfiguration In /etc/security/pam_dce.conf wird die Verbindung zum Authentifizierungs-Server definiert server = samba1.uni-muenster.de port = 902 cafile = /etc/security/pam_dce/ca.pem certfile = /etc/security/pam_dce.pem Weitergehende Zugriffsfilter Auf Gruppen, z.b. groups = p0zierau,p0santo Auf Benutzer, z.b. users = adamh,xadamh,hhadam Vorlage unter <NWZnet_info> \NWZnet\Linux\configfiles\pam_dce.conf 52 www.uni-muenster.de/ivvnwz 24
PAM Konfiguration Standard-Linux Für jeden Dienst befindet sich in /etc/pam.d eine Konfigurationsdatei mit dessen Namen, deren Inhalt bestimmt wie eine Authentifizierung durchgeführt wird. # ls /etc/pam.d su rlogin other xdm ssh rexec login... Einbauen des pam_dce.so in den PAM-Stack, z.b. /etc/pam.d/sshd #%PAM-1.0 auth required pam_nologin.so auth required pam_env.so auth required pam_unix2.so auth required pam_dce.so account required pam_unix2.so [ ] Vorlagen unter <NWZnet_info> \NWZnet\Linux\configfiles\pam.d 53 Einbindung des DFS (Homeverzeichnisse) Mount point anlegen # mkdir /dfs /etc/fstab ergänzen samba1.unimuenster.de:/dfs /dfs nfs tcp,rsize=40960 0 DFS mounten # mount /dfs NFS Mount bei Systemstart aktivieren Yast2 System Runlevel Editor 54 www.uni-muenster.de/ivvnwz 25
NTP Konfiguration Zeitsynchronisation per NTP aktivieren Yast2 Network Services NTP Client 55 ZIV Unix: DCE/DFS Offene Fragen und Probleme Einbindung der NWZnet-Homedirectories Kombination von DCE/Dfs und SMB/CIFS + pam_mount Noch zu testen, gleiche Probleme wie für Homedirectories via SaMBa zu erwarten Passwortänderung und -synchronisation Automatischer Passwortabgleich zwischen DCE und Active Directory (Modell RZ Uni Augsburg) Kein Support durch das ZIV, da DCE 2006 ausläuft 56 www.uni-muenster.de/ivvnwz 26
Zusammenfassung Integration von Nicht-Windows Betriebssystemen in Active Directory, am Beispiel von Linux Statusbericht, noch nicht alle Fragen sind gelöst Benutzung der ZIV Unix-Ressourcen unter Linux Einführung in die verwendeten Konzepte Linux NSS und PAM Windows 2000 Active Directory Erweiterbares Schema, Kerberos und LDAP IBM DCE/DFS 57 Zusammenfassung Einbindung einer SuSE Linux Professional Workstation in NWZnet Name Service LDAP Authentifizierung Kerberos Homedirectories SMB/CIFS + pam_mount Lokal + NFS DCE/Dfs Einbindung einer SuSE Linux Professional Workstation in ZIV Unix Name Service DCE Authentifizierung DCE (Kerberos) Homedirectories DCE/Dfs 58 www.uni-muenster.de/ivvnwz 27
Zusammenfassung Offene Fragen und Probleme Homedirectories Passwörter 59 Q & A Fragen und Antworten NWZnet.uni-muenster.de 60 www.uni-muenster.de/ivvnwz 28