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 Linux-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 Unix-Integration mit DCE/DFS 14-JUL-2005 NWZnet-Fileserver mit Linux und SaMBa 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
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 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
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
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
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
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
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
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
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
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
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
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
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
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
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
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