Linux-Rechner mit Uni-Account-Anmeldung versorgen: Unterschied zwischen den Versionen

ZIM HilfeWiki - das Wiki
(Erster Aufschlag, noch nicht fertig.)
 
(15 dazwischenliegende Versionen von 6 Benutzern werden nicht angezeigt)
Zeile 6: Zeile 6:
 
|hasdisambig=Nein
 
|hasdisambig=Nein
 
}}
 
}}
{{template caller‏‎
+
Diese Anleitung richtet sich an Administratoren von Bereichen, die Linux-Rechner mit Benutzern aus dem LDAP des ZIM ausstatten wollen, so dass eine Anmeldung mit Uni-Account möglich ist.
|marker=Stub
 
}}
 
Diese Anleitung richtet sich an Administratoren von Bereichen, die Linux-Rechner mit IMT-Benutzern ausstatten wollen, so dass eine Anmeldung mit IMT-Benutzerdaten möglich ist.
 
  
 
== Was ist zu tun? ==
 
== Was ist zu tun? ==
Zeile 15: Zeile 12:
 
* Kerberos einrichten
 
* Kerberos einrichten
 
* NFSv4 einrichten
 
* NFSv4 einrichten
 +
* PAM für Kerberos konfigurieren
  
 
== Schritt-für-Schritt Anleitung ==
 
== Schritt-für-Schritt Anleitung ==
Jeder Arbeitschritt wird hier genau erklärt und ggf. mit Screenshots hinterlegt.
 
 
 
=== LDAP ===
 
=== LDAP ===
Der Zugriff auf den LDAP-Server des IMT muss vorher abgesprochen und genehmigt werden. Im einzelnen benötigen wir dafür folgende Informationen:
+
Der Zugriff auf den LDAP-Server des ZIM muss vorher abgesprochen und genehmigt werden. Im einzelnen benötigen wir dafür folgende Informationen:
 
* Welche LDAP-User sollen auf dem System sichtbar sein? Man kann dabei über Gruppen und/oder dezentrale Dienste im Serviceportal filtern.
 
* Welche LDAP-User sollen auf dem System sichtbar sein? Man kann dabei über Gruppen und/oder dezentrale Dienste im Serviceportal filtern.
 
* Von welchen IPs bzw. aus welchem Subnetz soll der Zugriff erfolgen?
 
* Von welchen IPs bzw. aus welchem Subnetz soll der Zugriff erfolgen?
Zeile 27: Zeile 23:
  
 
Jetzt sollte man diese Daten zunächst testen:
 
Jetzt sollte man diese Daten zunächst testen:
 +
<syntaxhighlight lang="bash">
 +
odenbach@fenchurch:~$ ldapsearch -x -ZZ -H ldap://ldap.uni-paderborn.de -D uid=binddn,ou=admin,o=upb,c=de -W -LLL objectClass=posixAccount uid
 +
Enter LDAP Password:
 +
dn: uid=gudrun,ou=People,o=upb,c=de
 +
uid: gudrun
 +
dn: uid=barbara,ou=People,o=upb,c=de
 +
uid: barbara
 +
[...]
 +
</syntaxhighlight>
 +
 +
Wenn das soweit funktioniert, muss der LDAP als Namensquelle für passwd und group eingetragen werden. Dafür kann man unter Linux entweder auf den nslcd oder den sssd setzen. 
 +
 +
===== LDAP Konfiguration mittels nslcd =====
 +
Dafür wird unter Debian Linux das Paket <code>nslcd</code> installiert, sinnvollerweise zusammen mit dem <code>nscd</code> (Name Service Caching Daemon). 
 +
 +
<code>/etc/nslcd.conf</code>:
 +
<syntaxhighlight lang="INI-style config files">
 +
uri ldaps://ldap.uni-paderborn.de/
 +
base o=upb,c=de
 +
filter  passwd  (&(objectclass=posixAccount)(!(upbPersonSperre=TRUE)))
 +
base    passwd  ou=People,o=upb,c=de
 +
scope   passwd  onelevel
 +
base    group   ou=Groups,o=upb,c=de
 +
scope   group   onelevel
 +
binddn cn=binddn,ou=admin,o=upb,c=de
 +
bindpw secret
 +
tls_reqcert demand
 +
