一部のユーザーの場合、runco​​bolが失敗する原因は何ですか?

一部のユーザーの場合、runco​​bolが失敗する原因は何ですか?

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]

私のドメインユーザーの1人がコマンドを実行したとき

# 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.2winbindローカルユーザーは、実行していないSambaおよびドメイン認証に関連しているため、これは意味があると思います。

この時点で、私はLinuxデバッグの経験があまりないので、再び詰まっています。限られた推測によると、3つのオプションがあります。

  1. 探している場所の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

ベストアンサー1

おすすめ記事