• Willkommen im Linux Club - dem deutschsprachigen Supportforum für GNU/Linux. Registriere dich kostenlos, um alle Inhalte zu sehen und Fragen zu stellen.

samba-Account mit Yast im LDAP anlegen, Vorlage ?

pixel

Hacker
Hallo zusammen,

ch habe an meinem SuSE-9.1 Yast so eingestellt das ich damit die Benutzer im
LDAP-Verzeichnis anlegen kann. Das funktioniert schon ganz gut. Bedeutet ich
(mit Hile von Dieter) habe das System so eingestellt das die Benutzer bei
einer lokalen Anmeldung bzw. über ssh über das LDAP-Verzeichnis verifiziert
werden.

Wenn ich nun einen Benutzer mit Yast anlege sieht dieser im LDAP-Verzeichnis
so aus:

# testuser, komet.net
dn: uid=testuser,dc=komet,dc=net
cn: Test User
gidNumber: 1000
givenName: Test
homeDirectory: /data/home/testuser
loginShell: /bin/bash
objectClass: top
objectClass: posixAccount
objectClass: shadowAccount
objectClass: inetOrgPerson
shadowInactive: -1
shadowLastChange: 12570
shadowMax: 99999
shadowMin: 1
shadowWarning: 14
sn: User
uid: testuser
uidNumber: 1002
userPassword:: e21kNX1KOERWZnAxSVlPRWJvWTNKaWcyVVdBPT0=

Um mich lokal bzw. mit Linux-Clients anzumelden reichen diese Attribute aus.
Nun soll das LDAP-Yast-System so erweitert werden das beim Anlegen eines
Users zusätzliche Attribute für Samba automatisch definiert werden.

Hierzu gibt es meiner Meinung nach auch eine Funktion in Yast. Leider
funktioniert sie nicht wie erwartet was aber das wird wahrscheinlich daran
liegen das ich einfach nicht weiß wie sie gedacht ist.

In yast gibt es unter: Netzwerkdienste / LDAP-Client
-> erweiterte Konfiguration
-> Einstellungen für die Benutzerverwaltung konfigurieren...

Die Modulkonfiguration. Hier kann sowohl für Gruppen wie auch Benutzer ein
Modul konfiguriert werden. Hier kann ich lediglich Attribute bzw. deren werte
ändern jedoch keine neuen hinzufügen. Das Modul für der User hat folgende
Eigenschaften:

# y2_users, ldapconfig, komet.net
dn: cn=y2_users,ou=ldapconfig,dc=komet,dc=net
cn: y2_users
objectClass: top
objectClass: suseModuleConfiguration
objectClass: suseUserConfiguration
suseDefaultBase: dc=komet,dc=net
suseDefaultTemplate: cn=suseusertemplate,ou=ldapconfig,dc=komet,dc=net
suseMaxPasswordLength: 8
suseMaxUniqueId: 60000
suseMinPasswordLength: 5
suseMinUniqueId: 1000
suseNextUniqueId: 1000
susePasswordHash: MD5
suseSearchFilter: objectclass=posixaccount
suseSkelDir: /etc/skel

Hier habe ich lediglich das Attribut 'susePasswordHash' von CRYPT auf MD5
geändert da ich diese Verschlüsselung benutze.

In diesem Yast-Modul gibt es (unten, rechts) noch eine Funktion 'Vorlage
konfigurieren' wo ich:

cn=suseusertemplate,ou=ldapconfig,dc=komet,dc=net

zur konfiguration auswählen kann. Wenn ich das tue gelange ich in ein Menü
welches in der Hilfe (links) wie folgt beschrieben ist:

"Konfigurieren Sie hier die Vorlage zum Anlegen neuer Objekte (wie z.B.
Benutzer oder Gruppen)."

Also eigentlich genau das was ich suche. Hier habe ich in der unteren Tabelle
(Standardwerte für neue Objekte) neben den schon existierenden Attributen:

- homedirectory = /data/home/%uid
- loginshell = /bin/bash

welche ja auch funktionieren ein weiteres Attribut mit seinem Wert hinterlegt:

objectclass = person

