Einführung für Administratoren SS 2005 30.06.2005

Linux in NWZnet – IVV Naturwissenschaften IV der Fachbereiche Biologie • Chemie • Physik Active Directory- Integration

Westfälische Wilhelms-Universität Münster Einbindung von -Rechnern Einführung für in die Benutzerverwaltung und Administratoren Nutzung von zentralen im SS 2005 Ressourcen

30-JUN-2005 Heinz-Hermann Adam ([email protected]) 1

Ausblick auf die Veranstaltungsreihe Termin Thema 21-APR-2005 IVV Naturwissenschaften und NWZnet – Überblick und Konzepte (nicht nur für Windows-Administratoren) 28-APR-2005 Arbeitsgruppenadministration mit NWZnet Organizational Units (OUs) und Group Policy Objects (GPOs) 12-MAY-2005 Installation von NWZnet Windows-Clients 02-JUN-2005 Erzeugen und Verteilen von Referenzinstallationen mit SysPrep-Images und Symantec Ghost 09-JUN-2005 Installation und Konfiguration von Windows Servern 16-JUN-2005 Sicherheit – Teil I: Windows 23-JUN-2005 Sicherheit – Teil II: Linux 30-JUN-2005 Linux – Active Directory -Integration 07-JUL-2005 Linux – ZIV -Integration mit DCE/DFS 14-JUL-2005 NWZnet-Fileserver mit Linux und New dates 21-JUL-2005 Einrichten eines NWZnet-Arbeitsplatzes als GRID-Rechner für MORFEUS 2

www.uni-muenster.de/IVVNWZ 1 Einführung für Administratoren SS 2005 30.06.2005

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  Zusammenfassung

3

IVV 4 und ZIV: Betriebssysteme und Benutzerverwaltung IVV 4 Z I V

 Zentrale Benutzerdatenbank NWZnet.uni-muenster.de des ZIV versorgt wwu Benutzerverwaltungen ë  DCE Zentrale uni-muenster.de  AIX Benutzerdatenbank  Linux  Windows-Domänen  NWZnet ( Active Directory )  OpenVMS  Windows DCE  Linux  Tru64 UNIX 5.x  Mac OS X

5

www.uni-muenster.de/IVVNWZ 2 Einführung für Administratoren SS 2005 30.06.2005

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

 / 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 Einführung für Administratoren SS 2005 30.06.2005

Linux-Authentifizierung

User: ? Password: ? login  Verwendet Pluggable External Authentication Modules Authentication PAM  Gegen interne und externe Quellen (flat Local Authentication files, NIS, Kerberos …) /etc/passwd External UID? Authenticator  Benutzer-Informationen GID? Host per Name Service Switch … Mapping  Unix spezifische NSS Informationen Account Information  ebenfalls aus internen wie externen Quellen /etc/passwd External /etc/groups Name Service …

8

PAM-Architektur

xdm login ssh Services

auth account password session Interface

Unix Unix Password strength Unix pam_unix2.so pam_unix2.so pam_pwcheck.so pam_unix2.so Kerberos root Security Unix Resource limits pam_securetty.so pam_unix2.so pam_limits.so

System Check permissions Modules Maintenance pam_devperm.so pam_nologin.so

Environment Register to Variables Resource Manager pam_env.so pam_resmgr.so

Homedrive Homedrive from Server from Server pam_mount.so pam_mount.so 9

www.uni-muenster.de/IVVNWZ 4 Einführung für Administratoren SS 2005 30.06.2005

PAM-Architektur

 PAM-Interfaces (module  PAM-Control flags types)  requisite (notwendig,  auth (Authentifizierung) Stack bricht bei  session (Setup & Fehlschlag ab) Logging)  required (notwendig,  account (Login-Policies) Stack wird auch bei Fehlschlag abgearbeitet)  password (Passwortregeln)  sufficient (hinreichend, weitere Module werden  Mehrere verschiedene ignoriert) Module können pro  optional (trägt zum Interface nacheinander Fehlschlag eines Stacks abgearbeitet werden nicht bei) (Stack )  Erfolg oder Scheitern des Stacks wird nach Abarbeitung der Module entschieden

10

NSS (Name Service Switch)

# ls –l Unix Applikation 007 0815 drwxr-xr-x user1 group2 file.txt

 return user info 1. /lib/libnss_Quelle_1.so look-up 2.  C Library /lib/libnss_Quelle_2.so user info query 3. /lib/libnss_Quelle_3.so  sources files LDAP /etc/nsswitch.conf look-up service: Quelle_1 Quelle_2 Quelle_3  info sources return  sequence of sources Name Service Switch 11

www.uni-muenster.de/IVVNWZ 5 Einführung für Administratoren SS 2005 30.06.2005

Name Service Switch

 Erlaubt es Systeminformationen z.B. user und group Informationen aus verschiedenen Quellen zu beziehen

User Groups 1. Quelle /etc/passwd /etc/group 2. Quelle NIS-Server NIS-Server 3. Quelle LDAP 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 Einführung für Administratoren SS 2005 30.06.2005

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 Einführung für Administratoren SS 2005 30.06.2005

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  SaMB a-Client Tools  „Alternativen“ Lokal/NFS IBM DCE/DFS

19

www.uni-muenster.de/IVVNWZ 8 Einführung für Administratoren SS 2005 30.06.2005

Installation zusätzlicher Pakete

 Authentifizierung  pam_krb5 (SuSE 9.X included)  Name Service  nss_ldap (SuSE 9.X included)  Einbindung von o Ressourcen em  pam_mount (SuSE 9.X D included)  Korn Shell  pdksh (SuSE 9.X included)

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 21 \NWZnet\Linux\configfiles\nsswitch.conf_ldap

