LDAP Server: Unterschied zwischen den Versionen

Aus Xinux Wiki
Zur Navigation springen Zur Suche springen
Zeile 64: Zeile 64:
  
 
= ldapscripts =
 
= ldapscripts =
 +
 +
* Da das Füllen einer solchen Datenbank leicht automatisierbar ist, gibt es schon Skripte, die genau diese Aufgabe erfüllen
 +
* '''vim /etc/ldapscripts/ldapscripts.conf'''
 +
 +
SUFFIX="dc=lab100,dc=it"
 +
GSUFFIX="ou=groups"
 +
USUFFIX="ou=users"
 +
MSUFFIX="ou=hosts"
 +
BINDDN="cn=admin,dc=lab100,dc=it"
 +
USHELL="/bin/bash"
 +
UHOMES="/home/%u"
 +
CREATEHOMES="yes"
 +
HOMESKEL="/etc/skel"
 +
BINDPWDFILE="/etc/ldapscripts/ldapscripts.passwd"
 +
GIDSTART="10000" # Group ID
 +
UIDSTART="10000" # User ID
 +
MIDSTART="20000" # Machine ID
 +
GCLASS="posixGroup"  # Leave "posixGroup" here if not sure !
 +
PASSWORDGEN="pwgen"
 +
RECORDPASSWORDS="no"
 +
PASSWORDFILE="/var/log/ldapscripts_passwd.log"
 +
LOGTOFILE="yes"
 +
LOGFILE="/var/log/ldapscripts.log"
 +
LOGTOSYSLOG="no"
 +
SYSLOGFACILITY="local4"
 +
SYSLOGLEVEL="info"
 +
LDAPSEARCHBIN="/usr/bin/ldapsearch"
 +
LDAPADDBIN="/usr/bin/ldapadd"
 +
LDAPDELETEBIN="/usr/bin/ldapdelete"
 +
LDAPMODIFYBIN="/usr/bin/ldapmodify"
 +
LDAPMODRDNBIN="/usr/bin/ldapmodrdn"
 +
LDAPPASSWDBIN="/usr/bin/ldappasswd"
 +
LDAPSEARCHOPTS="-o ldif-wrap=no"
 +
GETENTPWCMD=""
 +
GETENTGRCMD=""
 +
GTEMPLATE=""
 +
UTEMPLATE=""
 +
MTEMPLATE=""

Version vom 3. Mai 2023, 08:32 Uhr

Benötigte Pakete

  • apt install slapd ldap-utils ldapscripts nslcd

Grundstruktur

  • Einträge können mit ldapadd hinzugefügt werden
  • Damit der Befehl nicht zu unübersichtlich wird kann man den Eintrag auch in einer Datei definieren
  • vim struktur.ldif
dn: ou=users,dc=lab100,dc=it
objectClass: organizationalUnit
ou: users

dn: ou=groups,dc=lab100,dc=it
objectClass: organizationalUnit
ou: groups

dn: ou=hosts,dc=lab100,dc=it
objectClass: organizationalUnit
ou: hosts
  • ldapadd -x -D cn=admin,dc=lab100,dc=it -w 123Start$ -f struktur.ldif
adding new entry "ou=users,dc=lab100,dc=it"

adding new entry "ou=groups,dc=lab100,dc=it"

adding new entry "ou=hosts,dc=lab100,dc=it"

Einträge einfügen/löschen

Manuell

  • vim group.ldif
dn: cn=it,ou=groups,dc=lab100,dc=it
objectClass: posixGroup
cn: it
gidNumber: 3001
  • ldapadd -x -D cn=admin,dc=lab -w 123Start$ -f group.ldif
adding new entry "cn=it,ou=groups,dc=lab100,dc=it"
  • vim user.ldif
dn: uid=leroy,ou=users,dc=lab100,dc=it
cn: leroy
objectClass: account
objectClass: posixAccount
objectClass: shadowAccount
uid: leroy
uidNumber: 2001
gidNumber: 3001
homeDirectory: /home/leroy
loginShell: /bin/bash
  • ldapadd -x -D cn=admin,dc=lab -w 123Start$ -f user.ldif
adding new entry "uid=leroy,ou=users,dc=lab100,dc=it"
  • Alle Blätter eines Zweiges müssen zuerst gelöscht werden, bevor die darüberliegende Struktur gelöscht werden kann
  • ldapdelete -x -D cn=admin,dc=lab -w 123Start$ “ou=hosts,dc=lab”
  • ldapdelete -x -D cn=admin,dc=lab -w 123Start$ “cn=it,ou=groups,dc=lab”
  • ldapdelete -x -D cn=admin,dc=lab -w 123Start$ “uid=leroy,ou=users,dc=lab”
  • ldapdelete -x -D cn=admin,dc=lab -w 123Start$ “ou=groups,dc=lab”
  • ldapdelete -x -D cn=admin,dc=lab -w 123Start$ “ou=users,dc=lab”

ldapscripts

  • Da das Füllen einer solchen Datenbank leicht automatisierbar ist, gibt es schon Skripte, die genau diese Aufgabe erfüllen
  • vim /etc/ldapscripts/ldapscripts.conf
SUFFIX="dc=lab100,dc=it"
GSUFFIX="ou=groups"
USUFFIX="ou=users"
MSUFFIX="ou=hosts"
BINDDN="cn=admin,dc=lab100,dc=it"
USHELL="/bin/bash"
UHOMES="/home/%u"
CREATEHOMES="yes"
HOMESKEL="/etc/skel"
BINDPWDFILE="/etc/ldapscripts/ldapscripts.passwd"
GIDSTART="10000" # Group ID
UIDSTART="10000" # User ID
MIDSTART="20000" # Machine ID
GCLASS="posixGroup"   # Leave "posixGroup" here if not sure !
PASSWORDGEN="pwgen"
RECORDPASSWORDS="no"
PASSWORDFILE="/var/log/ldapscripts_passwd.log"
LOGTOFILE="yes"
LOGFILE="/var/log/ldapscripts.log"
LOGTOSYSLOG="no"
SYSLOGFACILITY="local4"
SYSLOGLEVEL="info"
LDAPSEARCHBIN="/usr/bin/ldapsearch"
LDAPADDBIN="/usr/bin/ldapadd"
LDAPDELETEBIN="/usr/bin/ldapdelete"
LDAPMODIFYBIN="/usr/bin/ldapmodify"
LDAPMODRDNBIN="/usr/bin/ldapmodrdn"
LDAPPASSWDBIN="/usr/bin/ldappasswd"
LDAPSEARCHOPTS="-o ldif-wrap=no"
GETENTPWCMD=""
GETENTGRCMD=""
GTEMPLATE=""
UTEMPLATE=""
MTEMPLATE=""