Da dies das eines der Attribute ist die ich für einen Samba-Account benötige.
Anschließend habe ich den benutzer (testuser) gelöscht und habe ihn mit Yast
neu angelegt. Jedoch hat der User im LDAP-Verzeichnis kein zusätzliche
Attribut (objectclass = person).
Was habe ich falsch gemacht bzw. weiß jemand wie das funktioniert Yast so
einzustellen das User auch gleich Samba-Konform angelegt werden?

Viele Grüße
Pixel
 

stka

Guru
Hier mal ein kleins HOWTO. So habe ich das gemacht und so läuft es auch:

Einrichten eines Servers mit Suse 9.0,
openLDAP 2.1.22-65 und Samba 3

Ziel:
Am Ende sollen im Netz zwei Server laufen, die beide als LDAP-Server und samba-Server arbeiten. Einer der Server wird LDAP-Master und samba-PDC der ander LDAP-Slave und samba BDC. Der Master-Server wird gleichzeitig noch als Mailserver mit Postfix und qpopper eingesetzt.
Wenn die Grundkonfiguration läuft, geht es dann weiter mit der Absicherung des Systems, das bedeutet:
Umstellung auf verschlüsselte Passwörter im LDAP.
Verschlüsselte Datenübertragung mit LDAP.
Spam- und Vierenkontrolle von E-Mails.
Verschlüsselte Anmeldung am Mailserver.


Konfiguration des Master-Servers:

Die Suse Distribution wird im minimalsystem installiert, zusätzlich wird die Option Erfahrener Benutzer ausgewählt. Dadurch werden alle benötigten Libraries und Programme mit installiert, die benötigt werden. Die folgenden Serverdienste und Libraries müssen noch zusätzlich ausgewählt werden:
apache2 Web-Server
apache2-mod_php4
bind9 Nameserver
LDAP Server und Werkzeuge
qpopper
openldap2-devel
inetd
libacl-devel

Der samba-Server darf nicht von der Distribution ausgewählt werden, da bei der Suse 9.0 nur der Samba 2.2.8a enthalten ist. Die Quellen für den Samba 3.0 werden unter http://www.samba.org bereit gestellt. Der Samba-Server muss mittels der Quellen installiert werden, da zusätzliche Optionen eingebunden werden müssen.

Für die Administration des LDAP- und Samba-Servers werden die folgenden Programme und Tools verwendet:
smbldapadmin, das Programm wir über den Web-Server bereitgestellt somit ist die Administration des LDAP-Servers von jeden Arbeitsplatz aus möglich. Das Programm verwaltet sowohl die POSIX- als auch die Samba-Benutzer. Die aktuelle Versionsnummer ist 0.9.2, leider unterstützt diese Version nur Samba 2.2.x beim anlegen von Benutzern, Gruppen und Maschinen, aber vorhandene Benutzer können gut mit dem Programm verwaltet werden. Die Web-Seite für die aktuelle Version des Programms ist http://phpldapadmin.sourceforge.net
smbLDAP-tools, diese Tools werden bei den Quellen des Samba-Server mitgeliefert, mit diesen Tools werden Benutzer, NT-Maschinen und Gruppen im LDAP-Verzeichnis angelegt und so konfiguriert, dass sie sowohl als Samba- als auch als POSIX-Benutzer verwendet werden werden können. Die aktuelle Version wird unter http://www.idealx.org bereitgestellt.
pdbedit, hiermit werden bestimmte Policies für Benutzerkonten gesetzt, wie "maximum passord age" usw. Das Tool wir zusammen mit Samba bereitgestellt.

Konfiguration des Nameservers:

Damit der LDAP- und Samba-Server anschließend auch erreichbar sind, muss unbedingt ein Nameserver im Netz laufen. Das sollte der erste Schritt bei der Einrichtung des Master-Servers werden. Beispieldateien stelle ich hier zur Verfügung:
named.conf => Grundeinstellungen für den Nameserver
db.kania => Forwardlookup Zonendatei
db.192.168.0 => Reverselookup Zonendate
Nach der Konfiguration den Nameserver mit "rcnamed start" starten. Nach dem Start sollte auf jeden Fall die Datei /var/log/messages auf Fehlermeldungen überprüft werden. Wenn der Nameserver ohne Fehler gestartet wurde, sollte jetzt eine Namensauflösung mit dem Kommando "host <name>" oder "host <IP>" möglich sein. Jetzt noch den "named" im "runleveleditor" des YAST eintragen, damit der Nameserver auch beim Neustart gestartet wird.

