Changes for page LDAP-Benutzer unter Linux
Last modified by Martin Uhl on 2025/05/07 12:27
From version 18.1
edited by Martin Uhl
on 2025/05/07 12:27
on 2025/05/07 12:27
Change comment:
There is no comment for this version
To version 13.1
edited by Jonas Jelten
on 2024/12/12 16:12
on 2024/12/12 16:12
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. uhl1 +XWiki.jelten - Content
-
... ... @@ -1,10 +3,8 @@ 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**! 6 6 7 -**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.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önnen 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 ... ... @@ -38,19 +38,39 @@ 38 38 39 39 Konfiguration in `/etc/nslcd.conf`: 40 40 41 - # /etc/nslcd.conf 42 - # nslcd configuration file. See nslcd.conf(5) 43 - # for details. 39 +``` 40 +# /etc/nslcd.conf 41 +# nslcd configuration file. See nslcd.conf(5) 42 +# for details. 44 44 45 - uid nslcd 46 - gid nslcd 44 +# The user and group nslcd should run as. 45 +uid nslcd 46 +gid nslcd 47 47 48 - 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 49 49 50 - 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 51 51 52 - tls_reqcert demand 53 - 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 +``` 54 54 55 55 Der Installationsprozess sollte schon automatisch die Einträge in `/etc/pam.d/common-*` angelegt haben. 56 56 ... ... @@ -110,39 +110,15 @@ 110 110 ## Filtern von Nutzern mit Gruppen 111 111 112 112 Auf ldap.cit.tum.de sind alle CIT-Benutzer. Gewöhnlich möchte man **nicht**, dass sie **sich alle anmelden können**. 113 -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. 114 114 Diese Gruppe konfigurieren wir dann in allen installierten Diensten, die eine Benutzeranmeldung ermöglichen. 115 115 116 116 ## PAM-Logins 117 117 118 -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: 119 119 120 -Erlaube Gruppen (oder Nutzer) werden in `/etc/security/access.conf` eingetragen: 121 - 122 122 ``` 123 -# login restriction for pam_access 124 - 125 -# StrukturDB machine's lsadmin and lsuser groups 126 -+:(yourmachinename-admin) (yourmachinename-user):ALL 127 - 128 -# allow local "root" user and members of local groups "root" and "login" 129 -+:root (login) (root):ALL 130 - 131 -# deny rest 132 --:ALL:ALL 133 -``` 134 - 135 -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: 136 - 137 -``` 138 -filter group (|(objectClass=posixGroup)(&(objectClass=itoMachineUserGroup)(cn=yourmachinename-*))) 139 -``` 140 - 141 -### `pam_access` Setup 142 - 143 -Für PAM-Autokonfiguration `/usr/share/pam-configs/ito-ldap` anlegen: 144 - 145 -``` 146 146 Name: ITO LDAP group-based Authentication 147 147 Default: yes 148 148 Priority: 128 ... ... @@ -170,12 +170,6 @@ 170 170 %deine-ldap-gruppe ALL=(ALL) NOPASSWD: ALL 171 171 ``` 172 172 173 -Um zum beispiel den `lsadmin`-Nutzern aus dem `machine`-Eintrag `sudo`-Rechte zu geben: 174 - 175 -``` 176 -%yourmachinename-admin ALL=(ALL) NOPASSWD: ALL 177 -``` 178 - 179 179 ## SSH-Key Login aus StrukturDB 180 180 181 181 Damit `ssh` automatisch ssh-keys von Nutzern aus der StrukturDB verwendet, muss man diese aus dem LDAP abholen. config für `ssh`: