Einrichtung von Sun Solaris 10 für den Zugriff auf die URZ LDAP-Authentifizierungsserver

Nachfolgend finden Sie eine Kurzanleitung zum Einrichten der Authentifizierung mittels der URZ LDAP-Authentifizierungserver  eines SUN Solaris 10.

Ziel ist es die Konsolen- und die Sun Java Desktop-Anmeldung mit einem Benutzerkonto der Active Directory des URZ vornehmen zu können.

1. Standardinstallation

  • Führen Sie eine Standardinstallation von Sun Solaris 10 durch.

2. Verzeichnis /users anlegen und Vorhandensein der ksh-Shell überprüfen.

  • Melden Sie sich als root an, legen Sie das Verzeichnis /users an und verändern Sie die Zugriffsrechte mit chmod wie folgt:
        mkdir /users

 

        chmod 755
  • Überprüfen Sie, ob die ksh-Shell unter /bin/ksh verfügbar ist. Installieren Sie die ksh-Shell gegebenenfalls nach. Die ksh-Shell wird als Standard-Shell von den URZ Authentifizierungsservern definiert und muß daher unter /bin/ksh verfügbar sein.

Alternativ ist es möglich einen symbolischen Link für die ksh-Shell anzulegen, z.b. ln -s /bin/bash /bin/ksh, so dass Sie anstatt der ksh-Shell die bash-Shell benutzen können.

3. Einspielen der Zertifikate der Telekom-CA und der DFN-CA.

  • Laden Sie sich die Zertifikate der DFN-PKI und der URZ LDAP-Authentifizierungserver unter herunter und kopieren Sie die Dateien in den Pfad /var/ldap. Folgende Dateien benötigen Sie:
  • Verändern Sie die Zugriffsrechte auf die Zertifikatsdatenbankdateien wie folgt:
        chmod 444 /var/ldap/cert8.db

 

        chmod 444 /var/ldap/key3.db

 

        chmod 444 /var/ldap/secmod.db
  • Überprüfen Sie die Funktion der Zertifikate mit folgendem Befehl:
        ldapsearch -h ldap.uni-rostock.de -p 636 -s base -b "" -P /var/ldap "(objectclass=*)"

 

Die Ausgabe sollte wie folgt aussehen:

 

        version: 1

 

        dn:

 

        currentTime: 20060313111435.0Z

 

        subschemaSubentry: CN=Aggregate,CN=Schema,CN=Configuration,CN={E7588CB2-38EC-4

 

        9A7-B137-92467CE55D2A}

 

        dsServiceName: CN=NTDS Settings,CN=INFO6$ADAM-uni-rostock-de,CN=Servers,CN=Def

 

        ault-First-Site-Name,CN=Sites,CN=Configuration,CN={E7588CB2-38EC-49A7-B137-9

 

        2467CE55D2A}

 

        namingContexts: CN=Configuration,CN={E7588CB2-38EC-49A7-B137-92467CE55D2A}

 

        namingContexts: CN=Schema,CN=Configuration,CN={E7588CB2-38EC-49A7-B137-92467CE

 

        55D2A}

 

        namingContexts: O=uni-rostock,C=de

 

        schemaNamingContext: CN=Schema,CN=Configuration,CN={E7588CB2-38EC-49A7-B137-92

 

        467CE55D2A}

 

        configurationNamingContext: CN=Configuration,CN={E7588CB2-38EC-49A7-B137-92467

 

        CE55D2A}

 

        supportedControl: 1.2.840.113556.1.4.319

 

        supportedControl: 1.2.840.113556.1.4.801

 

        supportedControl: 1.2.840.113556.1.4.473

 

        supportedControl: 1.2.840.113556.1.4.528

 

        supportedControl: 1.2.840.113556.1.4.417

 

        supportedControl: 1.2.840.113556.1.4.619

 

        supportedControl: 1.2.840.113556.1.4.841

 

        supportedControl: 1.2.840.113556.1.4.529

 

        supportedControl: 1.2.840.113556.1.4.805

 

        supportedControl: 1.2.840.113556.1.4.521

 

        supportedControl: 1.2.840.113556.1.4.970

 

        supportedControl: 1.2.840.113556.1.4.1338

 

        supportedControl: 1.2.840.113556.1.4.474

 

        supportedControl: 1.2.840.113556.1.4.1339

 

        supportedControl: 1.2.840.113556.1.4.1340

 

        supportedControl: 1.2.840.113556.1.4.1413

 

        supportedControl: 2.16.840.1.113730.3.4.9

 

        supportedControl: 2.16.840.1.113730.3.4.10

 

        supportedControl: 1.2.840.113556.1.4.1504

 

        supportedControl: 1.2.840.113556.1.4.1852

 

        supportedControl: 1.2.840.113556.1.4.802

 

        supportedControl: 1.2.840.113556.1.4.1907

 

        supportedLDAPVersion: 3

 

        supportedLDAPVersion: 2

 

        supportedLDAPPolicies: MaxPoolThreads

 

        supportedLDAPPolicies: MaxDatagramRecv

 

        supportedLDAPPolicies: MaxReceiveBuffer

 

        supportedLDAPPolicies: InitRecvTimeout

 

        supportedLDAPPolicies: MaxConnections

 

        supportedLDAPPolicies: MaxConnIdleTime

 

        supportedLDAPPolicies: MaxPageSize

 

        supportedLDAPPolicies: MaxQueryDuration

 

        supportedLDAPPolicies: MaxTempTableSize

 

        supportedLDAPPolicies: MaxResultSetSize

 

        supportedLDAPPolicies: MaxNotificationPerConn

 

        supportedLDAPPolicies: MaxValRange

 

        highestCommittedUSN: 12538030

 

        supportedSASLMechanisms: GSSAPI

 

        supportedSASLMechanisms: GSS-SPNEGO

 

        supportedSASLMechanisms: EXTERNAL

 

        supportedSASLMechanisms: DIGEST-MD5

 

        dnsHostName: info6.uni-rostock.de

 

        serverName: CN=INFO6$ADAM-uni-rostock-de,CN=Servers,CN=Default-First-Site-Name

 

        ,CN=Sites,CN=Configuration,CN={E7588CB2-38EC-49A7-B137-92467CE55D2A}

 

        supportedCapabilities: 1.2.840.113556.1.4.1851

 

        supportedCapabilities: 1.2.840.113556.1.4.1791

 

        supportedCapabilities: 1.2.840.113556.1.4.1880

 

        isSynchronized: TRUE

 

        forestFunctionality: 2

 

        domainControllerFunctionality: 2 

 