tls_cacertfile /etc/ssl/certs/ca-certificates.crt
 +
</syntaxhighlight>
 +
 +
Danach müssen in der <code>/etc/nsswitch.conf</code> die Einträge für <code>passwd</code> und <code>group</code> jeweils auf
 +
 +
passwd:         files ldap
 +
group:          files ldap
 +
 +
gestellt werden.
 +
 +
===== LDAP Konfiguration mittels sssd =====
 +
In Debian Linux sollte man die folgenden Pakete installieren.<syntaxhighlight lang="text">
 +
sssd-common
 +
sssd-krb5
 +
sssd-ldap
 +
sssd-tools
 +
libnss-sss
 +
libpam-sss
 +
</syntaxhighlight>Für andere Distributionen sollte es äquivalente Pakete geben.
 +
 +
Dann muss der sssd konfiguriert werden. Bitte die Kommentare beachten und die Werte anpassen.<syntaxhighlight lang="text">
 +
# /etc/sssd/sssd.conf
 +
[sssd]
 +
debug = 2
 +
config_file_version = 2
 +
reconnection_retries = 3
 +
sbus_timeout = 30
 +
domains = uni-paderborn.de
 +
 +
[nss]
 +
debug = 2
 +
filter_groups = root
 +
filter_users = root
 +
reconnection_retries = 3
  
odenbach@fenchurch:~$ ldapsearch -x -ZZ -h ldap.uni-paderborn.de -Duid=binddn,ou=admin,o=upb,c=de -W -LLL objectClass=posixAccount uid
+
[pam]
 +
debug = 2
 +
reconnection_retries = 3
 +
pam_verbosity = 3
 +
# sudo deaktivieren wenn sudo per kerberos nicht erwünscht ist
 +
pam_gssapi_services = sudo, sshd
 +
pam_gssapi_check_upn = false
  
Enter LDAP Password:
+
[domain/uni-paderborn.de]
 +
debug = 2
 +
domain_type = posix
 +
min_id = 207
 +
enumerate = false
 +
subdomain_enumerate = none
 +
cache_credentials = false
  
dn: uid=gudrun,ou=People,o=upb,c=de
+
id_provider = ldap
 +
auth_provider = krb5
 +
chpass_provider = none
 +
selinux_provider = none
 +
autofs_provider = none
  
uid: gudrun
+
ldap_uri = ldap://ldap.uni-paderborn.de
 +
# bind dn setzen, der vom ZIM übermittelt wurde
 +
ldap_default_bind_dn =
 +
# euer bind dn passwort hier
 +
ldap_default_authtok =
 +
ldap_default_authtok_type = password
 +
ldap_search_base = o=upb,c=de
 +
ldap_schema = rfc2307
 +
ldap_user_search_base = ou=People,o=upb,c=de?onelevel?(&(objectclass=posixAccount)(!(upbPersonSperre=TRUE)))
 +
ldap_group_search_base = ou=Groups,o=upb,c=de
 +
ldap_tls_reqcert = demand
 +
ldap_tls_cacert = /etc/ssl/certs/ca-certificates.crt
 +
ldap_id_use_start_tls = true
  
dn: uid=barbara,ou=People,o=upb,c=de
+
# das Attribut setzen wodrin das eigene Homedir definiert, falls vorhanden
 +
# muss mit dem ZIM abgeklärt werden
 +
#ldap_user_home_directory = upbPersonLocalHomeDirectory
  
uid: barbara
+
krb5_server = kerberos.uni-paderborn.de
 +
krb5_backup_server = kerberos2.uni-paderborn.de,kerberos3.uni-paderborn.de
 +
krb5_kpasswd = kerberos.uni-paderborn.de
 +
krb5_realm = UNI-PADERBORN.DE
 +
krb5_use_kdcinfo = true
 +
krb5_lifetime = 10h
 +
krb5_renewable_lifetime = 10h
 +
krb5_auth_timeout = 15
 +
</syntaxhighlight>Nun fehlt nur noch die Konfiguration der nsswitch.conf.<syntaxhighlight lang="text">
 +
# /etc/nsswitch.conf
 +
passwd:         files sss
 +
group:          files sss
 +
hosts:          files dns
 +
networks:      files
 +
protocols:      files
 +
services:      files
 +
ethers:        files
 +
