LDAP Server: Unterschied zwischen den Versionen
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=""