4. LDAP Client konfigurieren

  • Legen Sie ein Kopie der Datei /etc/nsswitch.conf an und nennen Sie diese Datei  /etc/nsswitch.conf.orginal
  • Öffnen Sie ein Terminal und führen Sie folgenden Befehl aus:
        ldapclient manual -v \

 

        -a domainName=uni-rostock.de \

 

        -a defaultSearchBase=o=uni-rostock,c=de \

 

        -a proxyDN=uid=xxx,ou=xxx,o=uni-rostock,c=de \

 

        -a proxyPassword=xxx \

 

        -a credentialLevel=proxy \

 

        -a authenticationMethod=tls:simple \

 

        -a objectClassMap=shadow:shadowAccount=posixAccount \

 

        -a searchTimeLimit=90 \

 

        -a defaultServerList=139.30.8.216

 

Für den Zugriff auf die Anmeldedaten des Proxy Users s. Lesezugriff auf die Attribute der Nutzerobjekte des LDAP-Authentifizierungsservers.

Überprüfen Sie die Funktion der Konfiguratiion und Zertifikate mit folgendem Befehl:

 

        ldaplist passwd uid=* | more

 

Die Ausgabe sollte wie folgt aussehen:

 

        dn: uid=a03,OU=people,O=uni-rostock,C=de
        dn: uid=a04,OU=people,O=uni-rostock,C=de
        dn: uid=a07,OU=people,O=uni-rostock,C=de
        dn: uid=a10,OU=people,O=uni-rostock,C=de
        dn: uid=a11,OU=people,O=uni-rostock,C=de
        dn: uid=a12,OU=people,O=uni-rostock,C=de
        dn: uid=a15,OU=people,O=uni-rostock,C=de
        dn: uid=a17,OU=people,O=uni-rostock,C=de
        dn: uid=a18,OU=people,O=uni-rostock,C=de
        dn: uid=a19,OU=people,O=uni-rostock,C=de
        dn: uid=a20,OU=people,O=uni-rostock,C=de

 

        --Weiter--

 

5. Editieren der Datei nsswitch.conf

  • Legen Sie ein Kopie der Datei /etc/nsswitch.conf an und nennen Sie diese Datei  /etc/nsswitch.conf.ldapclient
  • Kopieren Sie die Datei  /etc/nsswitch.conf.orginal  nach /etc/nsswitch.conf
  • Editieren Sie die Datei /etc/nsswitch.conf und und verändern Sie den Inhalt folgender Zeilen:

Zeile

 

        passwd: files

 

nach

 

        passwd: ldap files

 

Zeile

 

        group: files

 

nach

 

        group: ldap files

 