Konfiguration des LDAP-Servers:

Als nächstes soll nun der LDAP-Server eingerichtet werden.
1.Für die Verwaltung des LDAP-Servers gibt im Verzeichnis "/etc/openLDAP" die Datei "slapd.conf" in der Datei werden alle Grundeinstellungen und Zugriffsrechte verwaltet. Zu diesem Zeitpunkt sind nur die folgenden Änderungen durchzuführen:
-include /etc/openldap/schema/cosine.schema
-include /etc/openldap/schema/inetorgperson.schema
-include /etc/openldap/schema/nis.schema
-Für den Zugriff von älteren lpad-Clients wird der Eintrag allow bind_v2 benötigt.
-Nun noch der Eintrag für die LDAP-Domäne suffix "dc=kania,dc=local"
-Und den Verwalter des LDAP-Servers rootdn "cn=manager,dc=kania,dc=local"
-Das Passwort kann im Momemt erst mal in Klartext eingetragen werden, das wir dann später noch geändert rootpw secret
Für die meisten Einträge sind schon Mustereinträge in der Datei vorhanden.
2.Nach der Konfiguration wird der LDAP-Server mit dem Kommando rcldap start gestartet. Auch hier sollte die Datei /var/log/messages/ kontrolliert werden. Mit dem Kommando tail -f /var/log/messages können auf einem anderen Terminal die Meldungen beim Starten beobachtet werden.
3.Im nächsten Schritt müssen die ersten Objekte in das LDAP-Verzeichnis eingetragen werden. Das geschieht mit Hilfe einer vorher erstellten ldif-Datei. Nach der Erstellung der ldif-Datei wird der Inhalt mit dem Kommando ldapadd -x -h localhost -D "cn=manager,dc=kania,dc=local" -f neu.ldif -W in das Verzeichnis eingetragen. Zur Kontrolle kann jetzt auch der LDAP-Browser von www.iit.edu/~gawojar/LDAP verwendet werden.
4.Jetzt den YAST starten und den LDAP-Server in den Runleveleditor eintragen. Danach kann mit der Benutzerverwaltung des YAST ein LDAP-Benutzer eingerichtet werden. Dazu muss in der Benutzerverwaltung erst im Punkt Option für Experten der Unterpunkt Authentifikation und Benutzerquellen ausgewählt werden und der LDAP-Server eingerichtet werden. In der Erweiterten Konfiguration unter Konfigurations-Base DN muss hier der Container für die Benutzer angegeben werden. Anschließend unter Menüpunkt Filter den Punkt LDAP-Benutzer auswählen. Hier dann einen Benutzer einrichten, dieser Benutzer wird nur zum Testen des LDAP-Servers benötigt, da diese Benutzer nicht für den Einsatz mit Samba 3.0 geeignet sind.
5.Nach dem Erstellen eines Benutzerkontos und der Vergabe ein Passworts, kann sich der Benutzer an einer Konsole anmelden.
6.Soll der LDAP-Server die zentrale Benutzerverwaltung für mehrere Linux-Clients durchführen, wir jetzt auch keine NIS mehr benötigt. Dann sollte jetzt noch ein NFS-Server konfiguriert werden mit dem die Basisverzeichnisse und Datenverzeichnisse der Benutzer exportiert werden.
7.Auf den Clients muss jetzt nur noch der LDAP-Client und der NFS-Client eingerichtet werden und die Anmeldung ist möglich.

Konfiguration des Samba-Servers:

Nach dem entpacken der Quellen befindet sich im Verzeichnis samba3.0.0/source das Programm "configure" diese muss mit folgenden Parameter aufgerufen werden:
--with-acl-support => Für die erweiterten Dateisystemrechte.
--with-ldap => Die LDAP Unterstützung.
--with-ldapsam => Security Acount Manager über LDAP.
--with-qouta => nur wenn Plattenquotas benötigt werden.

