Zentrale Benutzerverwaltung mit OpenLDAP und SSS: Unterschied zwischen den Versionen

Aus Xinux Wiki
Zur Navigation springen Zur Suche springen
Zeile 88: Zeile 88:
 
=== Struktur ===
 
=== Struktur ===
 
{{#drawio:it213-2}}
 
{{#drawio:it213-2}}
 +
{{#drawio:it21-2}}
  
 
=== Gruppen und Benutzer ===
 
=== Gruppen und Benutzer ===

Version vom 2. April 2026, 06:25 Uhr

Installation

passwort nach wahl festlegen
  • apt update
  • apt install slapd ldap-utils
slapd
OpenLDAP Standalone Server
ldap-utils
Utilities zum Zugriff auf den LDAP Server

Grundkonfiguration

  • dpkg-reconfigure slapd

Die folgende Tabelle führt die exakten englischen Abfragen auf, sowie die empfohlenen Eingaben für die it213.int Umgebung.

Debconf Question Description Recommended Input / Choice
Omit OpenLDAP server configuration? Determines if the installer should skip creating a database. No
DNS domain name: Used to construct the base DN of the LDAP directory. it213.int
Organization name: The name of the organization to use in the base DN. it213
Administrator password: The password for the admin entry (cn=admin). 123Start$
Confirm password: Re-enter the password for verification. 123Start$
Database backend to use: The storage engine for the LDAP database. MDB
Do you want the database to be removed when slapd is purged? Whether to delete the data if the package is completely removed. No
Move old database? If a database already exists, should it be moved aside? Yes
Allow LDAPv2 protocol? Support for the obsolete LDAP version 2. No

OpenLDAP Manuelle Einrichtung (OLC)

OpenLDAP Manuelle Einrichtung (OLC)

Server Vorbereitung

Grundstruktur

Erstellen

  • cat <<EOF > /root/struktur.ldif
dn: ou=users,dc=it213,dc=int
objectClass: organizationalUnit
ou: users

dn: ou=groups,dc=it213,dc=int
objectClass: organizationalUnit
ou: groups

dn: ou=hosts,dc=it213,dc=int
objectClass: organizationalUnit
ou: hosts

dn: ou=sudo,dc=it213,dc=int
objectClass: organizationalUnit
ou: sudo

EOF

Anlegen

  • ldapadd -xD cn=admin,dc=it213,dc=int -w 123Start$ -f /root/struktur.ldif

Ldapscripts

Installation

  • apt install ldapscripts

Konfiguration

Hauptkonfiguration

  • cat /etc/ldapscripts/ldapscripts.conf
SERVER="ldap://ldap.it213.int"
SUFFIX="dc=it213,dc=int"
GSUFFIX="ou=groups"
USUFFIX="ou=users"
MSUFFIX="ou=hosts"
BINDDN="cn=admin,dc=it213,dc=int"
BINDPWDFILE="/etc/ldapscripts/ldapscripts.passwd"
GIDSTART="10000"
UIDSTART="10000"

Password Datei

  • echo -n "123Start$" > /etc/ldapscripts/ldapscripts.passwd

Management

Struktur

Gruppen und Benutzer

  • ldapaddgroup it
  • ldapadduser thomas it
  • ldapadduser tina it
  • ldapsetpasswd thomas
  • ldapsetpasswd tina

Client Anbindung via SSSD

Da sudo-ldap veraltet ist, nutzen wir SSSD für NSS, PAM und Sudo.

Installation

  • apt install sssd libnss-sss libpam-sss libsss-sudo

Konfiguration

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

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

ldap_uri = ldap://ldap.it213.int
ldap_search_base = dc=it213,dc=int
ldap_sudo_search_base = ou=sudo,dc=it213,dc=int
ldap_id_use_start_tls = false

cache_credentials = True
ldap_tls_reqcert = allow
  • chmod 600 /etc/sssd/sssd.conf
  • systemctl restart sssd

System Integration

nsswitch.conf

  • vim /etc/nsswitch.conf
passwd:         files sss
group:          files sss
shadow:         files sss
sudoers:        files sss

PAM mkhomedir

  • pam-auth-update --enable mkhomedir

Sudo im LDAP

Sudo-Regeln anlegen

Damit SSSD Sudo-Regeln findet, müssen diese als Objekte im LDAP existieren.

  • cat <<EOF > /root/sudo_rules.ldif
dn: cn=defaults,ou=sudo,dc=it213,dc=int
objectClass: sudoRole
cn: defaults
sudoOption: env_reset
sudoOption: mail_badpass
sudoOption: secure_path=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin

dn: cn=%sudo,ou=sudo,dc=it213,dc=int
objectClass: sudoRole
cn: %sudo
sudoUser: %sudo
sudoHost: ALL
sudoRunAsUser: ALL
sudoRunAsGroup: ALL
sudoCommand: ALL

EOF

  • ldapadd -xD cn=admin,dc=it213,dc=int -w 123Start$ -f /root/sudo_rules.ldif

Gruppenzuweisung

  • ldapaddgroup sudo
  • ldapaddusertogroup thomas sudo
  • ldapaddusertogroup tina sudo

Tests und Kontrolle

Identität

  • getent group it
  • getent passwd thomas
  • id tina

Sudo Check

  • su - thomas
  • sudo -l
  • sudo whoami

Dienstverwaltung

  • systemctl status slapd
  • systemctl status sssd
  • netstat -lntp | grep slapd