6. Die PAM Module konfigurieren

  • Editieren  Sie die Datei /etc/pam.conf und passen Sie die Datei entsprechend der fettgedruckten Zeilen an:
        #

 

        #ident "@(#)pam.conf 1.28 04/04/21 SMI"

 

        #

 

        # Copyright 2004 Sun Microsystems, Inc. All rights reserved.

 

        # Use is subject to license terms.

 

        #

 

        # PAM configuration

 

        #

 

        # Unless explicitly defined, all services use the modules

 

        # defined in the "other" section.

 

        #

 

        # Modules are defined with relative pathnames, i.e., they are

 

        # relative to /usr/lib/security/$ISA. Absolute path names, as

 

        # present in this file in previous releases are still acceptable.

 

        #

 

        # Authentication management

 

        #

 

        # login service (explicit because of pam_dial_auth)

 

        #

 

        login auth requisite pam_authtok_get.so.1

 

        login auth required pam_dhkeys.so.1

 

        login auth required pam_unix_cred.so.1

 

        login auth required pam_dial_auth.so.1

 

        login auth sufficient pam_unix_auth.so.1

 

        login auth required pam_ldap.so.1

 


        #

 

        # rlogin service (explicit because of pam_rhost_auth)

 

        #

 

        rlogin auth sufficient pam_rhosts_auth.so.1

 

        rlogin auth requisite pam_authtok_get.so.1

 

        rlogin auth required pam_dhkeys.so.1

 

        rlogin auth required pam_unix_cred.so.1

 

        rlogin auth required pam_unix_auth.so.1

 


        #

 

        # Kerberized rlogin service

 

        #

 

        krlogin auth required pam_unix_cred.so.1

 

        krlogin auth binding pam_krb5.so.1

 

        krlogin auth required pam_unix_auth.so.1

 

        #

 

        # rsh service (explicit because of pam_rhost_auth,

 

        # and pam_unix_auth for meaningful pam_setcred)

 

        #

 

        rsh auth sufficient pam_rhosts_auth.so.1

 

        rsh auth required pam_unix_cred.so.1

 

        #

 

        # Kerberized rsh service

 

        #

 

        krsh auth required pam_unix_cred.so.1

 

        krsh auth binding pam_krb5.so.1

 

        krsh auth required pam_unix_auth.so.1

 

        #

 

        # Kerberized telnet service

 

        #

 

        ktelnet auth required pam_unix_cred.so.1

 

        ktelnet auth binding pam_krb5.so.1

 

        ktelnet auth required pam_unix_auth.so.1

 

        #

 

        # PPP service (explicit because of pam_dial_auth)

 

        #

 

        ppp auth requisite pam_authtok_get.so.1

 

        ppp auth required pam_dhkeys.so.1

 

        ppp auth required pam_unix_cred.so.1

 

        ppp auth required pam_unix_auth.so.1

 

        ppp auth required pam_dial_auth.so.1

 

        #

 

        #

 

        # Default definitions for Authentication management

 

        # Used when service name is not explicitly mentioned for authentication

 

        #

 

        other auth requisite pam_authtok_get.so.1

 

        other auth required pam_dhkeys.so.1

 

        other auth required pam_unix_cred.so.1

 

        other auth sufficient pam_unix_auth.so.1

 

        other auth required pam_ldap.so.1

 


        #

 

        # passwd command (explicit because of a different authentication module)

 

        #

 

        passwd auth sufficient pam_passwd_auth.so.1

 

        passwd auth required pam_ldap.so.1

 


        #

 

        # cron service (explicit because of non-usage of pam_roles.so.1)

 

        #

 

        cron account required pam_unix_account.so.1

 

        #

 

        # Default definition for Account management

 

        # Used when service name is not explicitly mentioned for account management

 

        #

 

        other account requisite pam_roles.so.1

 

        other account sufficient pam_unix_account.so.1

 

        other account required pam_ldap.so.1

 


        #

 

        # Default definition for Session management

 

        # Used when service name is not explicitly mentioned for session management

 

        #

 

        other session required pam_unix_session.so.1

 

        #

 

        # Default definition for Password management

 

        # Used when service name is not explicitly mentioned for password management

 

        #

 

        other password required pam_dhkeys.so.1

 

        other password requisite pam_authtok_get.so.1

 

        other password requisite pam_authtok_check.so.1

 

        other password required pam_authtok_store.so.1

 


        #

 

        # Support for Kerberos V5 authentication and example configurations can

 

        # be found in the pam_krb5(5) man page under the "EXAMPLES" section.

 

        #

 

7. Anmelden mit einem Benutzerkonto der Active Directory Domäne uni-rostock.de

Bitte beachten Sie das unter /users ein Home-Verzeichnis für den Nutzer existieren muß, damit eine korrekte Anmeldung erfolgen kann.

Die Nutzung des zentralen Homes von der nvs1.uni-rostock.de ist zur Zeit nicht möglich, da

  1. NFS3 aus Sicherheitsgründen auf der nvs1.uni-rostock.de nicht universitätsweit zugänglich ist.
  2. SUN kein CIFS-Protokoll zum Einhängen von entfernten Dateisystemen anbietet, s. bugs.opensolaris.org/bugdatabase/view_bug.do

Eine Möglichkeit das zentrale Home über CIFS unter Solaris einzuhängen, ist die kostenlose Software Sharity-Light from Objective Development. Informationen dazu unter: