Changes for page LDAP-Benutzer unter Linux
Last modified by Thomas Walter Erbesdobler on 2025/07/24 16:28
From version 21.1
edited by Christoph Bußenius
on 2025/07/23 11:52
on 2025/07/23 11:52
Change comment:
There is no comment for this version
To version 14.1
edited by Jonas Jelten
on 2025/01/07 12:53
on 2025/01/07 12:53
Change comment:
There is no comment for this version
Summary
-
Page properties (2 modified, 0 added, 0 removed)
Details
- Page properties
-
- Author
-
... ... @@ -1,1 +1,1 @@ 1 -XWiki. busseniu1 +XWiki.jelten - Content
-
... ... @@ -1,5 +3,3 @@ 1 -{{toc/}} 2 - 3 3 # Für wen ist diese Anleitung 4 4 5 5 **Nicht relevant**: für VMs im ITO-VM-Cluster mit Ubuntu 24.04 oder neuer - diese haben das LDAP-Setup **direkt schon mitgeliefert**! ... ... @@ -8,8 +8,6 @@ 8 8 9 9 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. 10 10 11 -[[LDAP für Webanwendungen etc.|https://wiki.ito.cit.tum.de/bin/edit/CIT/ITO/Docs/Guides/LDAP-Apps/WebHome]] 12 - 13 13 # Allgemein 14 14 15 15 {{warning}} ... ... @@ -40,19 +40,39 @@ 40 40 41 41 Konfiguration in `/etc/nslcd.conf`: 42 42 43 - # /etc/nslcd.conf 44 - # nslcd configuration file. See nslcd.conf(5) 45 - # for details. 39 +``` 40 +# /etc/nslcd.conf 41 +# nslcd configuration file. See nslcd.conf(5) 42 +# for details. 46 46 47 - uid nslcd 48 - gid nslcd 44 +# The user and group nslcd should run as. 45 +uid nslcd 46 +gid nslcd 49 49 50 - uri ldaps://ldap.cit.tum.de 48 +# The location at which the LDAP server(s) should be reachable. 49 +uri ldaps://ldap.cit.tum.de 51 51 52 - base ou=dir,dc=cit,dc=tum,dc=de 51 +# The search base that will be used for all queries. 52 +base ou=dir,dc=cit,dc=tum,dc=de 53 53 54 - tls_reqcert demand 55 - tls_cacertfile /etc/ssl/certs/ca-certificates.crt 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 +``` 56 56 57 57 Der Installationsprozess sollte schon automatisch die Einträge in `/etc/pam.d/common-*` angelegt haben. 58 58 ... ... @@ -112,39 +112,15 @@ 112 112 ## Filtern von Nutzern mit Gruppen 113 113 114 114 Auf ldap.cit.tum.de sind alle CIT-Benutzer. Gewöhnlich möchte man **nicht**, dass sie **sich alle anmelden können**. 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.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. 116 116 Diese Gruppe konfigurieren wir dann in allen installierten Diensten, die eine Benutzeranmeldung ermöglichen. 117 117 118 118 ## PAM-Logins 119 119 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. 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: 121 121 122 -Erlaube Gruppen (oder Nutzer) werden in `/etc/security/access.conf` eingetragen: 123 - 124 124 ``` 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 -``` 148 148 Name: ITO LDAP group-based Authentication 149 149 Default: yes 150 150 Priority: 128 ... ... @@ -172,12 +172,6 @@ 172 172 %deine-ldap-gruppe ALL=(ALL) NOPASSWD: ALL 173 173 ``` 174 174 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 - 181 181 ## SSH-Key Login aus StrukturDB 182 182 183 183 Damit `ssh` automatisch ssh-keys von Nutzern aus der StrukturDB verwendet, muss man diese aus dem LDAP abholen. config für `ssh`: ... ... @@ -188,12 +188,3 @@ 188 188 ``` 189 189 190 190 [[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>