<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="de">
	<id>https://grubit.at/fg_mediawiki/index.php?action=history&amp;feed=atom&amp;title=LDAP</id>
	<title>LDAP - Versionsgeschichte</title>
	<link rel="self" type="application/atom+xml" href="https://grubit.at/fg_mediawiki/index.php?action=history&amp;feed=atom&amp;title=LDAP"/>
	<link rel="alternate" type="text/html" href="https://grubit.at/fg_mediawiki/index.php?title=LDAP&amp;action=history"/>
	<updated>2026-05-06T15:28:02Z</updated>
	<subtitle>Versionsgeschichte dieser Seite in Mediawiki Ferdinand Gruber</subtitle>
	<generator>MediaWiki 1.43.0</generator>
	<entry>
		<id>https://grubit.at/fg_mediawiki/index.php?title=LDAP&amp;diff=245&amp;oldid=prev</id>
		<title>WikiSysop: 1 Version importiert</title>
		<link rel="alternate" type="text/html" href="https://grubit.at/fg_mediawiki/index.php?title=LDAP&amp;diff=245&amp;oldid=prev"/>
		<updated>2020-10-07T16:02:40Z</updated>

		<summary type="html">&lt;p&gt;1 Version importiert&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;de&quot;&gt;
				&lt;td colspan=&quot;1&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Nächstältere Version&lt;/td&gt;
				&lt;td colspan=&quot;1&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Version vom 7. Oktober 2020, 16:02 Uhr&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-notice&quot; lang=&quot;de&quot;&gt;&lt;div class=&quot;mw-diff-empty&quot;&gt;(kein Unterschied)&lt;/div&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</summary>
		<author><name>WikiSysop</name></author>
	</entry>
	<entry>
		<id>https://grubit.at/fg_mediawiki/index.php?title=LDAP&amp;diff=244&amp;oldid=prev</id>
		<title>fg&gt;WikiSysop: /* LOG */</title>
		<link rel="alternate" type="text/html" href="https://grubit.at/fg_mediawiki/index.php?title=LDAP&amp;diff=244&amp;oldid=prev"/>
		<updated>2014-02-08T12:28:11Z</updated>

		<summary type="html">&lt;p&gt;&lt;span class=&quot;autocomment&quot;&gt;LOG&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Neue Seite&lt;/b&gt;&lt;/p&gt;&lt;div&gt;&lt;br /&gt;
== Konfiguration ==&lt;br /&gt;
Konfigurationsdatei: &amp;lt;code&amp;gt;/etc/openldap/slapd.conf &amp;lt;/code&amp;gt;&lt;br /&gt;
* Loglevel ändern&lt;br /&gt;
Standard: &lt;br /&gt;
 loglevel 0&lt;br /&gt;
Debugging:&lt;br /&gt;
 loglevel -1&lt;br /&gt;
&lt;br /&gt;
== Sonstiges ==&lt;br /&gt;
* Root Passwort setzen&lt;br /&gt;
 smbpasswd -w &amp;lt;Passwort&amp;gt;&lt;br /&gt;
Das Passwort wird in /etc/samba/secrets.tdb gespeichert&lt;br /&gt;
* Administrator Anmeldung&lt;br /&gt;
 cn=admin,dc=network&lt;br /&gt;
&lt;br /&gt;
== Smbldap-Tools ==&lt;br /&gt;
Die Konfiguration befindet sich in &amp;lt;code&amp;gt;/etc/smbldap-tools/smbldap.conf&amp;lt;/code&amp;gt;&lt;br /&gt;
* Gültigkeitsdauer des Passwortes ändern&lt;br /&gt;
Standardwert ist 45 Tage. Folgende Änderung setzt diesen Wert auf quasi unendlich:&lt;br /&gt;
 defaultMaxPasswordAge = 99999&lt;br /&gt;