rpc:            files
 +
netgroup:      files sss
 +
</syntaxhighlight>Wahrscheinlich sollte man noch einmal den sssd neustarten:<syntaxhighlight>
 +
systemctl restart sssd.service
 +
</syntaxhighlight>
  
[...]
+
===== Testen =====
 +
Mit dem Kommando
 +
odenbach@fenchurch:~$ getent passwd gudrun
 +
gudrun:*:2102:10000:Gudrun Oevel:/upb/users/g/gudrun/profiles/unix/imt:/bin/zsh
  
Wenn das soweit funktioniert, muss der LDAP als Namensquelle für passwd und group eingetragen werden. Dafür wird unter Debian Linux das Paket nslcd empfohlen, es funktioniert aber auch der sssd. Dazu
+
kann man testen, ob der LDAP als Identitätsquelle funktioniert (Usernamen auswählen, der definitiv über LDAP kommt, siehe ldapsearch Test oben).
  
 
=== Kerberos ===
 
=== Kerberos ===
unterteilt werden
+
Die Kerberos-Konfiguration ist deutlich einfacher, es reicht die Datei [http://download.uni-paderborn.de/pc/configs/kerberos/krb5.conf /etc/krb5.conf] auf dem Rechner zu installieren. Mit dem Kommando
 +
 
 +
odenbach@dervish:~$ kinit odenbach
 +
Password for odenbach@UNI-PADERBORN.DE:
 +
 
 +
kann man testen, ob alles funktioniert. Wenn keine Fehlermeldung kommt, hat alles funktioniert. Dann kann man mit <code>klist</code> das erhaltene Ticket ansehen:
 +
 
 +
odenbach@dervish:~$ klist
 +
Ticket cache: FILE:/tmp/krb5cc_2041_BSV3G1lvHz
 +
Default principal: odenbach@UNI-PADERBORN.DE
 +
 +
Valid starting       Expires              Service principal
 +
10/11/2019 15:46:41  10/12/2019 01:46:38  krbtgt/UNI-PADERBORN.DE@UNI-PADERBORN.DE
 +
        renew until 10/12/2019 01:46:39
 +
 
 +
Natürlich ist auch hierbei ein Benutzername zu wählen, der aus dem LDAP kommt.
  
 
=== NFSv4 ===
 
=== NFSv4 ===
Überschriften dritter Ordnung
+
Das Einrichten von NFSv4 ist [[Netzwerkspeicher auf Unix Workstations einbinden|hier]] bereits beschrieben.
  
=== Nebenbei ===
+
=== PAM ===
* Hier nochmal der Hinweis auf den Menüpunkt "Mitmachen" links im Hauptmenü, hinter dem sich wertvolle Anleitungen und Hinweise verstecken.
+
Durch die Installation des Pakets <code>libpam-krb5</code> wird die notwendige Konfiguration in <code>/etc/pam.d</code> bereits vorgenommen. Ansonsten empfehlen wir, sich die Konfiguration auf einem öffentlich erreichbaren ZIM-Rechner wie <code>sshgate.uni-paderborn.de</code> anzusehen und ggf. zu übernehmen.
* Erfahrene Redakteure finden unterhalb der "Kategorie:Utility templates" interessantes Handwerkszeug für fortgeschrittene Textmanipulationen.
 
  
 
== Siehe auch ==
 
== Siehe auch ==
Weitere interessante Artikel zum gleichen Themenfeld verlinken
+
* [[Netzwerkspeicher auf Unix Workstations einbinden|Netzwerkspeicher auf UNIX Maschinen]]
 +
* [[Single-Sign-On einrichten unter Linux|Single Sign On]]

Aktuelle Version vom 7. August 2024, 16:32 Uhr

Anleitung
Linux Linux
Informationen
BetriebssystemLinux
ServiceAnmeldedienst
Interessant fürAngestellte, Studierende und Gäste
Linux Portalseite

no displaytitle found: Linux-Rechner mit Uni-Account-Anmeldung versorgen

Diese Anleitung richtet sich an Administratoren von Bereichen, die Linux-Rechner mit Benutzern aus dem LDAP des ZIM ausstatten wollen, so dass eine Anmeldung mit Uni-Account möglich ist.

Was ist zu tun?[Bearbeiten | Quelltext bearbeiten]

  • LDAP einrichten
  • Kerberos einrichten
  • NFSv4 einrichten
  • PAM für Kerberos konfigurieren

Schritt-für-Schritt Anleitung[Bearbeiten | Quelltext bearbeiten]

LDAP[Bearbeiten | Quelltext bearbeiten]

Der Zugriff auf den LDAP-Server des ZIM muss vorher abgesprochen und genehmigt werden. Im einzelnen benötigen wir dafür folgende Informationen:

  • Welche LDAP-User sollen auf dem System sichtbar sein? Man kann dabei über Gruppen und/oder dezentrale Dienste im Serviceportal filtern.
  • Von welchen IPs bzw. aus welchem Subnetz soll der Zugriff erfolgen?

Im Gegenzug erhält man einen Bind-DN und ein Bind-Password.

Jetzt sollte man diese Daten zunächst testen:

odenbach@fenchurch:~$ ldapsearch -x -ZZ -H ldap://ldap.uni-paderborn.de -D uid=binddn,ou=admin,o=upb,c=de -W -LLL objectClass=posixAccount uid
Enter LDAP Password: 
dn: uid=gudrun,ou=People,o=upb,c=de
uid: gudrun
dn: uid=barbara,ou=People,o=upb,c=de
uid: barbara
[...]

Wenn das soweit funktioniert, muss der LDAP als Namensquelle für passwd und group eingetragen werden. Dafür kann man unter Linux entweder auf den nslcd oder den sssd setzen.

LDAP Konfiguration mittels nslcd[Bearbeiten | Quelltext bearbeiten]

Dafür wird unter Debian Linux das Paket nslcd installiert, sinnvollerweise zusammen mit dem nscd (Name Service Caching Daemon).

/etc/nslcd.conf:

 uri ldaps://ldap.uni-paderborn.de/
 base o=upb,c=de
 filter  passwd  (&(objectclass=posixAccount)(!(upbPersonSperre=TRUE)))
 base    passwd  ou=People,o=upb,c=de
 scope   passwd  onelevel
 base    group   ou=Groups,o=upb,c=de
 scope   group   onelevel
 binddn cn=binddn,ou=admin,o=upb,c=de
 bindpw secret
 tls_reqcert demand
 tls_cacertfile /etc/ssl/certs/ca-certificates.crt

Danach müssen in der /etc/nsswitch.conf die Einträge für passwd und group jeweils auf

passwd:         files ldap
group:          files ldap

gestellt werden.

LDAP Konfiguration mittels sssd[Bearbeiten | Quelltext bearbeiten]

In Debian Linux sollte man die folgenden Pakete installieren.

sssd-common
sssd-krb5
sssd-ldap
sssd-tools
libnss-sss
libpam-sss

Für andere Distributionen sollte es äquivalente Pakete geben. Dann muss der sssd konfiguriert werden. Bitte die Kommentare beachten und die Werte anpassen.

# /etc/sssd/sssd.conf
[sssd]
debug = 2
config_file_version = 2
reconnection_retries = 3
sbus_timeout = 30
domains = uni-paderborn.de

[nss]
debug = 2
filter_groups = root
filter_users = root
reconnection_retries = 3

[pam]
debug = 2
reconnection_retries = 3
pam_verbosity = 3
# sudo deaktivieren wenn sudo per kerberos nicht erwünscht ist
pam_gssapi_services = sudo, sshd
pam_gssapi_check_upn = false

[domain/uni-paderborn.de]
debug = 2
domain_type = posix
min_id = 207
enumerate = false
subdomain_enumerate = none
cache_credentials = false

id_provider = ldap
auth_provider = krb5
chpass_provider = none
selinux_provider = none
autofs_provider = none

ldap_uri = ldap://ldap.uni-paderborn.de
# bind dn setzen, der vom ZIM übermittelt wurde
ldap_default_bind_dn =
# euer bind dn passwort hier
ldap_default_authtok =
ldap_default_authtok_type = password
ldap_search_base = o=upb,c=de
ldap_schema = rfc2307
ldap_user_search_base = ou=People,o=upb,c=de?onelevel?(&(objectclass=posixAccount)(!(upbPersonSperre=TRUE)))
ldap_group_search_base = ou=Groups,o=upb,c=de
ldap_tls_reqcert = demand
ldap_tls_cacert = /etc/ssl/certs/ca-certificates.crt
ldap_id_use_start_tls = true

# das Attribut setzen wodrin das eigene Homedir definiert, falls vorhanden
# muss mit dem ZIM abgeklärt werden
#ldap_user_home_directory = upbPersonLocalHomeDirectory

krb5_server = kerberos.uni-paderborn.de
krb5_backup_server = kerberos2.uni-paderborn.de,kerberos3.uni-paderborn.de
krb5_kpasswd = kerberos.uni-paderborn.de
krb5_realm = UNI-PADERBORN.DE
krb5_use_kdcinfo = true
krb5_lifetime = 10h
krb5_renewable_lifetime = 10h
krb5_auth_timeout = 15

Nun fehlt nur noch die Konfiguration der nsswitch.conf.

# /etc/nsswitch.conf
passwd:         files sss
group:          files sss
hosts:          files dns
networks:       files
protocols:      files
services:       files
ethers:         files
rpc:            files
netgroup:       files sss

Wahrscheinlich sollte man noch einmal den sssd neustarten:

systemctl restart sssd.service
Testen[Bearbeiten | Quelltext bearbeiten]

Mit dem Kommando

odenbach@fenchurch:~$ getent passwd gudrun
gudrun:*:2102:10000:Gudrun Oevel:/upb/users/g/gudrun/profiles/unix/imt:/bin/zsh

kann man testen, ob der LDAP als Identitätsquelle funktioniert (Usernamen auswählen, der definitiv über LDAP kommt, siehe ldapsearch Test oben).

Kerberos[Bearbeiten | Quelltext bearbeiten]

Die Kerberos-Konfiguration ist deutlich einfacher, es reicht die Datei /etc/krb5.conf auf dem Rechner zu installieren. Mit dem Kommando

odenbach@dervish:~$ kinit odenbach
Password for odenbach@UNI-PADERBORN.DE: 

kann man testen, ob alles funktioniert. Wenn keine Fehlermeldung kommt, hat alles funktioniert. Dann kann man mit klist das erhaltene Ticket ansehen:

odenbach@dervish:~$ klist 
Ticket cache: FILE:/tmp/krb5cc_2041_BSV3G1lvHz
Default principal: odenbach@UNI-PADERBORN.DE

Valid starting       Expires              Service principal
10/11/2019 15:46:41  10/12/2019 01:46:38  krbtgt/UNI-PADERBORN.DE@UNI-PADERBORN.DE
        renew until 10/12/2019 01:46:39

Natürlich ist auch hierbei ein Benutzername zu wählen, der aus dem LDAP kommt.

NFSv4[Bearbeiten | Quelltext bearbeiten]

Das Einrichten von NFSv4 ist hier bereits beschrieben.

PAM[Bearbeiten | Quelltext bearbeiten]

Durch die Installation des Pakets libpam-krb5 wird die notwendige Konfiguration in /etc/pam.d bereits vorgenommen. Ansonsten empfehlen wir, sich die Konfiguration auf einem öffentlich erreichbaren ZIM-Rechner wie sshgate.uni-paderborn.de anzusehen und ggf. zu übernehmen.

Siehe auch[Bearbeiten | Quelltext bearbeiten]


Bei Fragen oder Problemen wenden Sie sich bitte telefonisch oder per E-Mail an uns:

Tel. IT: +49 (5251) 60-5544 Tel. Medien: +49 (5251) 60-2821 E-Mail: zim@uni-paderborn.de

Das Notebook-Café ist die Benutzerberatung des ZIM - Sie finden uns in Raum I0.401

Wir sind zu folgenden Zeiten erreichbar:


Mo-Do Fr
Vor-Ort-Support 08:30 - 16:00 08:30 - 14:00
Telefonsupport 08:30 - 16:00 08:30 - 14:00


Das ZIM:Servicecenter Medien auf H1 hat aktuell zu folgenden Zeiten geöffnet:

Mo-Do Fr
08:00 - 16:00 08:00 - 14:30
Cookies helfen uns bei der Bereitstellung des ZIM HilfeWikis. Bei der Nutzung vom ZIM HilfeWiki werden die in der Datenschutzerklärung beschriebenen Cookies gespeichert.