Ldap Client per SSSD: Unterschied zwischen den Versionen

Aus Xinux Wiki
Zur Navigation springen Zur Suche springen
Zeile 93: Zeile 93:
 
* '''SSS authentication''' (für SSSD)
 
* '''SSS authentication''' (für SSSD)
 
* '''Create home directory on login''' (für automatische Home-Verzeichnisse)
 
* '''Create home directory on login''' (für automatische Home-Verzeichnisse)
 +
 +
=== Sudo-Konfiguration ===
 +
 +
=== Problem: Namenskonflikt mit lokaler sudo-Gruppe ===
 +
 +
Die lokale sudo-Gruppe (GID 27) kollidiert mit einer LDAP-Gruppe gleichen Namens. Daher verwenden wir einen anderen Gruppennamen für LDAP.
 +
 +
=== Admin-Gruppe auf dem LDAP Server anlegen ===
 +
 +
;Gruppe "admins" statt "sudo" anlegen (vermeidet Konflikt)
 +
*ldapaddgroup admins
 +
 +
;Benutzer zur Admin-Gruppe hinzufügen
 +
*ldapaddusertogroup leroy admins
 +
 +
=== Gruppe prüfen ===
 +
;Auf dem Client prüfen ob die Gruppe sichtbar ist
 +
*getent group admins
 +
 +
=== Sudoers konfigurieren (Client) ===
 +
 +
*visudo -f /etc/sudoers.d/ldap-admins
 +
 +
<syntaxhighlight lang="text">
 +
# LDAP Admins Gruppe
 +
%admins ALL=(ALL:ALL) ALL
 +
</syntaxhighlight>
 +
 +
=== Berechtigungen setzen ===
 +
 +
chmod 0440 /etc/sudoers.d/ldap-admins
 +
 +
=== Testen ===
 +
 +
# Als LDAP-User einloggen
 +
su - thomas
 +
 +
# Gruppenmitgliedschaft prüfen
 +
id
 +
# Sollte "groups=10000(it),10001(admins)" zeigen
 +
 +
groups
 +
# Sollte "it admins" zeigen
 +
 +
# Sudo testen
 +
sudo whoami
 +
# Sollte "root" ausgeben
 +
 +
sudo -l
 +
# Sollte die sudo-Rechte anzeigen

Version vom 18. November 2025, 09:26 Uhr

SSSD Client-Konfiguration

SSSD (System Security Services Daemon) ersetzt die alte Konfiguration mit libnss-ldap und libpam-ldap.

Installation

  • apt install sssd-ldap ldap-utils

CA Cert besorgen

ldap.conf (Client)

  • cat /etc/ldap/ldap.conf
# Basis-Domain für Suchanfragen
BASE    dc=it213,dc=int
# LDAPS-Server (TLS auf Port 636)
URI     ldaps://ldap.it213.int
# TLS / Zertifikatsprüfung
TLS_CACERT      /etc/ldap/ca.crt
TLS_REQCERT     demand
# Minimale TLS-Verison (optional, aber empfohlen)
TLS_PROTOCOL_MIN    1.2

SSSD Konfiguration

  • vim /etc/sssd/sssd.conf
[sssd]
config_file_version = 2
services = nss, pam
domains = it213.int

[domain/it213.int]
id_provider = ldap
auth_provider = ldap
chpass_provider = ldap

# DNS Service Discovery nutzen (benötigt SRV Records!)
#ldap_uri = _srv_
#dns_discovery_domain = it213.int

# Direkte URI statt DNS Discovery
ldap_uri = ldaps://ldap.it213.int

ldap_search_base = dc=it213,dc=int

ldap_default_bind_dn = cn=admin,dc=it213,dc=int
ldap_default_authtok_type = password
ldap_default_authtok = 123Start$

# TLS komplett deaktivieren (für Testumgebungen)
ldap_id_use_start_tls = false
#ldap_auth_disable_tls_never_use_in_production = true
ldap_tls_reqcert = demand

cache_credentials = true
enumerate = true

[nss]
filter_users = root,daemon,bin,sys,sync,games,man,lp,mail,news,uucp,proxy,www-data,backup,list,irc,gnats,nobody,systemd-network,systemd-resolve,messagebus,_apt,uuidd,nslcd
filter_groups = root,daemon,bin,sys,adm,tty,disk,lp,mail,news,uucp,man,proxy,kmem,dialout,fax,voice,cdrom,floppy,tape,sudo,audio,dip,www-data,backup,operator,list,irc,src,gnats,shadow,utmp,video,sasl,plugdev,staff,games,users,nogroup,systemd-journal,systemd-network,systemd-resolve,input,kvm,render,crontab,netdev,messagebus,_apt,uuidd,ssh,nslcd

[pam]
offline_credentials_expiration = 2

Berechtigungen setzen

chmod 600 /etc/sssd/sssd.conf

SSSD Service aktivieren und starten

  • systemctl enable sssd
  • systemctl start sssd

PAM-Konfiguration

PAM muss für SSSD-Authentifizierung konfiguriert werden.

Automatische Konfiguration (empfohlen)

  • pam-auth-update

Aktiviere folgende Optionen:

  • SSS authentication (für SSSD)
  • Create home directory on login (für automatische Home-Verzeichnisse)

Sudo-Konfiguration

Problem: Namenskonflikt mit lokaler sudo-Gruppe

Die lokale sudo-Gruppe (GID 27) kollidiert mit einer LDAP-Gruppe gleichen Namens. Daher verwenden wir einen anderen Gruppennamen für LDAP.

Admin-Gruppe auf dem LDAP Server anlegen

Gruppe "admins" statt "sudo" anlegen (vermeidet Konflikt)
  • ldapaddgroup admins
Benutzer zur Admin-Gruppe hinzufügen
  • ldapaddusertogroup leroy admins

Gruppe prüfen

Auf dem Client prüfen ob die Gruppe sichtbar ist
  • getent group admins

Sudoers konfigurieren (Client)

  • visudo -f /etc/sudoers.d/ldap-admins
# LDAP Admins Gruppe
%admins ALL=(ALL:ALL) ALL

Berechtigungen setzen

chmod 0440 /etc/sudoers.d/ldap-admins

Testen

# Als LDAP-User einloggen
su - thomas

# Gruppenmitgliedschaft prüfen
id
# Sollte "groups=10000(it),10001(admins)" zeigen

groups
# Sollte "it admins" zeigen

# Sudo testen
sudo whoami
# Sollte "root" ausgeben

sudo -l
# Sollte die sudo-Rechte anzeigen