Durch diese Option wird das LDAP Attribut &amp;#039;&amp;#039;&amp;#039;ShadowMax&amp;#039;&amp;#039;&amp;#039; geändert.&lt;br /&gt;
* Die Smbldap-tools verwenden&lt;br /&gt;
Die smbldap-tools befinden sich in&lt;br /&gt;
 /usr/local/sbin&lt;br /&gt;
Das selbstgeschriebene Script &amp;lt;code&amp;gt;/usr/local/sbin/adduser.sh&amp;lt;/code&amp;gt; kann verwendet werden, um einen &amp;#039;&amp;#039;&amp;#039;einzelnen Benutzer&amp;#039;&amp;#039;&amp;#039; oder &amp;#039;&amp;#039;&amp;#039;eine Liste von Benutzern&amp;#039;&amp;#039;&amp;#039; hinzuzufügen:&lt;br /&gt;
  /usr/local/sbin/adduser.sh User Gruppe Zuname Vorname Passwort&lt;br /&gt;
oder&lt;br /&gt;
 /usr/local/sbin/adduser.sh /usr/local/sbin/users.txt&lt;br /&gt;
Das Script erkennt automatisch, ob eine Liste oder ein einzelner Benutzer übergeben wurde.&lt;br /&gt;
&lt;br /&gt;
== LDAP Befehle ==&lt;br /&gt;
&lt;br /&gt;
=== Daten anzeigen mit den &amp;#039;&amp;#039;&amp;#039;smbldap-tools&amp;#039;&amp;#039;&amp;#039; ===&lt;br /&gt;
&lt;br /&gt;
 smbldap-usershow &amp;lt;username&amp;gt;&lt;br /&gt;
 smbldap-groupshow &amp;lt;groupname&amp;gt;&lt;br /&gt;
Die angezeigten Daten sind offenbar nicht geeignet für den Import als LDIF Datei. &lt;br /&gt;
: Das Toool smbldap-usershow liefert mehrere Einträge in einer Zeile, z.B. für den Eintrag objectClass&lt;br /&gt;
 objectClass: top,person,organizationalPerson,inetOrgPerson,posixAccount,shadowAccount,sambaSamAccount&lt;br /&gt;
Die Einträge sollten aber jeweils in einer Zeile stehen. &lt;br /&gt;
: Mit ldapsearch erhält man korrekt formatierte Daten:&lt;br /&gt;
 objectClass: top&lt;br /&gt;
 objectClass: person&lt;br /&gt;
 objectClass: organizationalPerson&lt;br /&gt;
 objectClass: inetOrgPerson&lt;br /&gt;
 objectClass: posixAccount&lt;br /&gt;
 objectClass: shadowAccount&lt;br /&gt;
 objectClass: sambaSamAccount&lt;br /&gt;
&lt;br /&gt;
=== Daten suchen mit &amp;#039;&amp;#039;&amp;#039;ldapsearch&amp;#039;&amp;#039;&amp;#039; ===&lt;br /&gt;
Die Option -LLL liefert die Ausgabe ohne Kommentare etc.&lt;br /&gt;
* Suchanfrage als LDAP Administrator&lt;br /&gt;
Damit wirklich alle Daten angezeigt werden, auch Passwörter, muss eine Suche als LDAP Administrator durchgeführt werden:&lt;br /&gt;
 # ganze Datenbank ausgeben&lt;br /&gt;
 ldapsearch -x -D &amp;quot;cn=admin,dc=network&amp;quot; -w &amp;lt;ldap_admin_passwort&amp;gt; -LLL &amp;gt; /root/ldap.backup.ldapmodify.ldif&lt;br /&gt;
 # einen Maschinenaccount ausgeben&lt;br /&gt;
 ldapsearch  -x -D &amp;quot;cn=admin,dc=network&amp;quot; -W -b &amp;quot;ou=Machines,dc=network&amp;quot; uid=vbox1$ -LLL&lt;br /&gt;
