Archiv verlassen und diese Seite im Standarddesign anzeigen : LDAP/PDC net groupmap funktioniert nicht
Ich habe mit meinem LDAP Server ein Problem. net groupmap list gibt folgendes aus:
fw:~ # net groupmap list
[2005/03/30 13:26:35, 0] passdb/pdb_ldap.c:ldapsam_setsamgrent(2576)
ldapsam_setsamgrent: LDAP search failed: No such object
[2005/03/30 13:26:35, 0] passdb/pdb_ldap.c:ldapsam_enum_group_mapping(2641)
ldapsam_enum_group_mapping: Unable to open passdb
So kann ich die Clients nicht in die Domäne hängen.
[EDIT]
SID for domain LDAP is: S-1-5-21-3381119369-3651556410-843037520
fw:~ # net getlocalsid kabel.ax
SID for domain kabel.ax is: S-1-5-21-3381119369-3651556410-843037520
[EDIT]
#!/bin/bash
#### Shell-Skript für spätere Verwendung aufbewahren
# Als Erstes weisen wir bekannte Gruppen zu:
net groupmap modify ntgroup="Domain Admins" unixgroup=ntadmins rid=512
net groupmap modify ntgroup="Domain Users" unixgroup=users rid=513
net groupmap modify ntgroup="Domain Guests" unixgroup=nobody rid=514
wenn ich folgendes ausführe bekomme ich folgede Meldung
: command not found
Bad option: rid=512
Bad option: rid=513
Bad option: rid=514
: command not found
: command not found
Woran liegt das? :confused:
zum ersten thread: du scheinst ein problem mit dem ldap backend zu haben
zum zweiten: modify kennt die rid option nicht
greez
Hallo Emba, kannst du mir bitte erklären, was genau ldap backend Betrifft. :confused:
In der ldap.conf hab ich folgendes eingetragen:
URI ldap://127.0.0.1
# The distinguished name of the search base.
base dc=kabel,dc=ax
# The LDAP version to use (defaults to 3
# if supported by client library)
ldap_version 3
# The distinguished name to bind to the server with
# if the effective user ID is root. Password is
# stored in /etc/ldap.secret (mode 600)
rootbinddn cn=Manager,dc=kabel,dc=ax
# The port.
# Optional: default is 389.
port 389
pam_password crypt
nss_base_passwd dc=kabel,dc=ax
nss_base_shadow dc=kabel,dc=ax
nss_base_group dc=kabel,dc=ax
ssl start_tls
und in der /etc/nsswitch.conf
passwd: files ldap
shadow: files ldap
group: files ldap
passwd: compat
group: compat
hosts: files dns
networks: files dns
services: files
protocols: files
rpc: files
ethers: files
netmasks: files
netgroup: files
publickey: files
bootparams: files
automount: files nis
aliases: files
in der slapd.conf (ein Teil)
database bdb
checkpoint 1024 5
cachesize 10000
suffix "dc=kabel,dc=ax"
rootdn "cn=Manager,dc=kabel,dc=ax"
# Cleartext passwords, especially for the rootdn, should
# be avoid. See slappasswd(8) and slapd.conf(5) for details.
# Use of strong authentication encouraged.
#password-hash {SSHA}
rootpw {SSHA}XDEvdPEEYTrTUB3neRcHzZ6YXp7TaE+U
index objectClass eq
index sambaSID eq
index uid eq
index sambaPrimaryGroupSID eq
index uidNumber eq
index gidNumber eq
wie sieht denn die smb.conf aus?
hast du ACLs in der slapd.conf?
hast du smbpasswd -d "managerpasswort" gemacht?
evtl. hilft dir meine doku (s. sticky)
greez
wie sieht denn die smb.conf aus?
hast du ACLs in der slapd.conf?
hast du smbpasswd -d "managerpasswort" gemacht?
evtl. hilft dir meine doku (s. sticky)
greez
Hallo emba, ich mein LDAP ganz ähnlich nach deiner guten Dokumentation gemacht.
smbpasswd -w hab ich gemacht. Muss ich die lokalen smbpasswd Datei mit smbpasswd -d dekativieren?
die ACLs in der slapd.conf
pidfile /var/run/slapd/slapd.pid
argsfile /var/run/slapd/slapd.args
access to dn.base="cn=Subschema"
by * read
access to attr=userPassword,userPKCS12
by self write
by * auth
access to attr=shadowLastChange
by self write
by * read
access to *
by * read
Die smb.conf
workgroup = kabel.ax
server string = samba %v
netbios name = ldap
username map = /etc/samba/smbusers
map to guest = Bad User
admin users = @"Domains Admins"
security = user
domain logons = yes
domain master = yes
encrypt passwords = yes
obey pam restrictions = no
ldap passwd sync = yes
ldap admin dn = cn=Manager,dc=kabel,dc=ax
ldap suffix = dc=kabel,dc=ax
ldap group suffix = ou=Groups
ldap user suffix = ou=Users
ldap machine suffix = ou=Computers
ldap idmap suffix = ou=ldmap
ldap delete dn = yes
passdb backend = ldapsam:ldap://127.0.0.1/
log level = 5
log file = /var/log/samba/log.%m
max log size = 1000
Dos charset = 850
Unix charset = UTF8
Display charset = UTF8
logon path =
logon home = \\ldap\%U
logon drive = P:
logon script = logon.cmd
add user script = /usr/local/sbin/smbldap-useradd -m "%u"
add machine script = /usr/local/sbin/smbldap-useradd -w "%u"
add group script = /usr/local/sbin/smbldap-groupadd -p "%g"
add user to group script = /usr/local/sbin/smbldap-groupmod -m "%u" "%g"
delete user from group script = /usr/local/sbin/smbldap-groupmod "%u" "%g"
set primary group script = /usr/local/sbin/smbldap-usermod -g "%g" "%u"
create mask = 0640
directory mask = 0750
guest account = nobody
dont descend = /proc,/dev,/etc,lost+fount,/initrd
preserve case = yes
short preserve case = yes
case sensitive = no
[netlogon]
path = /var/lib/samba/netlogon
browseable = no
read only = yes
verwendest du nicht die smbldap-tools?
du musst, bevor du net groupmap etwas entlocken kannst, das verzeichnis mit den basis dn's initialisieren - wie smbldap-populate das macht
mit smbpasswd -d disablest du doch nur nutzer und nicht dein passdb-backend
verwendest du derzeit ein passdb backend <> ldap?
dann musst du dies nach ldap portieren
wie das funktioniert, steht in der samba doku
greez
Hallo Emba und alle anderen,
in meiner Freizeit versuche ich auch zuhause mit dem LDAP Server weiterzukommen. Leider lässt mir die smbldap-tools nicht zu. Folgende Fehler treten bei 2 verschiedene Versionen von smbldap-tools auf.
server:~/smbldap-tools-0.8.6 # ./configure.pl
Unrecognized escape \p passed through at ./configure.pl line 194.
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
smbldap-tools script configuration
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
Before starting, check
. if your samba controller is up and running.
. if the domain SID is defined (you can get it with the 'net getlocalsid')
. you can leave the configuration using the Crtl-c key combination
. empty value can be set with the "." caracter
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
Looking for configuration files...
Samba Config File Location [/etc/samba/smb.conf] >
Use of uninitialized value in concatenation (.) or string at ./configure.pl line 65, <STDIN> line 1.
smbldap Config file Location (global parameters) [] >
Use of uninitialized value in concatenation (.) or string at ./configure.pl line 75, <STDIN> line 2.
smbldap Config file Location (bind parameters) [] > home.ax
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
Let's start configuring the smbldap-tools scripts ...
. workgroup name: name of the domain Samba act as a PDC
workgroup name [home.ax] >
. netbios name: netbios name of the samba controler
netbios name [ldap] >
. logon drive: local path to which the home directory will be connected (for NT Workstations). Ex: 'H:'
logon drive [P:] >
. logon home: home directory location (for Win95/98 or NT Workstation).
(use %U as username) Ex:'\\ldap\home\%U'
logon home (leave blank if you don't want homeDirectory) [\\ldap\home\%U] >
. logon path: directory where roaming profiles are stored. Ex:'\\ldap\profiles\%U'
logon path (leave blank if you don't want roaming profile) [\\ldap\profiles\%U] >
. home directory prefix (use %U as username) [/home/%U] >
. default user netlogon script (use %U as username) [%U.cmd] >
default password validation time (time in days) [45] >
. ldap suffix [dc=home,dc=ax] >
. ldap group suffix [ou=Groups] >
. ldap user suffix [ou=Users] >
. ldap machine suffix [ou=Computers] >
. Idmap suffix [ou=ldmap] >
. sambaUnixIdPooldn: object where you want to store the next uidNumber
and gidNumber available for new users and groups
sambaUnixIdPooldn object (relative to ${suffix}) [cn=NextFreeUnixId] >
. ldap master server: IP adress or DNS name of the master (writable) ldap server
ldap master server [127.0.0.1] >
. ldap master port [389] >
. ldap master bind dn [cn=Manager,dc=home,dc=ax] >
ldap master bind password [] >
. ldap slave server: IP adress or DNS name of the slave ldap server: can also be the master one
ldap slave server [127.0.0.1] >
. ldap slave port [389] >
. ldap slave bind dn [cn=Manager,dc=home,dc=ax] >
. ldap slave bind password [] >
. ldap tls support (1/0) [0] >
. SID for domain home.ax: SID of the domain (can be obtained with 'net getlocalsid ldap')
SID for domain home.ax [S-1-5-21-3072785703-2247951337-3399784439] >
. unix password encryption: encryption used for unix passwords
unix password encryption (CRYPT, MD5, SMD5, SSHA, SHA) [SSHA] >
. default user gidNumber [513] >
. default computer gidNumber [515] >
. default login shell [/bin/bash] >
. default domain name to append to mail adress [] >
Use of uninitialized value in string at ./configure.pl line 287, <STDIN> line 34.
Use of uninitialized value in concatenation (.) or string at ./configure.pl line 287, <STDIN> line 34.
Unable to open for reading!
Weiss jemand wo der Fehler sein kann? Ich weiss ja, wie man den Skript ausfürht, ich find den Fehler einfach nicht... :mad:
du kannst ja mal in die entsprechenden zeilen der quellen reinschauen, die er anmeckert - meist hatte ich das problem, wenn ich umlaute im namen hatte
greez
verwendest du nicht die smbldap-tools?
du musst, bevor du net groupmap etwas entlocken kannst, das verzeichnis mit den basis dn's initialisieren - wie smbldap-populate das macht
Ja, ich werde noch die Dokumentation für smbldap-populate suchen bzw. lesen
mit smbpasswd -d disablest du doch nur nutzer und nicht dein passdb-backend
verwendest du derzeit ein passdb backend <> ldap?
dann musst du dies nach ldap portieren
wie das funktioniert, steht in der samba doku
greez
Ich habe dich falsch verstanden. Ich habe die Samba Dokumentation gelesen. (Kapitel 4 bis 6)
Ich möchte gerne einfache ein LDAP Server auf einem Testsystem aufsetzen. Kannst du mir bitte sagen im welchem Kapitel ich über das Thema passdb backend = ldapsam_compat lesen soll?
Muss ich auch wenn ich einfach ein LDAP Server aufsetze ins ldap-backend portieren bzw. einfach passdb backend = ldapsam_compat ins smb.conf setzen?
Eine Frage: Kann ich in einem Netzwerk 2 verschiedene Domänencontroller betreiben mit unterschiedlichen Netzmasken, da ich die eine Domänencontroller mit LDAP testen möchte?
du kannst in deinem netzwerk, wenn die segmente abgekoppelt sind (bswp. du mit subnetzen arbeitest) nach belieben domänen anlegen - wichtig ist nur, dass immer unterschiedliche SIDs verwendet werden und die broadcasts eine domäne nicht in die andere kommen
schau dir bitte mal zum thema samba+ldap das hier an
http://www.linuxforen.de/forums/showthread.php?t=174852
greez
du kannst in deinem netzwerk, wenn die segmente abgekoppelt sind (bswp. du mit subnetzen arbeitest) nach belieben domänen anlegen - wichtig ist nur, dass immer unterschiedliche SIDs verwendet werden und die broadcasts eine domäne nicht in die andere kommen
Meinst du, dass die Brodcast nicht über die Subnetze in die andere Domäne kommen? Z.B. bestehende Domäne IP 10.45.94.x/24 neue Domäne 192.168.1.x/24.
schau dir bitte mal zum thema samba+ldap das hier an
http://www.linuxforen.de/forums/showthread.php?t=174852
greez
Ja, ich lese gerade deine Doku genauer durch... Habe bezgl. smbldap-populate übersehen. Jedoch bleib ich immer noch hier hängen...
Wenn ich wie folgend den smbldap-populate ausführe:
fw:/usr/local/sbin # smbldap-populate -g 1500 -u 1500
Unable to open /etc/opt/IDEALX/smbldap-tools/smbldap.conf for reading !
Compilation failed in require at /usr/local/sbin/smbldap-populate line 35, <DATA> line 225.
BEGIN failed--compilation aborted at /usr/local/sbin/smbldap-populate line 35, <DATA> line 225.
ich versteh nicht warum es nach /etc/opt/IDEALX/smbldap-tools/ gesucht wird, bei mir liegen die smbldap-tools im /etc/smbldap-tools/, dann habe ich den Skript ./configure.pl laufen lassen, alles OK. Und mit smbldap-populate auch ohne uid bzw. gid gibt die gleiche Meldung...
Die Zeilen im smbldap-populate Skript habe ich mir angesehen, die können glaub ich nichts mit den Fehler zu tun haben:
Zeile 225: $userProfile=~s/\%U/$guestName/;
Zeile 35: use smbldap_tools;
zum idealx-fehler: bitte README/INSTALL lesen, denn da steht genau, dass du in der .pm datei noch die pfade angeben musst
zu den broadcasts: ich habe dies selbst so am laufen gehabt ohne probleme, die domänen hatten unterschiedliche namen und SIDs
als unser IDS auf der firewall dann aber dies bemerkt hat (wie auch immer), habe ich die testrechner in ein V-LAN gesteckt, was komplett unabhängig vom LAN war
greez
allerdings habe ich jetzt ein Problem den Rechner in die Domäne zu hängen. Ich bekomme die Meldung, dass es sich um ein DNS Lookupproblem handelt und die Domäne nicht verfügbar sei. Ich habe schon versucht den W2k Client mit Name den PDC zu pingen, es funktioniert, weil ich den PDC in die hosts Datei der Client eingetragen habe. Stimmt, dass der Maschinenaccount automatisch angelegt wird, da im smb.conf eingetragen ist. Ein testparm sagt dass alles OK ist und server role: ROLE_DOMAIN_PDC
Ich hoffe, du kannst mir helfen, wo ich nach Fehler suchen kann.
[EDIT]Logdatei angehängt[EDIT]
die clients sollten netbios over tcp aktiviert haben (in den erweiterten netzwerkeinstellungen auf den clients)
google sollte hierzu aber auch einiges ausspucken
der maschinenaccount wird nur automatisch angelegt, wenn in der smb.conf ein funktionierendes skript unter "add machine script =" eingetragen ist
greez
Immer wenn ich den smbd und nmbd starte stürzt der smbd Daemon nach ca. 5 Sekunden ab. Ich habe den Loglevel auf 8 erhöht. Ich hoffe mir kann jemand mit Logs helfen, denn mir fällt in den Log nichts auf.
fly, ohne dein log vorher betrachtet zu haben, konnte ich mir schon denken, an was es liegt
du rennst von einem problem ins nächste, liest die manuals nicht und versuchst nicht einmal mit google etwas zu finden :(
der fehler ist hier "User nobody in passdb, but getpwnam() fails!"
du verwendest als guest "nobody", doch dieser scheint nicht richtig im passdb backend angelegt zu sein - prüfe, welchen nutzer du im passdb backend als guest angelegt hast; er darf kein passwort haben und muss eine Primäre-Gruppen-SID von S-1-xxx-514 haben
greez
Sorry, tut mir leid dass ich nicht soviel Geduld hatte die Dokumentationen genauer zu lesen...
Ich suche im Moment nach eine Lösung, wie ich den ganzen LDAP Verzeichnis leeren kann... ich möchte lieber nochmal zuerst mit smbldap-populate drüberfahren und dann erst die User anlegen...
@emba ich weiss noch immer nicht ganz, was du mit passdb backend gemeint hast. Ist das Richtig sobald die User mit ldif importiert wurde sind die User schon im passdb backend?
passdb backend ist bei dir ldap
mich ärgert es nur, wenn jmd. nicht selbst initiative ergreift und sich lösungen zusammenborgt
das hilft dir gar nicht weiter, wenns mal wieder klemmt
linux/samba/openldap erfordern schon ein wenig selbststudium
leeren kannst du dein gesamtes verzeichnis, indem du slapd stoppst und die DB löschst (meist alles in /var/lib/ldap/)
greez
passdb backend ist bei dir ldap
Das ist mir ganz klar, dass bei mir ldap ist! ;) Du hast mich ein paar Fragen über passdb backend gestellt, die habe ich gar nicht verstanden und hab viel über passdb herumgesucht, überall sehe ich nur, dass ich für passdb backend entweder, smbpasswd, tbsam, ldap oder mysql usw. nehmen kann.
mich ärgert es nur, wenn jmd. nicht selbst initiative ergreift und sich lösungen zusammenborgt
das hilft dir gar nicht weiter, wenns mal wieder klemmt
linux/samba/openldap erfordern schon ein wenig selbststudium
Ich habe mir eigentlich ein Buch "LDAP unter Linux" von Jens Banning und während der Lesen war es mir zu langweilig :D und habe auch nichts verstanden, deswegen wollte ich zuerst schnell ein LDAP Server zusammenstellen. Jetzt kenne ich mich schon besser aus und werde wieder zum Buch greifen...
leeren kannst du dein gesamtes verzeichnis, indem du slapd stoppst und die DB löschst (meist alles in /var/lib/ldap/)
greezDanke, dass du mir geholfen hast!
Powered by vBulletin® Version 4.2.5 Copyright ©2024 Adduco Digital e.K. und vBulletin Solutions, Inc. Alle Rechte vorbehalten.