1.Wenn configure ohne Fehler durchgelaufen ist (das dauert je nach Rechner auch mal etwas länger) kann mit dem Kommando make Samba kompiliert werden.
2.Nach Abschluss noch ein make install um die Dateien in die entsprechenden Verzeichnisse zu installieren. Im Anschluß daran befinden sich alle benötigten Dateien im Verzeichnis /usr/local/samba/.
3.Alle Dateien in den Unterverzeichnis bin/ und sbin/ müssen nun noch in den Pfad eingetragen werden, oder als Link im Verzeichnis /usr/bin und /usr/sbin/ abgelegt werden. Am besten auch gleich die Man-Pages im Verzeichnis man/manx in das entsprechende Verzeichnis der lokalen Man-Pages verlinken.
4.Im Quellverzeichnis von Samba gibt es ein Unterverzeichnis "examples/LDAP/". Direkt in diesem Verzeichnis befindet sich eine Datei samba.schema, diese muss in das Verzeichnis /etc/openldap/schema kopiert werden. Damit das Schema auch von LDAP verwendet werden kann, muss das Schema in der Datei /etc/openldap/slapd.conf als include-Zeile nach dem nis.schema eingetragen werden. Danach muss der LDAP-Server neu gestartet werden!
5.Als nächstes müssen auf dem Samba-Server verschieden Grundeinstellungen durchgeführt werden. Diese werden in der Datei /usr/local/samba/lib/smb.conf gespeichert.
6.Um die Datei mit dem web-basierten Tool swat bearbeiten zu können, muss nun in der Datei /etc/inetd.conf die Zeile für den swat aktiviert werden und der inetd gestartet werden. Dies muss auch über den YAST dauerhaft eingetragen werden.
7.Da der Samba-Server nicht direkt aus der Distribution installiert wurde, muss das Init-skript für den Start des Dienstes beim booten selbst geschrieben und in das Runlevel 3 eingetragen werden
8.Damit der Samba-Server auch administrativ auf den LDAP-Server zugreifen kann, muss mit dem Kommando smbpasswd -w secret das Passwort des LDAP-Mangers noch in die Datei secrets.tdb eingetragen werden. Diese Datei ersetzt unter anderem die Datei MACHINE.SID
9.Im Verzeichnis examples/ldap/smbldap-tools befinden sich die Tools zur Benutzerverwaltung. Das ganze Verzeichnis wird am besten nach /usr/local/samba kopiert. In der Datei smbldap_conf.pm müssen alle Parameter des LDAP- und des Samba-Servers eingetragen werden. Alle Optionen sind dort beschrieben.
10.Für die Änderung der Sambapasswörter sollte nicht das Programm smbpasswd verwendet werden, sondern das Programm mkntpwd diese Programm wird als Quelle mitgeliefert und befindet sich im Verzeichnis
/usr/local/samba/smbldap-tools/mkntpwd. Dort einfach in dem Verzeichnis make aufrufen und das kompilierte in den entsprechenden Pfad (siehe smbldap_conf.pm) kopieren.
11.Jetzt sollte erst einmal das phpldapadmin-Tool installiert werden. Dazu die Datei entpacken, und das Verzeichnis nach /srv/www/htdocs/ kopieren. Auf jeden Fall müssen einige PHP-Scripte über CVS ausgetauscht und ergänzt werden, da ansonsten keine Unterstützung für Samba 3 gegeben ist. Beim kopieren sollte gleich ein kürzerer Name als Ziel angegeben werden, das erleichtert das Finden. Im Verzeichnis des phpLDAPadmin befindet sich eine Datei config.php.example, diese Datei muss nach config.php kopiert werden und auf den eigenen Server angepasst werden. Danach muss nur noch der Apache-Web-Server mit rcapache2 start gestartet werden und über http://<server>/phpldap/index.php ist dann das Tool phpldapadmin erreichbar. Das Starten des apache2 Webservers muss im YAST noch dauerhaft eingetragen werden. Achtung, mit dem phpldapadmin Version 0.9.2 können zwar Attribute geändert und hinzugefügt werden, aber KEINE Samba3 Attribute, der phpldapadmin unterstütz in dieser Version nur Samba2.x!
12.Bevor nun die ersten Benutzer und Gruppen angelegt werden können, sollten noch ein paar Passwortrichtlinien gesetzt werden, dies geschieht mit dem Programm pdbedit das beim kompilieren von Samba erstellt wurde und im Verzeichnis /usr/local/samba/bin liegt. Hier ein paar Beispiele:
pdbedit -P "maximum password age" -C 7776000 ( 90 Tage in Sekunden umgerechnet)
pdbedit -P "min password length" -C 5
pdbedit -P "password history" -C 20 ( speichert die letzten 20 Passwörter)
pdbedit -P "bad lockout attempt" -C 3 ( Sperrung nach drei falschen Eingaben)
pdbedit -P "lockout duration" -C 180 ( Sperrung für 3 Minuten)
13.Jetzt können die ersten Gruppen und Benutzer angelegt werden. Es gibt ein paar Standardgruppen die zu erst angelegt werden müssen, diese Gruppen benötigen ganz bestimmte Gruppen-ID's, da dies die Standardgruppen des Windowssystems wiederspiegeln. Diese Gruppen werden zunächst als POSIX-Gruppe erzeugt, entweder mit smbldap-groupadd.pl oder mit dem phpldapadmin, der Name der Gruppen spielt keine Rolle nur die RID (bei LINUX GID) ist ausschlaggebend. Zu diesen Gruppen gehören:
- Domain_admins == GID 512
- Domain_users == GID 513
- Domain_guests == GID 514
- NT-Maschinen == GID 553
Eine Gruppe wird mit dem folgenden Kommando angelegt:
smbldap-groupadd.pl -g <gid> <Gruppen Name>
In einer NT-Domain werden alle globalen Gruppen über eine eindeutige SID bekannt gemacht, bei den oben aufgeführten Gruppen handelt es sich um "well known Groups" die immer eine feste SID haben. Nun fehlt aber bei der POSIX-Gruppe der Bezug zur Domäne, dieser muss mit einem Groupmapping hergestellt werden. Dazu kann das Kommando net verwendet werden, hier ein Beispiel:
net groupmap rid=512 ntgroup=Domainadmins UNIX=group=Domain_admins
Die NT-Gruppe muss nicht vorher erzeugt werden, die Gruppen werden intern verwaltet. Die Groupmappings kann man sich mit den Kommando net groupmap LIST anschauen. Die Groupmappings können aber auch mit Hilfe des phpldapadmin erzeugt werden, Vorteil dabei, die Groupmappings erscheinen im LDAP-Baum und zeigen auch die Mitglieder an.
Neben den oben aufgeführten Gruppen kann jede POSIX-Gruppe so zu einer globalen Gruppe werden und somit für die Vergabe von Rechten auf einem Windows-Server Verwendung finden.
14.Ich habe das Skript smbldap-useradd.pl etwas geändert, so dass jeder Benutzer automatisch ein Feld mail bekommt. Für dieses Feld wird automatisch die E-Mail Adresse des Benutzers generiert. Die E-Mail Adresse setzt sich aus dem Benutzernamen und der DNS-Domäne zusammen. Die Variable heißt domain_name und ist als lokale Variable im smbldap-useradd.pl Skript abgelegt. In der Datei ist auch der Pfad auf das Programm smbldap-passwd.pl abgelegt, den habe ich auf die Umgebung angepasst.
15.Nun kann der erste Benutzer angelegt werden mit dem Kommando:
smbldap-useradd.pl -a -m -B 1 -P <Benutzername>
mit dem Schalter -g kann auch noch die default-Gruppe geändert werden. Um nun einen Benutzer als Domainenadmin anzulegen, wir das Kommando wie folgt eingegeben:
smbldap-useradd.pl -a -m -B 1 -g Domain_admins administrator
durch das vorher erzeugte Groupmapping ist der Benutzer nun Mitglied in der Gruppe Domainadmins und auf allen Windows-Rechner in der Domäne administrative Rechte.
16.Kommen wir nun zur Verwaltung der Workstations: Dazu benötigen wir einen Benutzer, der berechtigt ist die NT-Maschinen in die Domöne auf zu nehmen. Dieser Benutzer muss die UID 0 und die GID 0 haben. Deshalb erzeugen wir einen "fake-root". Dazu müssen die folgenden Kommandos ausgeführt werden:
- smbldap-useradd.pl -a -g 512 root
- smbldap-usermod.pl -u 0 -g 0 root
- smbldap-passwd.pl root
17.Jetzt kann mit dem Komando:
smbldap-useradd.pl -w <computername>
das erste Computerkonto angelegt werden. Achtung, das $-Zeichen wird vom Programm automatisch angehängt. Das $-Zeichen sorgt in der Windows-Welt für die Unterscheidung zwischen Computer- und Benutzerkonto.
18.Jetzt an einer Windows Workstation als Administrator anmelden in den Eigenschaften des Arbeitsplatzes die Netzwerkidentifikation auf die eigene Domäne ändern. Es kommt ein Passwortabfrage für das Aufnehmen in der Domäne, dafür wir der "fake-root" benötigt, da ansonsten das Aufnehmen fehlschlägt.
19.Damit die serverbasierten Profile auch gespeichert werden können, muss noch eine Freigabe profiles erzeugt werden. Dazu muss ein Verzeichnis /profiles erzeugt werden und jeder muss dort Schreibrecht haben (chmod 777 /profile). Ein Beispiel ist in meiner smb.conf zu finden.
20.Nach einem Neustart kann sich der erste Benutzer anmelden. Auf Grund der voreingestellten Passwortrichtlinien und des Schalters -P beim anlegen des Benutzers, muss der Benutzer bei der ersten Anmeldung sein Passwort ändern. Wenn die Anmeldung ohne Fehlermeldungen zum Profil abläuft, klappen auch die servergespeicherten Profile.