: -D Authentifizierung mit der nachfolgenden DN&lt;br /&gt;
: -W Passwortabfrage&lt;br /&gt;
* Suchanfrage als normaler LDAP Benutzer.&lt;br /&gt;
Alle Einträge des Benutzers stehr_kar suchen:&lt;br /&gt;
 ldapsearch -x -b &amp;quot;ou=users,dc=network&amp;quot; uid=stehr_kar -LLL&lt;br /&gt;
Speichern als LDIF Datei&lt;br /&gt;
 user=ster_kar&lt;br /&gt;
 ldapsearch -x -b &amp;quot;ou=users,dc=network&amp;quot; uid=$user -LLL | tee $user.ldif&lt;br /&gt;
Eintrag gecos des Benutzers stehr_kar suchen:&lt;br /&gt;
 ldapsearch -x -b &amp;quot;ou=users,dc=network&amp;quot; uid=stehr_kar gecos -LLL&lt;br /&gt;
Die Einträge Uid und GivenName suchen:&lt;br /&gt;
 ldapsearch -x -b &amp;quot;ou=users,dc=network&amp;quot; Uid GivenName -LLL&lt;br /&gt;
&lt;br /&gt;
=== Daten einer Gruppe ändern ===&lt;br /&gt;
Homeverzeichnisse aller Volksschüler ändern&lt;br /&gt;
 ldapsearch -x -b &amp;quot;ou=users,dc=network&amp;quot; gidNumber=502 -LLL | grep &amp;quot;uid:&amp;quot; | cut -d &amp;quot; &amp;quot; -f &amp;quot;2&amp;quot; | \&lt;br /&gt;
 while read user ; do smbldap-usermod -d /local/vs_schueler/$user $user ; done&lt;br /&gt;
&lt;br /&gt;
=== Listen erzeugen ===&lt;br /&gt;
&lt;br /&gt;
 ldapsearch -x -b &amp;quot;ou=users,dc=network&amp;quot; Uid -LLL | grep uid: | cut -d &amp;quot; &amp;quot; -f &amp;quot;2&amp;quot;&lt;br /&gt;
 ldapsearch -x -b &amp;quot;ou=users,dc=network&amp;quot; homeDirectory -LLL | grep homeDirectory: | cut -d &amp;quot; &amp;quot; -f &amp;quot;2&amp;quot;&lt;br /&gt;
&lt;br /&gt;
=== Komplette LDIF Datei erzeugen ===&lt;br /&gt;
 slapcat -l ldap.backup.ldif&lt;br /&gt;
Dieser Befehl funktioniert nur, wenn in &amp;lt;code&amp;gt;/etc/openldap/slapd.conf&amp;lt;/code&amp;gt; der Eintrag &amp;#039;&amp;#039;&amp;#039;database monitor&amp;#039;&amp;#039;&amp;#039; existiert&lt;br /&gt;
&lt;br /&gt;
Die so erzeugte LDIF Datei kann nur mit &amp;lt;code&amp;gt;slapadd&amp;lt;/code&amp;gt; wieder eingelesen werden. Um die Datei oder Teile daraus mit dem Befehl &amp;lt;code&amp;gt;ldappadd&amp;lt;/code&amp;gt; bzw &amp;lt;code&amp;gt;ldapmodify&amp;lt;/code&amp;gt; einlesen zu können, müssen bestimmte Zeilen entfernt werden.&lt;br /&gt;
&lt;br /&gt;
 # Erzeugen einer Steuerungsdatei für sed:&lt;br /&gt;
 cat &amp;gt;slapcat_ldapadd.ldif &amp;lt;&amp;lt;EOF&lt;br /&gt;
 /^creatorsName: /d&lt;br /&gt;
 /^createTimestamp: /d&lt;br /&gt;
 /^modifiersName: /d&lt;br /&gt;
 /^modifyTimestamp: /d&lt;br /&gt;
 /^structuralObjectClass: /d&lt;br /&gt;
 /^entryUUID: /d&lt;br /&gt;
 /^entryCSN: /d&lt;br /&gt;
 EOF&lt;br /&gt;
