was könnte dazu führen, dass Runcobol bei bestimmten Benutzern fehlschlägt?

was könnte dazu führen, dass Runcobol bei bestimmten Benutzern fehlschlägt?

Ich habe RM/COBOL Runtime – Version 7.10.00 auf einer CentOS 6.5-Box (VM) laufen.

Dieses CentOS ermöglicht bestimmten Domänenbenutzern den SSH-Zugriff, indem ihre Gruppe beim lokalen Domänencontroller authentifiziert wird. Diese Benutzer erhalten ein Home-Verzeichnis, das automatisch in /home/Domänenname/Benutzername erstellt wird, während sich normale lokale Benutzer in /home/Benutzername befinden.

Die relevanten Cobol-Dateien scheinen sich in

/usr/bin/runcobol<- eine Datei
/usr/bin/rmcobolso<- ein Verzeichnis, das leer zu sein scheint lautls -a

Wie dem auch sei, hier ist mein grundlegendes Problem. Wenn ein normaler Benutzer den Befehl ausführt,

# runcobol

... dabei handelt es sich lediglich um eine grundlegende Überprüfung, ob der Befehl funktioniert...
Er/sie erhält die Antwort:

RM/COBOL Runtime - Version 7.10.00 for Linux (Intel).
Configured for 50 users.
Copyright (c) 1985, 1986-2000 by Liant Software Corp.  All rights reserved.
Registration Number: 7H-1054-00367-0050

Usage:    RUNCOBOL name [options]
Options:  [A=arguments] [B=buffersize] [C=configfile] [D] [I] [K]
          [L=libname] [M] [S=switches] [T=sortsize] [V] [X=configmod]

Wenn einer meiner Domänenbenutzer den Befehl ausführt

# runcobol

Er/Sie erhält die Antwort:

Segmentation fault

Was könnte die Ursache dieses Problems sein?

Bearbeitung.1:

strace runcobolvom Domänenbenutzer. Die letzten Zeilen enthielten:

open("/usr/lib/libnss_winbind.so.2", O_RDONLY) = -1 ENOENT (No such file or direc
stat64("/usr/lib", {st_mode=S_IFDIR|0555, st_size=4096, ...}) = 0
munmap(0xf76fa000, 48317)               = 0
--- SIGSEGV (Segmentation fault) @ 0 (0) ---
+++ killed by SIGSEGV +++

Dies sind nur die letzten Zeilen. Die 20 Zeilen davor scheinen alle nach dieser Datei zu suchen libnss_winbind.so.2, die auf meinem Server existiert /usr/lib64/libnss_winbind.so.2(Ja, ich verwende CentOS 6.5 64-Bit). Ab der ersten Zeile vonstrace runcobol

[test.user.co@co1tu-sv-conta bin]$ strace runcobol
execve("/usr/bin/runcobol", ["runcobol"], [/* 26 vars */]) = 0
[ Process PID=14369 runs in 32 bit mode. ]

Ich vermute also, bin mir aber nicht sicher, dass ich eine 64-Bit-Version von libnss_winbind.so.2installiert habe, aber runcobolnach einer 32-Bit-Version sucht. Warum hat mein normaler Benutzer also kein Problem mit runcobol? Nun, wenn man sich für den normalen Benutzer die ansieht , scheint es überhaupt stracenicht danach zu suchen . Ich denke, das macht Sinn, da es etwas mit Samba und Domänenauthentifizierung zu tun hat, was der lokale Benutzer nicht tut.libnss_winbind.so.2winbind

An diesem Punkt stecke ich wieder fest, da ich nicht viel Erfahrung mit dem Debuggen unter Linux habe. Nach meinen begrenzten Vermutungen sehe ich drei Optionen:

  1. Suchen und installieren Sie eine 32-Bit-Version libnss_winbind.so.2an einem der runcobolgesuchten Orte. Ich habe keine Ahnung, welches Paket ich dafür auf meinem 64-Bit-CentOS 6.5 installieren soll

  2. Läuft runcobol, ohne danach zu suchen libnss_winbind.so.2. Ich bin mir nicht sicher, warum es versucht, damit zu laufen, da der Benutzer bereits authentifiziert ist und sich im CentOS-System befindet. Ich verwende nach der Authentifizierung keine Domänenressourcen, daher scheint dies nicht einmal ein notwendiger Schritt zu sein.

  3. libnss_winbind.so.2ist eine falsche Fährte und hat nichts mit dem Segmentierungsfehler zu tun.

Bearbeitung.2

Ergebnisse von gdb runcoboldamals run:

Vom lokalen Benutzer

Reading symbols from /usr/bin/runcobol...(no debugging symbols found)...done.
(gdb) run
Starting program: /usr/bin/runcobol

RM/COBOL Runtime - Version 7.10.00 for Linux (Intel).
Configured for 50 users.
Copyright (c) 1985, 1986-2000 by Liant Software Corp.  All rights reserved.
Registration Number: 7H-1054-00367-0050

Usage:    RUNCOBOL name [options]
Options:  [A=arguments] [B=buffersize] [C=configfile] [D] [I] [K]
          [L=libname] [M] [S=switches] [T=sortsize] [V] [X=configmod]

Program exited with code 0373.
Missing separate debuginfos, use: debuginfo-install glibc-2.12-1.132.el6_5.4.i686

Vom Domänenbenutzer

Reading symbols from /usr/bin/runcobol...(no debugging symbols found)...done.
(gdb) run
Starting program: /usr/bin/runcobol

Program received signal SIGSEGV, Segmentation fault.
0x0805cc37 in OSINITIALIZE ()
Missing separate debuginfos, use: debuginfo-install glibc-2.12-1.132.el6_5.4.i686

verwandte Informationen