Konfiguration des Mailserver Postfix:

Nun muss noch der Mailserver an den LDAP-Server angepasst werden. Bei der Suse 9.0 ist das relativ einfach, da der LDAP-Support schon eingebunden ist. Wenn eine Aktuelle Version aus dem Internet verwendet wird, muss die LDAP-Unterstützung mit kompiliert werden.
1.Um zu testen ob LDAP von Postfix unterstützt wird, kann man das Kommando postconf -m aufrufen, dann werden alle gültigen Tabellen-Module angezeigt. Hier sollte dann auch LDAP auftauchen.
2.In der Datei /etc/postfix/main.cf müssen dann noch alle wichtigen Parameter für den Mailserver eingetragen werden.
3.Jetzt noch auf dem Client ein E-Mailprogramm einrichten, mit dem LDAP-Server als Adressbuch, smtp-Server und POP3-Server und schon kann die erste mail versendet werden.

Konfiguration des Slave-Servers:

Nun soll ein zweiter Server als Slave-Server für den LDAP-Server, als Slave-Server für den DNS-Server und als BDC für den Samba PDC eingerichtet werden.
Alle Schritte der Installation des Slave-Servers verlaufen genau wie bei dem Master Server, nur der Apache Web-Server und der qpopper brauchen nicht installiert zu werden. Da auf diesem Server kein Mailserver läuft und keine Administration durchgeführt wird. Dieser Server dient nur zur Lastverteilung und für die Ausfallsicherheit. Nach der Installation kann als erstes der Samba 3 kompiliert werden. Während der Zeit, kann der Nameserver auf dem Rechner als Slave eingerichtet und gestartet werden.