&lt;br /&gt;
 # Aufruf von slapcat und Weiterbearbeitung mit sed:&lt;br /&gt;
 slapcat -v | sed -f slapcat_ldapadd.ldif &amp;gt; ldap.backup.ldif&lt;br /&gt;
&lt;br /&gt;
=== LDIF Datei wieder einlesen ===&lt;br /&gt;
* LDAP Server stoppen:&lt;br /&gt;
 rcldap stop&lt;br /&gt;
&lt;br /&gt;
* Alle Dateien in &amp;lt;code&amp;gt;/var/lib/ldap&amp;lt;/code&amp;gt; außer &amp;lt;code&amp;gt;DB_CONFIG&amp;lt;/code&amp;gt; löschen&lt;br /&gt;
&lt;br /&gt;
* Dann alles importieren:&lt;br /&gt;
 slapadd -v -l ldap.backup.ldif&lt;br /&gt;
&lt;br /&gt;
* LDAP Server wieder starten:&lt;br /&gt;
 rcldap start&lt;br /&gt;
&lt;br /&gt;
== Ändern der Maschinenaccounts ==&lt;br /&gt;
Dies ist ein Beispiel für eine komplexe Datenänderung, durchgeführt am 08.10.2011 &lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Achtung:&amp;#039;&amp;#039;&amp;#039; Die Maschinenaccounts haben anschließend NICHT funktioniert und mussten an jeder Workstation durch neuerliches Anmelden in der Domäne angelegt werden.&lt;br /&gt;
* Maschinenaccounts als &amp;#039;&amp;#039;&amp;#039;LDIF Datei&amp;#039;&amp;#039;&amp;#039; speichern&lt;br /&gt;
 ldapsearch -x -D &amp;quot;cn=admin,dc=network&amp;quot; -W -b &amp;quot;ou=Machines,dc=network&amp;quot; -LLL | tee machines.ldif&lt;br /&gt;
* Aus dieser Datei die Namen der Maschinen extrahieren und als &amp;#039;&amp;#039;&amp;#039;machines.uid&amp;#039;&amp;#039;&amp;#039; speichern&lt;br /&gt;
 grep &amp;quot;uid:&amp;quot;  machines.ldif | cut -d &amp;quot; &amp;quot; -f 2 &amp;gt; machines.uid&lt;br /&gt;
