Fehlermeldungen bei Änderungen im LDAP (was: Fehlermeldungen bei sophomorix-move)

Hallo,

ich habe gerade die neue schueler.txt eingespielt und den Dreiklang

sophomorix-check
sophomorix-add
sophomorix-move

auf der Konsole durchgeführt. Die Skripte laufen durch (/usr/sbin/sophomorix-move terminated regularly). Es kommen aber bei jedem User gleichlautende Fehlermeldungen in sophomorix-move

Removing user hanswurst(10892) from all projects 
   * /usr/sbin/smbldap-usermod -G '' hanswurst
Use of uninitialized value $value in substitution (s///) at /usr/share/perl5/smbldap_tools.pm line 154, <CONFIGFILE> line 145.
Use of uninitialized value $value in substitution (s///) at /usr/share/perl5/smbldap_tools.pm line 154, <CONFIGFILE> line 146.
Use of uninitialized value $value in substitution (s///) at /usr/share/perl5/smbldap_tools.pm line 154, <CONFIGFILE> line 147.
Use of uninitialized value $value in substitution (s///) at /usr/share/perl5/smbldap_tools.pm line 154, <CONFIGFILE> line 148.
   New Group of hanswurst is: attic
   Adding user hanswurst to the projects ...
... done!
   * /usr/sbin/smbldap-usermod -G 'attic' hanswurst
Use of uninitialized value $value in substitution (s///) at /usr/share/perl5/smbldap_tools.pm line 154, <CONFIGFILE> line 145.
Use of uninitialized value $value in substitution (s///) at /usr/share/perl5/smbldap_tools.pm line 154, <CONFIGFILE> line 146.
Use of uninitialized value $value in substitution (s///) at /usr/share/perl5/smbldap_tools.pm line 154, <CONFIGFILE> line 147.
Use of uninitialized value $value in substitution (s///) at /usr/share/perl5/smbldap_tools.pm line 154, <CONFIGFILE> line 148.

Das passiert nicht nur bei den Schülern, die in den attic verschoben werden sondern bei allen.

Edit 1: Und bei nochmaligem sophomorix-check kommen die Meldungen auch in sophomorix-check:

Replacing ldap account dn: uid=hanswurst,ou=accounts,dc=anne-frank-rsengen,dc=de
   * ldap: Disabling samba account (/usr/sbin/smbldap-usermod -I hanswurst)
Use of uninitialized value $value in substitution (s///) at /usr/share/perl5/smbldap_tools.pm line 154, <CONFIGFILE> line 145.
Use of uninitialized value $value in substitution (s///) at /usr/share/perl5/smbldap_tools.pm line 154, <CONFIGFILE> line 146.
Use of uninitialized value $value in substitution (s///) at /usr/share/perl5/smbldap_tools.pm line 154, <CONFIGFILE> line 147.
Use of uninitialized value $value in substitution (s///) at /usr/share/perl5/smbldap_tools.pm line 154, <CONFIGFILE> line 148.
   * ldap: Disabling posix account of hanswurst:

Edit 2: Und auch bei sophomorix-kill kommen die Meldungen.

Außerdem sind da noch immer irgendwelche Abläufe rund um die längst obsoleten __tauschen etc. Verzeichnisse im Skript:

Managing pointers (bind mounts, links, ...) of karlheinz
 1)  r7a (adminclass):
WARNING: Directory/file /home/students/r7a/karlheinz/__tauschen does not exist.
         Doing nothing.
WARNING: Directory/file /home/students/r7a/karlheinz/__vorlagen does not exist.
         Doing nothing.
      umount /home/students/r7a/karlheinz/__tauschen/tausch-r7a &> /dev/null
      rmdir /home/students/r7a/karlheinz/__tauschen/tausch-r7a &> /dev/null
      umount /home/students/r7a/karlheinz/__vorlagen/vorlagen-r7a &> /dev/null
      rmdir /home/students/r7a/karlheinz/__vorlagen/vorlagen-r7a &> /dev/null
WARNING: Directory/file /home/students/r7a/karlheinz/__tauschen does not exist.
         Doing nothing.
WARNING: Directory/file /home/students/r7a/karlheinz/__vorlagen does not exist.
         Doing nothing.
 2)  School-share:
WARNING: Directory/file /home/students/r7a/karlheinz/__tauschen does not exist.
         Doing nothing.
      umount /home/students/r7a/karlheinz/__tauschen/tausch-Schule &> /dev/null
      rmdir /home/students/r7a/karlheinz/__tauschen/tausch-Schule &> /dev/null
WARNING: Directory/file /home/students/r7a/karlheinz/__tauschen does not exist.
         Doing nothing.

Wäre es nicht sinnvoll um die ganzen Warnings zu vermeiden und damit die Ausgabe extrem zu kürzen das mal zu bereinigen?

Viele Grüße
Steffen

Hallo,

da bei neuen Benutzern sein geraumer Zeit die Mailadresse nicht mehr im LDAP landet, lasse ich immer noch ein Skript AddMail2LDAP.sh laufen.

Auch das bringt plötzlich diese Fehlermeldungen:

Use of uninitialized value $value in substitution (s///) at /usr/share/perl5/smbldap_tools.pm line 154, <CONFIGFILE> line 145.
Use of uninitialized value $value in substitution (s///) at /usr/share/perl5/smbldap_tools.pm line 154, <CONFIGFILE> line 146.
Use of uninitialized value $value in substitution (s///) at /usr/share/perl5/smbldap_tools.pm line 154, <CONFIGFILE> line 147.
Use of uninitialized value $value in substitution (s///) at /usr/share/perl5/smbldap_tools.pm line 154, <CONFIGFILE> line 148.

Auch dieses Skript läuft sonst durch und funktioniert.

Hab nur ich das mit diesen Perl-Fehlermeldungen? Und wie behebe ich das?

Viele Grüße
Steffen

Hallo,

Use of uninitialized value $value in substitution (s///) at
/usr/share/perl5/smbldap_tools.pm line 154, line 145.|

also wenn ich nach der Fehlerzeile google kommen da recht wenig Treffer und die meisten in spanisch oder französisch.

Hier [SOLVED] Authenticating Windows to openLDAP server on Ubuntu 9.10 - Page 8 taucht der Fehler in einem englischsprachigen Ubuntuforum auf, aber das was am Code nicht stimmt oder was zusätzlich rein muss wird nicht genannt.

Es gibt auch noch einige andere Treffer, die Meisten aber irgendwie im Zusammenhang mit Windows und LDAP. Da ist die Rede von „How To Fix Error Looking For Next Uid In Sambadomainname Workgroup“.

Ich möchte aber auch ungern an Skripten herumexperimentieren, die den LDAP anfassen.

Mein LMN 6.2 Server ist auf dem aktuellsten Stand, die Fehlermeldungen kamen beim letzten Benutzeranlegen oder verwenden des AddMail2LDAP.sh Skripts irgendwann im letzten Schuljahr noch nicht.

Da ich außer Updates nichts am LMN Server verändert habe, muss das imho mit irgendeinem Update gekommen sein. Allerdings müssten es dann ja auch andere haben.

Wäre echt dankbar für Tipps und Hilfe.

Viele Grüße
Steffen

Hallo,

die Fehlermeldungen kommen auch bei z.B.

smbldap-usermod -s /bin/false testlehrer
Use of uninitialized value $value in substitution (s///) at /usr/share/perl5/smbldap_tools.pm line 154, <CONFIGFILE> line 145.
Use of uninitialized value $value in substitution (s///) at /usr/share/perl5/smbldap_tools.pm line 154, <CONFIGFILE> line 146.
Use of uninitialized value $value in substitution (s///) at /usr/share/perl5/smbldap_tools.pm line 154, <CONFIGFILE> line 147.
Use of uninitialized value $value in substitution (s///) at /usr/share/perl5/smbldap_tools.pm line 154, <CONFIGFILE> line 148.

Also auch normale LDAP-Befehle bewirken das, und zwar wohl immer dann, wenn was im LDAP geändert wird. Ist was an meinem LDAP nicht in Ordnung oder woran liegt das?

Soll ich mal sophomorix-dump-pg2ldap laufen lassen?

Viele Grüße
Steffen

Hallo Steffen,

die Fehlermeldungen kommen auch bei z.B.

smbldap-usermod -s /bin/false testlehrer Use of uninitialized value
$value in substitution (s///) at /usr/share/perl5/smbldap_tools.pm line
154, line 145. Use of uninitialized value $value in
substitution (s///) at /usr/share/perl5/smbldap_tools.pm line 154,
line 146. Use of uninitialized value $value in substitution
(s///) at /usr/share/perl5/smbldap_tools.pm line 154, line

  1. Use of uninitialized value $value in substitution (s///) at
    /usr/share/perl5/smbldap_tools.pm line 154, line 148. |

Also auch normale LDAP-Befehle bewirken das, und zwar wohl immer dann,
wenn was im LDAP geändert wird. Ist was an meinem LDAP nicht in Ordnung
oder woran liegt das?

Soll ich mal sophomorix-dump-pg2ldap laufen lassen?

ich habe auch Fehlermeldungen bei der Nutzungsverwaltung vor zwei Tagen
gehabt.
Das ist nicht so ungewähnlich.

Bisher nehme ich an, dass das update der samba-tools eine Version
installiert hat, die irgend ein script, das sophomorix verwendet nicht
mehr oder anders dabei hat.

Ich schreib mal Rüdiger: bis er antwortet würde ich die Sache Ruhen lassen.

LG

Holger

Hallo,

die 4 Fehlerzeilen kommen sogar bei einem smbldap-usershow, wenn also gar nichts im ldap geändert sondern nur abgefragt wird.

Viele Grüße
Steffen

Hallo Holger,

ok, schon mal beruhigend, dass ich nicht der Einzige bin.

Wie gesagt, bei mir kommen die Meldungen aber auch bei normalen ldap-Befehlen, selbst beim smbldap-usershow

Ok, aber die Info, dass das auch bei anderen ldap Befehlen passiert, ist denke ich schon wichtig. Das heißt dann nämlich, dass es nicht an sophomorix selbst liegt.

Viele Grüße
Steffen

Bei mir zeigt der folgende Befehl KEINE Fehler:

smbldap-usershow <user>

Bitte poste mal deine Ausgaben des Befehls.

Zum ersten Post von crazy-to-bike:

/usr/sbin/smbldap-usermod -G '' hanswurst

mit leerer Liste an Gruppen, sollte eigentlich einen user aus allen zusätzlichen Gruppen (Projekte) herausnehmen:

-G|--group [+-]<grp1,...> supplementary groups (comma separated)

Ich denke es ist sinnvoll das sophomorix-dump-pg2ldap laufen zu lassen und danach zu testen, ob das smbldap-usershow wieder tut.

Hallo Rüdiger,

habe ich gemacht und läuft fehlerfrei durch

sophomorix-dump-pg2ldap
#### /usr/sbin/sophomorix-dump-pg2ldap started ...                        ####
Dumping to /var/log/sophomorix/pg2ldif...
   * Dumping groups.sql to /var/log/sophomorix/pg2ldif
   * Dumping accounts.sql to /var/log/sophomorix/pg2ldif
   * Dumping groups_users.sql to /var/log/sophomorix/pg2ldif
   * Appending dump of primary groups to /var/log/sophomorix/pg2ldif
Converting to slapd.ldif with dc=anne-frank-rsengen,dc=de ...
Loading ldif file /var/log/sophomorix/pg2ldif/slapd.ldif
 * Stopping OpenLDAP slapd                                                                                                                                                                             [ OK ] 
slapd: Kein Prozess gefunden
throwing away old ldap tree and creating a new...
 * Starting OpenLDAP slapd                                                                                                                                                                             [ OK ] 
 * Stopping OpenLDAP slapd                                                                                                                                                                             [ OK ] 
Populating ldap with /usr/share/sophomorix/config-templates/ldap/local-gen.ldif using the following command:
slapadd -c -l /usr/share/sophomorix/config-templates/ldap/local-gen.ldif -f /etc/ldap/slapd.conf
_#################### 100.00% eta   none elapsed            none fast!         
Closing DB...
Loading dump: slapadd -c -l /var/log/sophomorix/pg2ldif/slapd.ldif -f /etc/ldap/slapd.conf
-#################### 100.00% eta   none elapsed                 spd   1.3 M/s 
Closing DB...
 * Starting OpenLDAP slapd                                                                                                                                                                             [ OK ] 
#### /usr/sbin/sophomorix-dump-pg2ldap terminated regularly               ####

Allerdings hilft es nichts:

smbldap-usershow testlehrer
Use of uninitialized value $value in substitution (s///) at /usr/share/perl5/smbldap_tools.pm line 154, <CONFIGFILE> line 145.
Use of uninitialized value $value in substitution (s///) at /usr/share/perl5/smbldap_tools.pm line 154, <CONFIGFILE> line 146.
Use of uninitialized value $value in substitution (s///) at /usr/share/perl5/smbldap_tools.pm line 154, <CONFIGFILE> line 147.
Use of uninitialized value $value in substitution (s///) at /usr/share/perl5/smbldap_tools.pm line 154, <CONFIGFILE> line 148.
dn: uid=testlehrer,ou=accounts,dc=anne-frank-rsengen,dc=de
objectClass: inetOrgPerson,posixAccount,shadowAccount,sophomorixData,top,sambaSamAccount
sambaSID: S-1-5-21-3828990687-1754925782-4188516403-24450
cn: Lehrer Test
sambaLMPassword: <entfernt>
sambaNTPassword: <entfernt>
sambaPwdLastSet: 1426883400
sambaLogonTime: 0
sambaLogoffTime: 2147483647
sambaKickoffTime: 2147483647
sambaPwdCanChange: 0
sambaPwdMustChange: 2147483647
sambaAcctFlags: [UX]
displayName: Lehrer Test
sambaHomePath: \\afr-server\testlehrer
sambaHomeDrive: H:
description: Lehrer Test,Lehrer Test
sambaPrimaryGroupSID: S-1-5-21-3828990687-1754925782-4188516403-21001
uidNumber: 11725
uid: testlehrer
gidNumber: 10000
givenName: Lehrer
sn: Test
homeDirectory: /home/teachers/testlehrer
gecos: Lehrer Test
loginShell: /bin/bash
userPassword: {SSHA}<entfernt>
sophomorixstatus: U
mail: testlehrer@afs-engen.de

Viele Grüße
Steffen

Hallo Steffen,

der einzige Unterschied ist, dass bei mir die Objectclass-Zeile anders ist:

objectClass: inetOrgPerson,posixAccount,shadowAccount,top,sambaSamAccount,sophomorixData

Also zusätzlich die Objektklasse: sophomorixData

Kannst du mal Schauen, ob die zeile
include /etc/ldap/schema/sophomorix.schema

in /etc/ldap/slapd.conf existiert?

Und die Datei /etc/ldap/schema/sophomorix.schema folgendes beinhalted?

attributetype ( 1.3.6.1.4.1.19702 NAME 'sophomorixstatus'
        DESC 'Status'
        EQUALITY caseIgnoreMatch
        SYNTAX 1.3.6.1.4.1.1466.115.121.1.15 SINGLE-VALUE )

# Object Class Definitions

objectclass ( 1.3.6.1.4.1.19702.1 NAME 'sophomorixData'
        DESC 'Abstraction of an account with sophomorix attributes'
        AUXILIARY
        MAY ( sophomorixstatus ) )

Hallo Rüdiger,

ja, ist da.

ja, ist ebenfalls identisch:

# BSZ Leonberg: 19702

# vgl. http://www.iana.org/assignments/enterprise-numbers
# 7165 -> neue oid fuer samba

attributetype ( 1.3.6.1.4.1.19702 NAME 'sophomorixstatus'
        DESC 'Status'
        EQUALITY caseIgnoreMatch
        SYNTAX 1.3.6.1.4.1.1466.115.121.1.15 SINGLE-VALUE )

# Object Class Definitions

objectclass ( 1.3.6.1.4.1.19702.1 NAME 'sophomorixData'
        DESC 'Abstraction of an account with sophomorix attributes'
        AUXILIARY
        MAY ( sophomorixstatus ) )

Viele Grüße
Steffen

Hallo Rüdiger,

ich habe jetzt nochmal selbst genau hingeschaut. Diese Objektklasse ist bei mir auch da, nur die Reihenfolge ist anders. Bei mir:

objectClass: inetOrgPerson,posixAccount,shadowAccount,sophomorixData,top,sambaSamAccount

Bei dir:

objectClass: inetOrgPerson,posixAccount,shadowAccount,top,sambaSamAccount,sophomorixData

Viele Grüße
Steffen

Hallo,

also ich bekomme diese perl-Fehlermeldungen so langsam bei fast allem.

Heute kam die erste Benachrichtigung an mich über Mehrfachanmeldungen (Skript von Jesko auf dem Server, in der crontab aufgerufen). Außer der E-Mail mit der Nachricht kam zeitgleich eine zweite E-Mail mit den altbekannten Zeilen

Use of uninitialized value $value in substitution (s///) at /usr/share/perl5/smbldap_tools.pm line 154, <CONFIGFILE> line 145.
Use of uninitialized value $value in substitution (s///) at /usr/share/perl5/smbldap_tools.pm line 154, <CONFIGFILE> line 146.
Use of uninitialized value $value in substitution (s///) at /usr/share/perl5/smbldap_tools.pm line 154, <CONFIGFILE> line 147.
Use of uninitialized value $value in substitution (s///) at /usr/share/perl5/smbldap_tools.pm line 154, <CONFIGFILE> line 148.

Das Problem ist also offensichtlich viel grundsätzlicher. Vielleicht wäre es daher in einem neuen Thread besser aufgehoben…

Viele Grüße
Steffen

Hallo,

auch hier kurz die Info, dass das Problem gelöst ist, siehe hier Fehlermeldungen des Perl-Skripts /usr/share/perl5/smbldap_tools.pm

Viele Grüße
Steffen