PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : User zum Ldap Server hinzufügen



cHiLLa
10.05.07, 19:37
Guten Tag.

Ich habe eine Frage bezüglich des hinzufügen von Usern in einen ldap server.

Ich habe einen SLES 10 Server laufen der die Benutzerauthentifikation über ldap abwickelt, und die Verwaltung der Sambabenutzeraccounts übernimmt.

Jetzt muss ich ca. 1100 neue User hinzufügen.
Normalerweise füge ich neue Benutzer über "Yast: Benutzer Hinzufügen" hinzu.
Dadurch werden anscheinend alle nötigen Vorgänge von Yast übernommen, sodass man sich direkt danach von einem Windows Rechner anmelden kann.

Das Problem ist, dass ich keine 1000 Benutzer über Yast hinzufügen kann/will.
Gibt es eine Möglichkeit, aus einer Textdatei username,realname,passwd,homepfad,uid,gid usw auszulesen und als user anzulegen?

Im Nachhinein sollten die angelegten User auch von Yast aus verwaltet werden können. D.h. das sie nach dem gleichen Schema zum ldap Server hinzugefügt werden müssen wie Yast das tut.

Ich hoffe es gibt eine Möglichkeit, versucht habe ich es mit dem Batch-Vorgehen von Webmin, bin daran aber gescheiter.

MfG
cHiLLa

carstenj
10.05.07, 22:13
Hi,

ja, mit Hilfe von sed, awk, grep etc. Da aber niemand weiss, wie deine Datei aussieht, sind konkretere Tipps schwierig.

cane
11.05.07, 01:46
Es gibt commandlinetools. migratontools, alles mögliche.

beschreibe detailliert von wo nach wo die User migriert werden sollen, welcche Attribute bestehen, migriert werden sollen, etc.

mfg
cane

bla!zilla
11.05.07, 10:58
Einfach ein LDIF File mit den Usern und Gruppen bauen und per ldapadd in das LDAP blasen.

cane
11.05.07, 14:12
Wenn denn keine eigenen Schemata existieren etc.

mfg
cane

cHiLLa
11.05.07, 16:26
hallo, erst mal danke für die vielen antworten.

also meine namensdatai sieht folgendermaßen aus:

eine Exeltabelle: Spalte A=Nachname Spalte B=Vorname Spalte C=Leiter

zB.:Albers Michael WTa

nun habe ich weitere attribute wie homepfad usw.
Eine fertige Zeile sieht so aus:

create:MichaelWTa:123456::100:MichaelAlbers:/home/WTa/Michael:/bin/false:::::

nach dem schema:
create:username:passwd:uid:gid:realname:homedir:sh ell:min:max:warn:inactive:expire

pixel
11.05.07, 16:30
damit das scheme exakt gleich ist kannst du ja vorher einen vorhanden User aus dem LDAP exportieren.

cHiLLa
11.05.07, 16:39
gleichzeitig sollte der homepfad auch auf dem fs generiert werden, wobei ich dafür auch ein script basteln könnte.

das wichtige ist halt nur, dass die user die selben attribute bekommen, die yast sonst hinzufügt, damit der user gleichzeitig samba user ist und zu einer samba gruppe gehört. Leider hat Novell die zuordnungen zwischen samba login, unix login und ldap eintrag nicht so gestrickt wie man es erwarten würde. wenn ich die standart objectclass posixuser, shadowuser, sambasamaccount usw. benutze, werden die attribute wie gruppenzugehörigkeit anders in ldap gespeichert, folglich kann yast die attribute nicht auslesen.

Bsp: wenn mit yast ein benutzer zu einer gruppe hinzugefügt wird sieht es so aus:

cn: users
gidNumber: 1000
member: uid=gap,ou=people,dc=igs,dc=domain
(unter member stehen alle user die der gruppe users angehören)

die objektklassen für den cn: users sind top , posixGroup , groupOfNames

wenn ich den user nun zb mit webmin der gruppe hinzufüge steht der username unter
memberUid: gap

nicht aber unter member.
Yast muss also eine art "form" verwenden um ldap zu verwalten. nun müsste ich doch eigentlich nur diese form von einem tool wie myldapadmin auslesen lassen damit das tool "weiß" wie es die benutzer anlegen und verwalten soll?

cHiLLa
11.05.07, 16:41
damit das scheme exakt gleich ist kannst du ja vorher einen vorhanden User aus dem LDAP exportieren.


wohin exportieren? in eine ldif datei?
wie sage ich dem import-tool dann welche werte er in die ldip datei schreiben soll und welche er nach der ldap umgebung als standart lesen und hinzufügen soll?

cane
11.05.07, 23:01
wohin exportieren? in eine ldif datei?


Ganau, per ldapsearch:
http://en.wikipedia.org/wiki/LDAP_Data_Interchange_Format
http://www.hmug.org/man/1/ldapsearch.php


wie sage ich dem import-tool dann welche werte er in die ldip datei schreiben soll und welche er nach der ldap umgebung als standart lesen und hinzufügen soll?

1) Anschauen wie die LDIF des Users aussieht.
2) Genau das selbe für alle 1100 user in die LDIF eintragen, also die Excel tabelle als CSV exportieren und diese daten per Script ins richtige Format bringen.
3) LDIF per slapadd einlesen

Frage: Wo kommt die Excel Tabelle her? Vielleicht entstand sie aus besser geeigneten Datenquellen?