Konfiguration des Slave-Nameservers:

auf dem Slave Nameserver muss nur die Datei /etc/named.conf editiert werden, da die Datenbankdateien anschließend automatisch vom Master geholt werden. Achtung bei der Suse 9.0 stimmen die Dateisystemrechte nicht, die Datenbankdateien werden vom named automatisch geholt um in Verzeichnis /var/lib/named abgelgt. Da der named unter der Benutzerkennung "named" läuft, muss der Benutzer "named" oder besser die Gruppe "named" an dem Verzeichnis /var/lib/named schreibrecht bekommen. Dann mit rcnamed den Namserver starten und in der Datei /var/log/messages nachschauen ob alles geklappt hat. Anschließen nicht vergessen den named im Runleveleditor zu aktivieren.

Konfiguration des LDAP Slave-Servers:

Der LDAP Slave-Server erhält seine Datenbanken vom Master-Server über einen eigenen Demon den slurpd, dieser wird über die Datei /etc/openLDAP/slapd.conf auf dem Master-Server eingerichtet. Die Konfiguration des Master- und Salve-Servers läuft folgendermaßen:
1.Zu erst muss ein weiter Eintrag im LDAP-Verzeichnis für den Replikationsbenutzer eingerichtet werden, dies geht wieder mit dem Kommando:
ldapadd -x -h localhost -D "cn=manager,dc=kania,dc=local" -W -f repl.ldif
dies ist auch der Verwalter des LDAP Slave-Servers.
2.Jetzt noch das Verzeichnis /var/lib/ldap/slurpd anlegen und dann kann die Datei slapd.conf auf dem Master bearbeitet werden.
3.In der Datei slapd.conf müssen die folgenden Änderungen eingetragen werden:
- access to * by dn="repl,dc=kania,dc=local"
- replogfile /var/lib/ldap/slurpd/surpd.log
- replica host=linux3.kania.local
- tls=no
- binddn="cn=repl,dc=kania,dc=local"
- bindmethod=simlpe
- credetial=simple
4.Nach der Konfiguration der slapd.conf Datei muss der LDAP Server gestoppt werden.
5.Jetz mittels scp den Inhalt des Verzeichnisses /var/lib/ldap in das selbe Verzeichnis auf dem Slave-Server kopieren. Damit hat der Slave-Server den selben Datenbestand wie der Master-Server.
6.Jetzt wird die Datei /etc/openldap/slapd.conf des Slave-Servers bearbeitet. Hier sind folgende Einträge vorzunehmen:
- rootdn "cn=repl,dc=kania,dc=local"
- updatedn "cn=repl,dc=kania,dc=local"
- updateref LDAP://linux2.kania.local
7.Jetzt müssen noch beide LDAP-Server gestartet werden und zwar in folgender Reihenfolge:
- rcLDAP start ==> auf dem Slave Server
- rcLDAP start ==> auf dem Master Server
- rcslurpd start ==> auf dem Master Server
8.Wenn jetzt ein neues neues Objekt auf dem Master Server erzeugt wird, sollte diese sofort auf dem Slave-Server sichtbar sein. Wenn nicht hilft bei der Fehlersuche wieder die Datei /var/log/messages/. Alle Änderungen müssen immer am Master-Server durchgeführt werden. Der Slave-Server dient nur zur Anmeldung und als Backup.
9.Zum Schluss muss noch auf dem Master-Server surpd im Runleveleditor aktiviert werden und der LDAP auf dem Slave-Server.

