Changes for page LDAP-Benutzer unter Linux
Last modified by Jonas Jelten on 2025/02/25 12:14
From 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
To version 16.1
edited by Jonas Jelten
on 2025/02/25 12:14
on 2025/02/25 12:14
Change comment:
There is no comment for this version
Summary
-
Page properties (1 modified, 0 added, 0 removed)
Details
- Page properties
-
- Content
-
... ... @@ -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. 39 + # /etc/nslcd.conf 40 + # nslcd configuration file. See nslcd.conf(5) 41 + # for details. 43 43 44 -# The user and group nslcd should run as. 45 -uid nslcd 46 -gid nslcd 43 + uid nslcd 44 + gid nslcd 47 47 48 -# The location at which the LDAP server(s) should be reachable. 49 -uri ldaps://ldap.cit.tum.de 46 + 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 48 + 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 -``` 50 + tls_reqcert demand 51 + 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,40 @@ 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. 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. 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ürloginsüberPAM(z.b.`ssh`)kannmanesglobal mit `pam_access`in `/etc/security/access.conf` regulieren.137 - Dafür: `/usr/share/pam-configs/ito-ldap`anlegen:116 +Ob ein Nutzer sich einloggen kann (`ssh`, desktop login), wird global mit `pam_access` geprüft. 117 +Selbst erstellte lokale Nutzer müssen in der `login`-Gruppe sein. 138 138 119 +Erlaube Gruppen (oder Nutzer) werden in `/etc/security/access.conf` eingetragen: 120 + 139 139 ``` 122 +# login restriction for pam_access 123 + 124 +# StrukturDB machine's lsadmin and lsuser groups 125 ++:(yourmachinename-admin) (yourmachinename-user):ALL 126 + 127 +# allow local "root" user and members of local groups "root" and "login" 128 ++:root (login) (root):ALL 129 + 130 +# deny rest 131 +-:ALL:ALL 132 +``` 133 + 134 +Um die `machinename-admin`/`machinename-user`-Gruppen zu sehen, muss ein zusätzlicher LDAP-Filter für Gruppen eingestellt sein. 135 +In der `nslcd.conf` wäre das: 136 +``` 137 +filter group (|(objectClass=posixGroup)(&(objectClass=itoMachineUserGroup)(cn=yourmachinename-*))) 138 +``` 139 + 140 +### `pam_access` Setup 141 + 142 +Für PAM-Autokonfiguration `/usr/share/pam-configs/ito-ldap` anlegen: 143 + 144 +``` 140 140 Name: ITO LDAP group-based Authentication 141 141 Default: yes 142 142 Priority: 128 ... ... @@ -164,6 +164,11 @@ 164 164 %deine-ldap-gruppe ALL=(ALL) NOPASSWD: ALL 165 165 ``` 166 166 172 +Um zum beispiel den `lsadmin`-Nutzern aus dem `machine`-Eintrag `sudo`-Rechte zu geben: 173 +``` 174 +%yourmachinename-admin ALL=(ALL) NOPASSWD: ALL 175 +``` 176 + 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`: