Changes for page LDAP-Benutzer unter Linux

Last modified by Thomas Walter Erbesdobler on 2025/07/24 16:28

From version 15.1
edited by Jonas Jelten
on 2025/01/07 12:54
Change comment: There is no comment for this version
To version 21.1
edited by Christoph Bußenius
on 2025/07/23 11:52
Change comment: There is no comment for this version

Summary

Details

Page properties
Author
... ... @@ -1,1 +1,1 @@
1 -XWiki.jelten
1 +XWiki.busseniu
Content
... ... @@ -1,3 +1,5 @@
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**!
... ... @@ -6,6 +6,8 @@
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}}
... ... @@ -108,15 +108,39 @@
108 108  ## Filtern von Nutzern mit Gruppen
109 109  
110 110  Auf ldap.cit.tum.de sind alle CIT-Benutzer. Gewöhnlich möchte man **nicht**, dass sie **sich alle anmelden können**.
111 -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.
112 112  Diese Gruppe konfigurieren wir dann in allen installierten Diensten, die eine Benutzeranmeldung ermöglichen.
113 113  
114 114  ## PAM-Logins
115 115  
116 -Für logins über PAM (z.b. `ssh`) kann man es global mit `pam_access` in `/etc/security/access.conf` regulieren.
117 -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.
118 118  
122 +Erlaube Gruppen (oder Nutzer) werden in `/etc/security/access.conf` eingetragen:
123 +
119 119  ```
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 +```
120 120  Name: ITO LDAP group-based Authentication
121 121  Default: yes
122 122  Priority: 128
... ... @@ -144,6 +144,12 @@
144 144  %deine-ldap-gruppe ALL=(ALL) NOPASSWD: ALL
145 145  ```
146 146  
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 +
147 147  ## SSH-Key Login aus StrukturDB
148 148  
149 149  Damit `ssh` automatisch ssh-keys von Nutzern aus der StrukturDB verwendet, muss man diese aus dem LDAP abholen. config für `ssh`:
... ... @@ -154,3 +154,12 @@
154 154  ```
155 155  
156 156  [[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>