특정 사용자에 대해 runcobol이 실패하는 원인은 무엇입니까?

특정 사용자에 대해 runcobol이 실패하는 원인은 무엇입니까?

CentOS 6.5 상자(VM)에서 실행되는 RM/COBOL 런타임 - 버전 7.10.00이 있습니다.

이 CentOS는 로컬 도메인 컨트롤러로 그룹을 인증하여 특정 도메인 사용자에게 SSH 액세스를 허용합니다. 이러한 사용자는 /home/domainname/username에 자동으로 생성되는 홈 디렉토리를 얻는 반면, 일반 로컬 사용자는 /home/username에 있습니다.

관련 Cobol 파일은 다음 위치에 있는 것 같습니다.

/usr/bin/runcobol<- 파일
/usr/bin/rmcobolso<- 다음에 따르면 비어 있는 것처럼 보이는 디렉토리ls -a

어쨌든, 여기에 내 기본적인 문제가 있습니다. 일반 사용자가 명령을 실행하면

# 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]

내 도메인 사용자 중 한 명이 명령을 실행할 때

# runcobol

그/그녀는 응답을 받습니다:

Segmentation fault

이 문제의 원인은 무엇입니까?

편집.1:

strace runcobol도메인 사용자로부터. 마지막 몇 줄은 다음과 같습니다.

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 +++

이것은 마지막 몇 줄에 불과합니다. 이 앞에 있는 20줄은 libnss_winbind.so.2내 서버에 존재하는 이 파일을 찾는 것 같습니다 /usr/lib64/libnss_winbind.so.2(예, CentOS 6.5 64비트를 실행하고 있습니다). 첫 번째 줄부터strace 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. ]

libnss_winbind.so.2따라서 64비트 버전이 설치되어 있지만 확실하지는 않지만 runcobol32비트 버전을 찾고 있는 것 같습니다. 그렇다면 일반 사용자는 왜 문제가 없습니까 runcobol? 뭐, 일반 사용자의 경우에는 전혀 strace찾지 않는 것 같습니다 . 로컬 사용자가 수행하지 않는 삼바 및 도메인 인증과 관련이 있기 libnss_winbind.so.2때문에 이것이 의미가 있다고 생각합니다 .winbind

이 시점에서 나는 Linux에서 디버깅 경험이 많지 않기 때문에 다시 막히게 되었습니다. 제한된 추측으로 볼 때 세 가지 옵션이 있습니다.

  1. 찾고 있는 libnss_winbind.so.2위치 중 하나에 32비트 버전을 찾아 설치합니다 . runcobol내 64비트 CentOS 6.5에 어떤 패키지를 설치해야 할지 모르겠습니다.

  2. runcobol찾지 않고 달려 가세요 libnss_winbind.so.2. 사용자가 이미 인증되었고 CentOS 시스템에 있으므로 왜 이를 실행하려고 하는지 잘 모르겠습니다. 인증 후 도메인 리소스를 전혀 사용하지 않고 있어서 꼭 필요한 단계도 아닌 것 같습니다.

  3. libnss_winbind.so.2이는 붉은 청어이며 분할 오류와 관련이 없습니다.

편집.2

gdb runcobol그 결과 run:

로컬 사용자로부터

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

도메인 사용자로부터

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

관련 정보