www.uni-muenster.de/IVVNWZ 9 Einführung für Administratoren SS 2005 30.06.2005

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 22 \NWZnet\Linux\configfiles\ldap.conf

Einschub: LDAP Syntax

dc=de de dc=uni-muenster,dc=de uni-muenster dc=NWZnet,dc=uni-muenster,dc=de NWZnet ou=Domain Members,dc=NWZnet,dc=uni-muenster,dc=de Domain Members

ou=Physik,ou=Domain Members,dc=NWZnet,dc=uni-muenster,dc=de 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 AG_Zierau

cn=p0zierau,ou=AG_Zierau,ou=Festkoepertheorie,ou=Physik,ou=Domain Members,dc=NWZnet,dc=uni-muenster,dc=de

p0zierau

cn=adamh,ou=AG_Zierau,ou=Festkoepertheorie,ou=Physik,ou=Domain Members,dc=NWZnet,dc=uni-muenster,dc=de

adamh

Dies sollte kein Sehtest werden! 24

www.uni-muenster.de/IVVNWZ 10 Einführung für Administratoren SS 2005 30.06.2005

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_base_group 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 25 \NWZnet\Linux\configfiles\ldap.conf

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 Einführung für Administratoren SS 2005 30.06.2005

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  account: use_krb5  password: use_krb5  session: none

Vorlage unter 28 \NWZnet\Linux\configfiles\pam_unix2.conf

www.uni-muenster.de/IVVNWZ 12 Einführung für Administratoren SS 2005 30.06.2005

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 29 \NWZnet\Linux\configfiles\krb5.conf _

NTP Konfiguration

 Zeitsynchronisation per NTP aktivieren  Yast2 Network Services  NTP Client

30

www.uni-muenster.de/IVVNWZ 13 Einführung für Administratoren SS 2005 30.06.2005

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=0 700 ,fmask=0 600 ,wor kgroup= NWZNET --

Vorlage unter 32 \NWZnet\Linux\configfiles\pam_mount.conf_smbfs

www.uni-muenster.de/IVVNWZ 14 Einführung für Administratoren SS 2005 30.06.2005

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 […] smbmount /bin/mount –t cifs umount /bin/umount –l […] volume * smb nwz & ~ uid=&,gid=&, dir_mode =0 700 ,file_mode =0 600 , domain =NWZNET --

Vorlage unter 33 \NWZnet\Linux\configfiles\pam_mount.conf_cifs

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 34 \NWZnet\Linux\Scripts\make_dfs.sh

www.uni-muenster.de/IVVNWZ 15 Einführung für Administratoren SS 2005 30.06.2005

Pam_mount Konfiguration

Ab SuSE 9.3 für alle Dienste  /etc/pam.d/common-auth auth required pam_env.so auth required pam_unix2.so auth optional pam_mount.so use_first_pass  /etc/pam.d/common-session session required pam_limits.so session required pam_unix2.so session optional pam_mount.so

Vorlage unter 35 \NWZnet\Linux\configfiles\common-

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 pam_unix2.so none # trace or debug session required pam_limits.so session optional pam_mount.so […]

Vorlage unter 36 \NWZnet\Linux\configfiles\sshd

www.uni-muenster.de/IVVNWZ 16 Einführung für Administratoren SS 2005 30.06.2005

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 37 \NWZnet\Linux\configfiles\login

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 38 \NWZnet\Linux\configfiles\xdm

www.uni-muenster.de/IVVNWZ 17 Einführung für Administratoren SS 2005 30.06.2005

KDE-Konfiguration

/etc/profile.local  export ICEAUTHORITY=/tmp/. $USER - ICEauthority-$HOSTNAME  export DCOPAUTHORITY=/tmp/. $USER - DCOPserver- $HOSTNAME'_'on_$DISPLAY Broken in 3.3 and later (Bug #105336)  Patch auf bugs.kde.org

Vorlage unter 39 \NWZnet\Linux\configfiles

Homedirectories via SaMBa

 Beschränkungen  Smbfs unterstützt keine „hohen UIDs “  stattdessen CIFS einsetzen  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 Einführung für Administratoren SS 2005 30.06.2005

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)  Kombination von beiden

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 42 \NWZnet\Linux\Scripts

www.uni-muenster.de/IVVNWZ 19 Einführung für Administratoren SS 2005 30.06.2005

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 Einführung für Administratoren SS 2005 30.06.2005

NWZnet: Active Directory Offene Fragen und Probleme

 Einbindung der zentralen Homedirectories  Pathworks-Workaround oder Alternative Neues NAS-Cluster  CIFS  Passwortänderung und -synchronisation  Linux Kerberos und Microsoft Kerberos kompatibel machen  Änderung aller Passwörter (incl. NWZnet) über die Webseite des ZIV https://user.uni-muenster.de/exec/nutzer  In Vorbereitung

45

Zusammenfassung

 Integration von Nicht-Windows Betriebssystemen in Active Directory, am Beispiel von Linux  Statusbericht , noch nicht alle Fragen sind gelöst  Einführung in die verwendeten Konzepte  Linux NSS und PAM  Windows 2000 Active Directory Erweiterbares Schema, Kerberos und LDAP

46

www.uni-muenster.de/IVVNWZ 21 Einführung für Administratoren SS 2005 30.06.2005

Zusammenfassung

 Einbindung einer SuSE Linux Professional Workstation in NWZnet  Name Service LDAP  Authentifizierung Kerberos  Homedirectories SMB/CIFS + pam_mount Lokal + NFS  Offene Fragen und Probleme  Homedirectories  Passwörter

47

Q & A – Fragen und Antworten

NWZnet.uni-muenster.deë

48

www.uni-muenster.de/IVVNWZ 22