Konfiguration des Samba BDC:

Um nun den Slave-Server auch noch zum BDC zu machen, sind nur noch wenige Schritte nötig:
1.Kopieren der Datei smb.conf vom PDC auf dem BDC. Am PDC und am BDC müssen ein paar Änderungen an der Datei smb.conf vorgenommen werden.
2.In der Datei smb.conf auf dem PDC muss der Zweite LDAP Server als "passdb backend" eingetragen werden.
3.In der smb.conf Datei auf dem BDC müssen folgende Änderungen eingetragen werden:
- Beide LDAP-Server als "passdb backend"
- "domain master = No" ==> bei dem Parameter gilt es kann nur einen geben!
- " domain logons = Yes"
- der Eintrag "ldap admin dn" muss angepasst werden
4.Jetzt sollte wenn das Kommando testparm auf dem PDC und dem BDC ausgeführt wird, die jeweilige Rolle des Rechners angezeigt werden. Jetzt noch den Samba auf dem PDC und dem BPC neu starten und alles läuft. Zum Testen kann einfach der PDC vom Netz getrennt werden und trotzdem muss eine Anmeldung vom Windows-Client noch möglich sein. Die Änderung des Passworts ist aber über den BDC nicht möglich, da Änderungen nur am PDC durchgeführt werden können. Das ist aber unter Windows NT nicht anders.
 
OP
P

pixel

Hacker
Hi,

die Doku sieht ganz gut aus ist aber leider nicht das was ich suche. LDAP-Server usw. läuft alles und wenn ich die User mit pdbedit im Samba anlege kann ich auch derDomäne beitreten.

