PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : smbldap-tools und Fehler "Can't call method "get_value" on ..."



DaQuark
13.04.04, 10:13
Hallo Leute,

ich habe auf meinem Red Hat 9 Server Samba 3.0 und OpenLDAP zu laufen. Ich habe auch die aktuelle Samba.Schema(3) an die richtige Stelle kopiert. Wenn ich nun mittels



./smbldap-useradd -a -n -m -g "users" -d /home/celli -c "Cellis Account" -P celli


einen neuen Nutzer anlegen will, erscheint folgender Fehler :



Can't call method "get_value" on an undefined value at ./smbldap-useradd line 154.



Ich hab mal in die Datei geschaut, und ein paar Zeilen (153,154 und 155) rausgepickt :




$group_entry = read_group_entry_gid($userGidNumber);
$userGroupSID = $group_entry->get_value('sambaSID');
unless ($userGroupSID) {



Kennt jemand die Fehlermeldung ? Weiß jemand, was zu tun ist ? Der LDAP-Server und Samba laufen perfekt, bis auf das, dass ich keinen neuen User anlegen kann. Danke schonmal !

mfg Marcel

mamue
13.04.04, 13:18
A.: ./smbldap-useradd -a -n -m -g "users" ...
B.: $group_entry = read_group_entry_gid($userGidNumber);
C.: $userGroupSID = $group_entry->get_value('sambaSID');


Ich nutze die tools bisher kaum, habe aber zwei Vorschläge:
1.: Ist die Gruppe "users" wirklich eine ldap-Gruppe? Ansonsten findet "B" die nicht und "$group_entry" in "C" ist nicht definiert. Die Fehlermeldung würde passen.
2.: Ich glaube in perl heisst es print. Füge doch mal ein paar print Befehle ein, um zu sehen, was da abgeht, etwa print $group_entry.

HTH,
mamue

DaQuark
13.04.04, 13:33
ich habe jetzt mal folgendes gemacht :

ich habe einfach mal die Gruppe root kopiert und in Domain Users umbenannt. Dann hab ich die RID geändert in 513 und den cn und memberUid. als nächstes hab ich versucht, einen User mit den smbldap-tools hinzuzufügen. Er hat mir folgendes ausgegeben :

./smbldap-useradd -a -n -m -g "Domain Users" -d /home/celli -c "Cellis Account" -P celli


Error: SID not set for unix group 513
check if your unix group is mapped to an NT group


Also habe ich nochmal die Groupmappings "überprüft" - ich kenn mich damit leider zu wenig aus. Wenn ich net groupmap list mache, steht u.a folgende Zeile :

Domain Users (S-1-5-21-2926252566-210214416-216931407) -> Domain Users

und

Domain Users (S-1-5-21-2926252566-210214416-216931407-513) -> -1

Ich habe auch versucht sie mal zu löschen und neu anzulegen, aber schlägt irgendwie immer fehl (er schreibt zwar successful, aber macht nix - zumindest bei dem zweiten Domain Users -> -1)

Es liegt also immer noch an dem Mapping, oder ? Wie lösche ich Domain Users komplett und füge sie ganz neu hinzu ? THX

mamue
13.04.04, 21:04
Das war jetzt aber keine Antwort auf die Frage von mir, oder?

Ich habe die Groupmappings für ldap per Hand angelegt, ein Eintrag sieht dann in etwa wie folgt aus:


dn: cn=my-group,ou=groups,<... base dn here ..>
cn: my-group
objectClass: posixGroup
objectClass: sambaGroupMapping
gidNumber: 3001
sambaSID: S-1-5-21-1091375802-1471697927-1951840895-301
sambaGroupType: 2
displayName: my-group


Vielleicht ist das sogar falsch, aber es funktioniert.
Nachdem die PosixGroup erstellt ist, müssen die sambaSID und sambaGroupType eigenhändig eingetragen werden. Die SID besteht dabei aus dem Domänenteil und einer frei gewählten RID, hier 301.

mamue