* Daten aus alten Accounts extrahieren, die weiter gebraucht werden, z.B. Passwörter&lt;br /&gt;
 # ldif.old.sh&lt;br /&gt;
 &lt;br /&gt;
 while read zeile&lt;br /&gt;
    do ldapsearch -x -D &amp;quot;cn=admin,dc=network&amp;quot; -w &amp;lt;passwd&amp;gt; -b &amp;quot;ou=Machines,dc=network&amp;quot; uid=$zeile -LLL \&lt;br /&gt;
       | tee ~/ldap /ldif.old/$zeile.ldif&lt;br /&gt;
 done &amp;lt; ./machines.uid&lt;br /&gt;
 &lt;br /&gt;
 rm ~/ldap/extract/*&lt;br /&gt;
 for datei in ~/ldap/ldif.old/*&lt;br /&gt;
    do &lt;br /&gt;
    name=`basename $datei`.extract&lt;br /&gt;
    echo objectClass: sambaSamAccount &amp;gt; ~/ldap/extract/$name&lt;br /&gt;
    echo &amp;quot;sambaAcctFlags: sambaAcctFlags: [W          ]&amp;quot; &amp;gt;&amp;gt; ~/ldap/extract/$name&lt;br /&gt;
    grep sambaSID $datei &amp;gt;&amp;gt; ~/ldap/extract/$name&lt;br /&gt;
    grep displayName $datei &amp;gt;&amp;gt; ~/ldap/extract/$name&lt;br /&gt;
    grep sambaNTPassword $datei &amp;gt;&amp;gt; ~/ldap/extract/$name&lt;br /&gt;
    grep sambaPwdLastSet $datei &amp;gt;&amp;gt; ~/ldap/extract/$name&lt;br /&gt;
 done&lt;br /&gt;
* Maschinenaccounts ändern&lt;br /&gt;
 # ldif.new.sh&lt;br /&gt;
  &lt;br /&gt;
 # Aufgelistete Maschinenaccounts löschen&lt;br /&gt;
 while read zeile&lt;br /&gt;
    do ldapdelete -x -D &amp;quot;cn=admin,dc=network&amp;quot; -w &amp;lt;passwd&amp;gt; uid=$zeile,ou=Machines,dc=network&lt;br /&gt;
 done &amp;lt; ./machines.uid &lt;br /&gt;
 &lt;br /&gt;
 # Maschinenaccounts neu erzeugen&lt;br /&gt;
 while read zeile&lt;br /&gt;
    do smbldap-useradd -w $zeile&lt;br /&gt;
 done &amp;lt; ./machines.uid&lt;br /&gt;
 &lt;br /&gt;
 # Für jede aufgelistete Maschine eine LDIF Datei speichern&lt;br /&gt;
 while read zeile&lt;br /&gt;
    do ldapsearch -x -D &amp;quot;cn=admin,dc=network&amp;quot; -w &amp;lt;passwd&amp;gt; -b &amp;quot;ou=Machines,dc=network&amp;quot; uid=$zeile -LLL \&lt;br /&gt;
       | tee  /tmp/ldif.new&lt;br /&gt;
    # Leerzeilen entfernen und speichern&lt;br /&gt;
    sed -e &amp;#039;/^[ ]*$/d&amp;#039; /tmp/ldif.new &amp;gt; ~/ldap/ldif.new/$zeile.ldif&lt;br /&gt;
 done &amp;lt; ./machines.uid&lt;br /&gt;
 &lt;br /&gt;
 # Extrahierte Zeilen der alten Accounts zur neuen LDIF Datei hinzufügen   &lt;br /&gt;
 rm ~/ldap/ldif.complete/*&lt;br /&gt;
 for datei in ~/ldap/ldif.new/*&lt;br /&gt;
    do name=`basename $datei`&lt;br /&gt;
    cat $datei ~/ldap/extract/$name.extract &amp;gt; ~/ldap/ldif.complete/$name&lt;br /&gt;
 done&lt;br /&gt;
 &lt;br /&gt;
 # Die aufgelisteten Maschinenaccounts in der LDAP Datenbank wieder löschen&lt;br /&gt;
 while read zeile&lt;br /&gt;
    do smbldap-userdel $zeile&lt;br /&gt;
 done &amp;lt; ./machines.uid&lt;br /&gt;
 &lt;br /&gt;
 # Die neuen Maschinenaccounts in LDAP einlesem&lt;br /&gt;
 for datei in ~/ldap/ldif.complete/*&lt;br /&gt;
    do ldapadd -x -D &amp;quot;cn=admin,dc=network&amp;quot; -w &amp;lt;passwd&amp;gt; -f $datei&lt;br /&gt;
 done&lt;br /&gt;
&lt;br /&gt;
== Apache Authentifizierung über LDAP ==&lt;br /&gt;
Siehe: [[Apache]]&lt;br /&gt;
&lt;br /&gt;
== Weitere INFO ==&lt;br /&gt;
[http://arktur.schul-netz.de/wiki/index.php/Administratorhandbuch:LDAP http://arktur.schul-netz.de/wiki/index.php/Administratorhandbuch:LDAP]&lt;/div&gt;</summary>
		<author><name>fg&gt;WikiSysop</name></author>
	</entry>
</feed>