Archiv verlassen und diese Seite im Standarddesign anzeigen : OPENLDAP - was hat es mit pwdLastSet auf sich ?
Hi Leute,
ich habe einen Samba 3 + PDC und OpenLDAP 2.0.27-8 zu laufen. Außerdem benutze ich die SMBTools (HowTo auf Seite http://www.icer.ch/support/docs/linux/samba22.phtml)
Wenn ich nun über die smbtools einen SMBAccount anlegen will, mache ich das mit folgendem Befehl :
./smbldap-useradd.pl -a -n -m -g 100 -d /home/username -c "Username Account" -P username
Ausgespuckt bekomme ich immer folgende Fehlermeldung :
ldap_modify: Undefined attribute type
additional info: pwdLastSet: attribute type undefined
ldif_record() = 17
./smbldap-useradd.pl: error while adding samba account to posix user username
Ich habe auch nach wie vor Probleme mit dem LDAP-Browser v2.8.2 ein Attribute pwdLastSet oder pwLastSet anzulegen. Funktioniert einfach nicht ? Ich wüsste jetzt gerne, warum er mir dieses Attribut nicht hinzufügen kann ? Ich hab mir mal die Veränderungen zu Samba 3 angeschaut und nichts dergleichen gefunden. Mir hat dieses Attribut in der letzten Version schon Schwierigkeiten bereitet - es hindert mich auch daran, SMB-Benutzeraccounts zu erstellen.
Kennt jemand gleiches Problem oder wisst ihr, wie man dieses Problem löst oder umgeht ?
Danke schonmal !
mfg Marcel
Im Script steht folgendes zum hinzufügen der Benutzer :
"dn: uid=$userName,$usersdn
changetype: modify
objectClass: inetOrgPerson
objectclass: posixAccount
objectClass: sambaSamAccount
pwdLastSet: 0
logonTime: 0
logoffTime: 2147483647
kickoffTime: 2147483647
pwdCanChange: $valpwdcanchange
pwdMustChange: $valpwdmustchange
displayName: $_userGecos
acctFlags: $valacctflags
rid: $userRid
Wenn ich jetzt pwdLastSet auskommentiere, dann zeigt er mir dort kein Fehler mehr an - aber der nachfolgende Zeile :
logoffTime: 2147483647
Dies hab ich mal Testweise mit allen Zeilen nach pwdLastSet gemacht. Dann zeigt er mir auf einmal den Fehler
unrecognized objectClass 'sambaSamAccount'
was ja eigentlich nicht sein dürfte, ODER ?
Warum zeigt mir LDAP da immer Fehlermeldungen ???
THX Marcel
das kommt immer dann, wenn ldap die entsprechenden beschreibungen nicht in der samba.schema finden kann
ab der v3 haben die meisten attribute ein vorangestelltes "samba"
also
sambaPwdLastSet
ggf. musst du das in deinen (perl) scripten noch anpassen
greez
die aktuelle Version von smbldap-tools unterstützt eigentlich samba.schema v3 bereits.
ok ich hab jetzt die neuen smbldap-tools raufgespielt. Gibt aber noch ein paar Probleme für alle, die das gleiche Problem haben :
Soltte folgender Fehler auftreten (bei smbldap-useradd) :
Can't locate Net/LDAP.pm in @INC (@INC contains: /usr/local/sbin/ /usr/lib/perl5/5.8.0/i386-linux-thread-multi /usr/lib/perl5/5.8.0 /usr/lib/perl5/site_perl/5.8.0/i386-linux-thread-multi /usr/lib/perl5/site_perl/5.8.0 /usr/lib/perl5/site_perl /usr/lib/perl5/vendor_perl/5.8.0/i386-linux-thread-multi /usr/lib/perl5/vendor_perl/5.8.0 /usr/lib/perl5/vendor_perl .) at /usr/local/sbin//smbldap_tools.pm line 4.
BEGIN failed--compilation aborted at /usr/local/sbin//smbldap_tools.pm line 4.
Compilation failed in require at ./smbldap-useradd line 32.
BEGIN failed--compilation aborted at ./smbldap-useradd line 32.
Sollte man folgende Pakete installieren :
- perl-Net-LDAP-0.2701-1.dag.rh90.rpm
- perl-Convert-ASN1-0.17-0.dag.rh90.noarch.rpm
- perl-Net-Server-0.85-0.dag.rh90.noarch.rpm
- perl-IO-Socket-SSL-0.94-0.dag.rh90.noarch.rpm
- perl-Net-SSLeay-1.23-0.dag.rh90.i386.rpm
- perl-IO-Multiplex-1.04-0.dag.rh90.noarch.rpm
alle unter http://www.rpmseek.com zu finden
Mein Problem nun :
Wenn ich ./smbldap-useradd -a -n -m -g 100 -d /home/celli -c "Cellis Account" -P celli
ausführe erscheint folgender Fehler :
failed to perform search; I/O Error at /etc/smbldap-tools//smbldap_tools.pm line 212.
Datenübergabe unterbrochen (broken pipe)
Was muss ich tun ? Bzw. wo liegt jetzt der Fehler vor ? Habe keine Ahnung, was der jetzt von mir will. Kann jemand helfen ?
THX Marcel
Komischer Weise geht es jetzt. Ich habe nochmal mit dem Script ./configure.pl die smbldap-tools konfiguriert und auf einmal, zeigt er mir nicht mehr diesen Fehler an. Dafür einen anderen *g* Ich hangel mich wirklich von Fehlermeldung zu Fehlermeldung - ich hoffe nur, dass dies die letzte ist :
./smbldap-useradd -a -n -m -g 100 -d /home/celli -c "Cellis Account" -P celli1
Error: SID not set for unix group 100
check if your unix group is mapped to an NT group
Die Gruppe 100 existiert und ist für die User. Aber warum meckert er da ? Weiß jemand Rat ?
mfg Marcel
die gruppe existiert zwar, aber nicht das mapping, dass der gruppe die entsprechende NT gruppe zuweist
ich arbeite nicht mit den tools, daher weiß ich nicht, ob diese eine funktionalität bieten, das mapping zu erledigen
ansonsten musst du zunächst mit
net groupmap add
arbeiten
greez
müsste das dann ungefähr so aussehen oder hab ich noch was vergessen ?
net groupmap add rid=553 sid=S-1-5-21-2926252566-210214416-216931407 unixgroup=100 type=domain
könnte so klappen, aber setze anstatt der rid 553 mal 1201 ein (algorithmic rid mapping)
was zeigt der output und das kommando "net groupmap list -d0" ?
greez
net groupmap list -d0 zeigt :
System Operators (S-1-5-32-549) -> -1
100 (S-1-5-21-2926252566-210214416-216931407) -> users
Replicators (S-1-5-32-552) -> -1
Guests (S-1-5-32-546) -> -1
Domain Admins (S-1-5-21-2926252566-210214416-216931407-512) -> -1
Domain Admins (S-1-5-21-836288985-2851095360-848507770-512) -> -1
Domain Users (S-1-5-21-2926252566-210214416-216931407-513) -> -1
Power Users (S-1-5-32-547) -> -1
Print Operators (S-1-5-32-550) -> -1
Domain Users (S-1-5-21-836288985-2851095360-848507770-513) -> -1
Administrators (S-1-5-32-544) -> -1
Domain Guests (S-1-5-21-2926252566-210214416-216931407-514) -> -1
Account Operators (S-1-5-32-548) -> -1
Domain Guests (S-1-5-21-836288985-2851095360-848507770-514) -> -1
Backup Operators (S-1-5-32-551) -> -1
Users (S-1-5-32-545) -> -1
als ich das erste Mal net groupmap add gemacht habe, hat er es irgendwie gemacht (also vorhin mit rid=100) jetzt zeigt er mir bei dem Befehl
net groupmap add rid=1201 sid=S-1-5-21-2926252566-210214416-216931407 unixgroup=100 type=domain
folgenden Fehler an :
adding entry for group 100 failed!
dein ganzes groupmapping ist im eimer, so wie ich das sehe
probier mal folgendes script von mir (damit mach ich das immer erfolgreich)
vorher solltest du aber mal die defekten mapping einträge entfernen
###############################################
# #
# script to add posix and samba groups in #
# LDAP #
# #
# (c) Michael Gasch 2003 #
# #
###############################################
#!/bin/sh
# authorization
echo -e "\n===================================="
echo " Please enter LDAP-Manager Password"
echo -e "====================================\n"
read -s password
ldapwhoami -x -w "$password" 2>/dev/null >&1
if [ $? -gt 0 ]; then
echo -e "\nWrong password - aborting...\n"
exit 0
fi
# suche letzte group-id und erhoehe um 1
GroupID=$((`ldapsearch -x objectclass=posixGroup|grep gidNumber|grep -v 65533|awk -F": " '{print $2}'|sort|tail -n 1` + 1))
GROUPNAME=$1
if [ $GroupID -le 499 ]
then
$GroupID="500"
fi
DOMAINNAME="your.domain.org"
DOMAINSID=`net getlocalsid $DOMAINNAME -d0|awk -F": " '{print $2}'`
GRID=$(($GroupID * 2 + 1001))
# group ID for posix-users
# 500 for "users"
# GroupID="500"
# ldap settings
OUGROUP="groups"
OUIDMAP="idmap"
DOMAIN="your.domain.org"
BASEDN="your.domain.org"
LDAP_MAN="cn=manager,dc=eva,dc=mpg,dc=de"
LDAP_MAN_PW="$password"
#########################################
# #
# section for adding posix-group #
# in LDAP #
# #
#########################################
/bin/rm -rf /tmp/ldap
/bin/mkdir /tmp/ldap
if [ `ldapsearch -xb "uid=$GROUPNAME,ou=$OUGROUP,$BASEDN"|grep -c numEntries` -gt 0 ]
then
echo "Posix-Group already present...skipping"
else
/bin/cat <<EOF>/tmp/ldap/groupadd.ldif
# $GROUPNAME, $OUGROUP, $DOMAIN
dn: uid=$GROUPNAME,ou=$OUGROUP,$BASEDN
objectClass: posixGroup
objectClass: uidObject
objectClass: sambaGroupMapping
cn: $GROUPNAME
uid: $GROUPNAME
gidNumber: $GroupID
sambaSID: $DOMAINSID-$GRID
sambaGroupType: 2
displayName: $GROUPNAME
EOF
/bin/cat <<EOF>/tmp/ldap/idmapadd.ldif
# $GroupID, $OUIDMAP, $DOMAIN
dn: gidNumber=$GroupID,ou=$OUIDMAP,$BASEDN
objectClass: person
objectClass: sambaIdmapEntry
cn: $GROUPNAME
sn: $GROUPNAME
gidNumber: $GroupID
sambaSID: $DOMAINSID-$GRID
EOF
/usr/bin/ldapadd -D $LDAP_MAN -x -w "$LDAP_MAN_PW" -f /tmp/ldap/idmapadd.ldif
/usr/bin/ldapadd -D $LDAP_MAN -x -w "$LDAP_MAN_PW" -f /tmp/ldap/groupadd.ldif
fi
exit 0
das script setzt eine sauber konfigurierte ldap umgebung und anpassung an die jeweiligen gegebenheiten (siehe variablen) voraus !!!!!
greez
ok ich werd mich morgen mal mit dem Problem beschäftigen - mach für heute erstmal Schluss. mit net groupmap del lösch ich die Einträge, oder ? Welche meinst du, sollte ich löschen ?
mfg and thx Marcel
p.s.: ich meld mich morgen wieder
lösch mal alle, falls du nicht unbedingt darauf angewiesen bist (produktivbetrieb, ... )
was gibt dir eigentlich
getent group
aus?
greez
bzw. was gibt "net groupmap list" aus,
um mal das zu überprüfen...
könnt ihr mir mal bitte euer net groupmap list -d0 posten ? ich will nicht alle Einträge löschen, nicht dass danach nix mehr funktioniert .... es geht ja eigentlich nur um eine Gruppe, oder ?
Error: SID not set for unix group 100
check if your unix group is mapped to an NT group
Gruppe 100 ist nicht richtig gesetzt, oder ? Wie muss die Gruppe denn im LDAP aussehen ? Könnt ihr mir mal bitte diese beiden Sachen schreiben ?
THX Marcel
@daquark
sag mal, warum liest du eigentlich nicht die doku der samba entwickler zu dem thema?
oben habe ich das script gepostet, wie ein solcher ldap eintrag für eine gruppe incl. IDMAP (bei mir in einer zusätzlichen ou -> ldap idmap suffix = ou=idmap) aussehen muss
beschäftige dich bitte selbst genauer mit dem thema, damit du verstehst, wie das groupmap funktioniert - fertige lösungen zu posten hilft dir am ende gar nicht
greez
hast ja vom Prinzip Recht ! Ich sollte mich erstmal in die Thematik einarbeiten, bevor ich mir das Problem von wem anders lösen lasse. Nur wenn solch doofen Fehler auftreten, wozu man nichts findet, wie z.B. der, der jetzt auftritt :
Can't call method "get_value" on an undefined value at /usr/local/sbin/smbldap-useradd line 154
dann muss ich einfach fragen. Hab dazu nichts passenden im Netz gefunden - zwar schon ein paar Beiträge, aber nix, was auf mich zutrifft.
Hm ... na mal schau'n, ob ich's noch hinkrieg - wenn nicht hat jemand den Fehler schonmal gehabt ?
Powered by vBulletin® Version 4.2.5 Copyright ©2024 Adduco Digital e.K. und vBulletin Solutions, Inc. Alle Rechte vorbehalten.