So zumindest erscheint es mir immer mehr und vor allem immer wieder. Das bewusstsein, dass es sich dabei nur um "somebody else computer" handelt scheint weitestgehend zu verschwinden. Umso lustiger ist es dann für mich, wenn man mit den ganzen Fehlerhaften annahmen aufräumen kann. das heißt dann auch, dass man mal bei einem Outtake schauen kann, was da so los ist.
Heute ist so ein Denkwürdiger Tag. Die Amazon S3 Cloud hat Schluckauf und die darin genutztne mehr als 143,000 Webseiten ebenso.
Hat man ein LDAP Verzeichnis mit vielen Benutzern, dann ist einem angeraten direkt zu Beginn ein gutes, belastbares Design zu erstellen. Tut man das nämlich nicht, so hat man schnell einige hundert Benutzerkonten an falscher Stelle.
Wer dann nacharbeiten möchte, der such sich entweder gescheite Tools, oder macht es selbst. Dabei hat man eigentlich nicht viele Möglichkeiten. Im Grunde genommen geht es nur darum den DN eines Eintrages zu ändern, sodass dieser dann zum neuen Design passt.
Wenn man Beispielsweise 2000 Benutzer in einer OU hat, davon aber nur 789 zu einer bestimmten Gruppe gehörende verschieben will, so kann man das natürlich auch per Hand machen. Oder aber, man jongliert mit den vorhandnen Informationen und sichert sich gleich für die Zukunft ab, denn mit hoher Wahrscheinlichkeit wird so etwas in ähnlicher Form wieder vorkommen.
Zunächst einmal brauch man alle Benutzer einer Gruppe, und das möglichst durch Leerzeichen getrennt. Anschließend muss man sich eine LDIF zusammenschrauben die es einem ermöglicht ein Konto zu verschieben. In schnell und einfach sieht das dann so aus:
#!bin/bash PASSWORD=STRENG_GEHEIMES_PASSWORD for i in $(ldapsearch -x cn=G_R_U_P_P_E_N_N_A_M_E | grep memberUid | cut -f 2 -d " " | sort) do ldapsearch -x -s one -b ou=Users,dc=DOMAIN,dc=DE uid=$i | grep -i dn if [ "$?" -eq "0" ]; then echo "dn: uid=$i,ou=Users,dc=DOMAIN,dc=DE\nchangetype: moddn\nnewrdn: uid=$i\ndeleteoldrdn: 1\nnewsuperior: ou=extern,ou=Users,dc=DOMAIN,dc=DE" \ | ldapmodify -x -w $PASSWORD -D "cn=Manager,dc=DOMAIN,dc=DE" -H ldap://localhost echo "$i wurde verschoben" fi done
Das Leben ist schön.
Ich musste leider vor kurzem mal wieder an einem Windows Server um eine profane Aufgabe zu erfüllen. Es sollten externe NTP Server eingerichtet werden. Da der Server gleichzeitig auch ein DC war, gestaltet sich das (natürlich) schwieriger als erwartet.
Es müssen die folgenden Befele ausgfeführt werden, damit der gewünschte Server für die Abfragen genutzt wird:
net stop w32time w32tm /config /syncfromflags:manual /manualpeerlist:"ntp1.domaene.de,ntp2.domaene.de" w32tm /config /reliable:yes net start w32time
Anschließend war dann auch wieder alles gut.