Tipp: In /etc/sysconfig/openldap disen Parameter setzen: "OPENLDAP_RUN_DB_RECOVER="yes"

Grund: Die dem LDAP oft zugrundeliegende Berkley Datenbank "BDB" kann unter hoher Last und wenn sie nicht auf einer eigenen Partition oder einem journaling Filesystem liegt inkonsistent werden --> der LDAP bleibt hängen, nichts geht mehr.

Dann muss man nur noch einen Restart des LDAP durchführen und spart sich in 99 % der Fälle das unter SLES sonst nötige "slapd_db_revover -h /var/lib/ldap/"

@all
Habt ihr die oben beschriebene Problematik der inkonsistenten BDB auch schon gespürt? Was tut ihr dagegen:
BDB auf ext2 legen?
BDB auf eigene Partition?
Anderes Backend?

mfg
cane

cHiLLa
12.05.07, 13:50
hmmm..gibt es denn ein script für die generierung von einer ldif datei aus einer txt datei die meine parameter beinhaltet? wenn ja, wie mache ich für alle user aus einem clear type pw ein ssha pw, bzw. kann das script das auch?

die ldap bdb liegt auf einer eigenen ext3 partition.
anstatt der exel tabelle hätte ich noch eine alte dbase datenbank anzubieten :D

cHiLLa
12.05.07, 13:52
also ich könnte das script natürlich selbst schreiben...auch zum encrypten der pw's aber vllt gibts ja schon sowas..muss ja net das rad neu erfinden ;)

mamue
12.05.07, 16:22
Darf ich noch mal nachfragen?
Es geht Dir im Moment darum, aus einer Textdatei mit Daten zu neuen Benutzern die LDIF zu erzeugen, bzw. diese direkt in LDAP reinzuschreiben?

Ich hole meine User aus einer Verwaltungsdatenbank und lege sie mit einem perl-skript im Verzeichninsdienst an (+Cyrus Mailboxen).

mamue

cHiLLa
13.05.07, 16:09
na klar darfst du nachfragen ;)

und ja du hast meine "problematik" genau erkannt.
was für eine art db ist es denn und wie ist das script aufgebaut?
hast du das selbst geschrieben?

vllt kannst du mir das ja mal schicken damit ich mir den code anguggen kann.

mfg
cHiLLa

mamue
14.05.07, 08:40
Natürlich darfst Du das script haben, es steht unter der speziellen "mamue-Lizenz": Mach damit, was Du willst, erzähl nur keinem, dass es von mir stammt ;-)
Es ist ein perl script, dass einige Attribute aus einer SQL-Datenbank (bei mir PostgreSQL) ausliest, daraus die LDAP-Einträge formt und das dann einfügt. Die smbldap-Tools machen im Prinzip fast genau das gleich, nur erstelle ich noch das Homeverzeichnis und schreibe die Kennwörter der Schüler in die Datenbank.
Im Prinzip könnte man die Daten genausogut aus einer CSV-datei holen. Derzeit hole ich die Schülerdaten aus einer Verwaltungsdatenbank, erzeuge Tabellen im CSV-Format, schreibe das in meine Datenbank und dann erst kommt das Perl-Script.
Falls Du nur die Samba-Accounts erstellen möchtest, lohnt sich allerdings auch ein Blick auf die smbldap-Tools.
Das perl-script sollte im Anhang liegen, wie gesagt, ich leugne, das jemals geschrieben zu haben.

HTH,
mamue

cHiLLa
14.05.07, 17:56
interresant das es sich bei dir auch um eine schule handelt...und dazu noch anscheinend mit ähnlichem konzept!
wie heißt die schule wenn man fragen darf?

mamue
16.05.07, 10:26
Für's Protokoll: Ich habe per persönlicher Nachricht geantwortet. linuxforen.de ist einfach im Google-Ranking zu weit oben - wenn ich hier den Namen der Schule nenne, finden alle, die danach im Internet suchen, zunächst einmal dieses Forum ;-)

mamue

cane
16.05.07, 15:59
Für's Protokoll: Ich habe per persönlicher Nachricht geantwortet. linuxforen.de ist einfach im Google-Ranking zu weit oben - wenn ich hier den Namen der Schule nenne, finden alle, die danach im Internet suchen, zunächst einmal dieses Forum ;-)

Super - ich hatte scho einen Newsletter vorbereitet der interessierten, finanzkräftigen Schülern hilft ihre Freiheiten zu erweitern ;) :ugly:

mfg
cane

mamue
17.05.07, 11:46
Super - ich hatte scho einen Newsletter vorbereitet der interessierten, finanzkräftigen Schülern hilft ihre Freiheiten zu erweitern ;) :ugly:

mfg
cane
Ähm.. Magst Du mir das erklären? Ich glaube nicht, dass ich arg zuviel preisgegeben habe mit dem Skript. Die Kennwörter sollten allen Samba-Admins als die in Terpstras Buch verwendeten bekannt sein. Zudem ist der direkte Zugriff auf den Verzeichnisdienst ohnehin geblockt, ebenso der auf PostgreSQL. Shell Zugang haben nur wenige.
Habe ich Deiner Ansicht nach etwas übersehen?

Danke,
mamue

cane
23.05.07, 17:06
Ähm.. Magst Du mir das erklären?

Hi mamue,

war nichts als ein Joke und hatte keinen Bezug zu deinem Script :)

mfg
cane