Änderungen von Dokument LDAP-Benutzer unter Linux
Zuletzt geändert von Thomas Walter Erbesdobler am 2025/07/24 16:28
Von Version 13.1
bearbeitet von Jonas Jelten
am 2024/12/12 16:12
am 2024/12/12 16:12
Änderungskommentar:
Es gibt keinen Kommentar für diese Version
Auf Version 21.1
bearbeitet von Christoph Bußenius
am 2025/07/23 11:52
am 2025/07/23 11:52
Änderungskommentar:
Es gibt keinen Kommentar für diese Version
Zusammenfassung
-
Seiteneigenschaften (2 geändert, 0 hinzugefügt, 0 gelöscht)
Details
- Seiteneigenschaften
-
- Dokument-Autor
-
... ... @@ -1,1 +1,1 @@ 1 -XWiki. jelten1 +XWiki.busseniu - Inhalt
-
... ... @@ -1,11 +1,15 @@ 1 +{{toc/}} 2 + 1 1 # Für wen ist diese Anleitung 2 2 3 3 **Nicht relevant**: für VMs im ITO-VM-Cluster mit Ubuntu 24.04 oder neuer - diese haben das LDAP-Setup **direkt schon mitgeliefert**! 4 4 5 -**Relevant für :**Alle Maschinen, auf denen CIT-Benutzer (alle aus der StrukturDB) am Rechner verfügbar sein sollen - z.B. damit Nutzer sich über SSH mit ihrem CIT-Account anmelden können7 +**Relevant für**: Alle Maschinen, auf denen CIT-Benutzer (alle aus der StrukturDB) am Rechner verfügbar sein sollen - z.B. damit Nutzer sich über SSH mit ihrem CIT-Account anmelden können, und man die Zugriffe zentral in der StrukturDB verwalten möchte. 6 6 7 7 Falls du den LDAP für andere Zwecke benutzen möchtest (Einbindung in ein Mailprogramm, als Kontaktbuch oder für Webanwendungen), ist dies vermutlich nicht die passende Anleitung. 8 8 11 +[[LDAP für Webanwendungen etc.|https://wiki.ito.cit.tum.de/bin/edit/CIT/ITO/Docs/Guides/LDAP-Apps/WebHome]] 12 + 9 9 # Allgemein 10 10 11 11 {{warning}} ... ... @@ -36,39 +36,19 @@ 36 36 37 37 Konfiguration in `/etc/nslcd.conf`: 38 38 39 -``` 40 -# /etc/nslcd.conf 41 -# nslcd configuration file. See nslcd.conf(5) 42 -# for details. 43 + # /etc/nslcd.conf 44 + # nslcd configuration file. See nslcd.conf(5) 45 + # for details. 43 43 44 -# The user and group nslcd should run as. 45 -uid nslcd 46 -gid nslcd 47 + uid nslcd 48 + gid nslcd 47 47 48 -# The location at which the LDAP server(s) should be reachable. 49 -uri ldaps://ldap.cit.tum.de 50 + uri ldaps://ldap.cit.tum.de 50 50 51 -# The search base that will be used for all queries. 52 -base ou=dir,dc=cit,dc=tum,dc=de 52 + base ou=dir,dc=cit,dc=tum,dc=de 53 53 54 -# The LDAP protocol version to use. 55 -#ldap_version 3 56 - 57 -# The DN to bind with for normal lookups. 58 -#binddn cn=annonymous,dc=example,dc=net 59 -#bindpw secret 60 - 61 -# The DN used for password modifications by root. 62 -#rootpwmoddn cn=admin,dc=example,dc=com 63 - 64 -# SSL options 65 -#ssl off 66 -tls_reqcert demand 67 -tls_cacertfile /etc/ssl/certs/ca-certificates.crt 68 - 69 -# The search scope. 70 -#scope sub 71 -``` 54 + tls_reqcert demand 55 + tls_cacertfile /etc/ssl/certs/ca-certificates.crt 72 72 73 73 Der Installationsprozess sollte schon automatisch die Einträge in `/etc/pam.d/common-*` angelegt haben. 74 74 ... ... @@ -128,15 +128,39 @@ 128 128 ## Filtern von Nutzern mit Gruppen 129 129 130 130 Auf ldap.cit.tum.de sind alle CIT-Benutzer. Gewöhnlich möchte man **nicht**, dass sie **sich alle anmelden können**. 131 -Die gängige Lösung ist, dass man eine Benutzergruppe definiert (auch in der StrukturDB als LDAP-Gruppe oder auch lokal aus /etc/groups) mit den Benutzern, die sich einloggen dürfen. 115 +Die gängige Lösung ist, dass man eine Benutzergruppe definiert (auch in der StrukturDB als LDAP-Gruppe oder auch lokal aus `/etc/groups`) mit den Benutzern, die sich einloggen dürfen. 132 132 Diese Gruppe konfigurieren wir dann in allen installierten Diensten, die eine Benutzeranmeldung ermöglichen. 133 133 134 134 ## PAM-Logins 135 135 136 -Für logins über PAM (z.b. `ssh`) kann man es global mit `pam_access` in `/etc/security/access.conf` regulieren. 137 -Dafür: `/usr/share/pam-configs/ito-ldap` anlegen: 120 +Ob ein Nutzer sich einloggen kann (`ssh`, desktop login), wird global mit `pam_access` geprüft. Selbst erstellte lokale Nutzer müssen in der `login`-Gruppe sein. 138 138 122 +Erlaube Gruppen (oder Nutzer) werden in `/etc/security/access.conf` eingetragen: 123 + 139 139 ``` 125 +# login restriction for pam_access 126 + 127 +# StrukturDB machine's lsadmin and lsuser groups 128 ++:(yourmachinename-admin) (yourmachinename-user):ALL 129 + 130 +# allow local "root" user and members of local groups "root" and "login" 131 ++:root (login) (root):ALL 132 + 133 +# deny rest 134 +-:ALL:ALL 135 +``` 136 + 137 +Um die `machinename-admin`/`machinename-user`-Gruppen zu sehen, muss ein zusätzlicher LDAP-Filter für Gruppen eingestellt sein. In der `nslcd.conf` wäre das: 138 + 139 +``` 140 +filter group (|(objectClass=posixGroup)(&(objectClass=itoMachineUserGroup)(cn=yourmachinename-*))) 141 +``` 142 + 143 +### `pam_access` Setup 144 + 145 +Für PAM-Autokonfiguration `/usr/share/pam-configs/ito-ldap` anlegen: 146 + 147 +``` 140 140 Name: ITO LDAP group-based Authentication 141 141 Default: yes 142 142 Priority: 128 ... ... @@ -164,6 +164,12 @@ 164 164 %deine-ldap-gruppe ALL=(ALL) NOPASSWD: ALL 165 165 ``` 166 166 175 +Um zum beispiel den `lsadmin`-Nutzern aus dem `machine`-Eintrag `sudo`-Rechte zu geben: 176 + 177 +``` 178 +%yourmachinename-admin ALL=(ALL) NOPASSWD: ALL 179 +``` 180 + 167 167 ## SSH-Key Login aus StrukturDB 168 168 169 169 Damit `ssh` automatisch ssh-keys von Nutzern aus der StrukturDB verwendet, muss man diese aus dem LDAP abholen. config für `ssh`: ... ... @@ -174,3 +174,12 @@ 174 174 ``` 175 175 176 176 [[attach:ssh-ldap-key]]-programm zum download 191 + 192 +Login für lokale Nutzer 193 + 194 +Die pam_access erlaubt den Login nur für entsprechende Nutzer in den entsprechenden Gruppen. 195 +Für lokale Nutzer, die nicht in den LDAP Gruppen sind, ist die "login" Gruppe vorgesehen, diese muss ggf. noch erstellt werden. 196 + 197 + # groupadd -r login 198 + 199 + # usermod -aG login <user>