Was ich suche ist eine Lösung wo ich mit einem Tool den User anlege und dieser im LDAP mit allen nötigen Attributen angelegt wird.
Hierfü würde ich vorzugsweise gerne Yast benutzen.

Trotzdem vielen Dank

Viele Grüße
Sven
 
OP
P

pixel

Hacker
Hi,

phpldapadmin habe ich mir bereits angeschaut. Ist aber noch ziemlich Beta.

Yast wird wohl ausscheiden wobei ich immernoch der Meinung bin das es geht. Jedoch gibt SuSE ja keine Infos raus wie. Sie wollen ja schließlich Server verkaufen.

Ich schau mir gerade Gosa2 an. Mal sehen ob ich es damit hinbekomme.

Yast ist ja jetzt OpenSource. Bleibt zu hoffen das es irgend jemand rausbekommt wie es damit funktioniert. Das wäre das einfachste.

Viele Grüße
Pixel
 

stka

Guru
Ich weis nicht welche Version du kennst, aber mit der aktuelle 0.9.4 kannst du genau dein Problem, hinzufügen des Sambaaccaounts, beheben.
 
OP
P

pixel

Hacker
Ich weis nicht welche Version du kennst, aber mit der aktuelle 0.9.4 kannst du genau dein Problem, hinzufügen des Sambaaccaounts, beheben.
werden dabei auch automatisch Linux-Accounts angelegt?

Viele Grüße
Pixel
 

stka

Guru
jau, werden. Wenn du einen neuen Samba 3 Benutzer anlegst, ist der immer mit folgenden objectclasses ausgestattat:

posixaccount
shadowaccount
inetorgperson
sambaaccount

damit hast du alles was du benötigst. Leider läuft die Demo auf der Homepage von phpldapadmin nicht richtig um das dort zu testen. Aber glaube mir ich habe das ganze jetzt in einem Umfeld mit 120 Benutzer eingesetzt, es geht ;-)
 
OP
P

pixel

Hacker
Das klingt schonmal gut. Gosa zu installieren scheint mir ganz schön Overkill evtl. bin ich auch einfach zu blöd.

Kann ich dich mit Fragen belästigen wenn ich mich an die Installation mache?

Viele Grüße
Pixel
 

stka

Guru
kannst du, aber is ganz einfach. Du brauchst nur eine Webserver mit php unterstützung zu installieren dann alles in das Verzeichnis /srv/www/htdocs copieren. Im Verzeichnis doc gibt es eine deutsche Installationsanleitung.
Wenn du nicht weiter kommst frag mich

stefan@kania-online.de
 

kajo

Newbie
Hallo zusammen,

ich bin ein Neuling in Sachen Linux, und auch in diesem Forum.
Ich habe diesen Beitrag gefunden, da ich auch meine Benutzerverwaltung über LDAP realisieren möchte.

ich denke ich habe mal alles wie beschrieben gemacht, doch ich kann mich einfach nicht anmelden.
Ich habe sogar den gleichen User angelegt, doch im Terminal kommt immer Login incorrect.
Welche Dateien muß ich denn alles ändern, damit mein Linux den Account findet?

Kann mir jemand einen Tipp geben??
 

sinteam

Newbie
Hi,

beim SLES9 gibt es im Yast -> Benutzerverwaltung -> Details eine Option = Verwalten der Samba-Zugangsparameter. Diese aktivieren und schon hat man bei der Usererstellung auch gleich den Sambaaccount eingerichtet.

lG

Robert Siedl
 
OP
P

pixel

Hacker
Hallo zusammen,

beim SLES9 gibt es im Yast -> Benutzerverwaltung -> Details eine Option = Verwalten der Samba-Zugangsparameter. Diese aktivieren und schon hat man bei der Usererstellung auch gleich den Sambaaccount eingerichtet.

Nachdem ich die ganze Zeit phpldapadmin benutzt habe versuche ich mal wieder Yast dazu zu bewegen die neu angelegten User gleich mit Samba-Attributen auszustatten.
Ich teste das gerade mit SuSE-9.3 und finde die von dir angesprochene Option nicht. Weiß jemand iwe ich diese in SL9.3 aktivieren kann?

Viele Grüße
pixel
 
Oben