Anleitung | |
---|---|
Linux | |
Informationen | |
Betriebssystem | Linux |
Service | Anmeldedienst |
Interessant für | Angestellte, Studierende und Gäste |
Linux Portalseite |
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.