일부 사용자의 경우 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. ]

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

이 시점에서 저는 Linux 디버깅 경험이 많지 않기 때문에 다시 막혔습니다. 제한된 추측에 따르면 세 가지 옵션이 있습니다.

  1. 찾고 있는 위치 중 하나에 libnss_winbind.so.232비트 버전을 찾아 설치합니다 . runcobol64비트 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

관련 정보