11

私はcentOS5.5OSに取り組んでいます。

/security/pam_appl.hおよび/security/misc.hファイルが欠落しているというエラーが表示されます。

実際、私のrshd.cはPAMモジュールをロードしません。このライブラリを配置することで、rshdを正常に動作させることができます。だから私はこの質問を投稿しました。

エラー:-

rshd.c:90:31: error: security/pam_appl.h: No such file or directory
rshd.c:91:31: error: security/pam_misc.h: No such file or directory

私はよく検索しますが、これらのファイルを提供する有用なrpmを取得できませんでした。

いくつかのリンクはここにあります。ただし、centOSには適していません。

助けて。この問題をどのように克服できるか教えてください。

編集番号1

3番目のリンクは便利なようです。pam-develをインストールしようとすると、エラーが表示されます。

私が走るとき

./configure --prefix=/usr \
            --sysconfdir=/etc \
            --docdir=/usr/share/doc/Linux-PAM-1.1.6 \
            --disable-nis &&
make

いくつかの変数をチェックしてからオブジェクトファイルを作成しますが、最後に次のように表示されます。

make[3]: *** [pam_xauth.lo] Error 1
make[3]: Leaving directory `~/Linux-PAM-1.1.6/modules/pam_xauth'
make[2]: *** [all-recursive] Error 1
make[2]: Leaving directory `~/Linux-PAM-1.1.6/modules'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `~/Linux-PAM-1.1.6'
make: *** [all] Error 2

編集No.2

私があなたの命令に従ったとき、それは最後に、以下のエラーを示しています。

このエラーは、私が実行したときに発生しました make && make install

pam_xauth.c:64:27: error: selinux/label.h: No such file or directory
pam_xauth.c: In function âpam_sm_open_sessionâ:
pam_xauth.c:616: error: âSELABEL_CTX_FILEâ undeclared (first use in this function)
pam_xauth.c:616: error: (Each undeclared identifier is reported only once
pam_xauth.c:616: error: for each function it appears in.)
pam_xauth.c:616: warning: initialization makes pointer from integer without a cast
make[3]: *** [pam_xauth.lo] Error 1
make[3]: Leaving directory `/root/Linux-PAM-1.1.6/modules/pam_xauth'
make[2]: *** [all-recursive] Error 1
make[2]: Leaving directory `/root/Linux-PAM-1.1.6/modules'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/root/Linux-PAM-1.1.6'
make: *** [all] Error 2
4

4 に答える 4

21

私は現在CentOSを持っていませんが、これは一般的な問題のようです。詳細については、ここを参照してください。pam-develをインストールして、次の方法でソースからビルドする必要がないようにすることをお勧めします。

yum install pam-devel

問題があなたのものと同じであるサイトを見つけるたびに、修正はこれをインストールすることであるようです。今すぐ試してみるためにCentOS5.5をダウンロードしていますが、そのコマンドを実行してみましたか?

それをインストールしてもヘッダーファイルが見つからない場合は、これを試してみます。

cd /
sudo find . -name "pam_appl.h"
sudo find . -name "pam_misc.h"

それらがインストールされていて、標準のインクルードパスに含まれていないか、security/ディレクトリに含まれていない可能性があります。その場合は、それらを移動するか、コードにヘッダーを含める方法を変更する必要があります。

sudoコマンドについては、パスワードを入力する必要があることに注意してください。

于 2013-04-09T12:24:00.377 に答える
17

誰かがdebian/ubuntuを探しているなら、これを試してくださいsudo apt-get install libpam0g-dev

于 2017-08-15T05:51:00.193 に答える
3

CentOSで利用可能なpam-develのrpmが必要ですまたは、ここからpamをダウンロードして、ローカルにインストールすることもできます。

編集: それをコンパイルするには、これは私のシステムで正常に動作します:

wget http://linux-pam.org/library/Linux-PAM-1.1.6.tar.bz2
tar xvjf Linux-PAM-1.1.6.tar.bz2
cd Linux-PAM-1.1.6/
./configure --prefix=$HOME/local
make && make install

そうでない場合は、コンパイラエラーを報告してください。

于 2013-03-25T15:08:41.820 に答える
1

検索エンジンでこれを見つけた人のために、CentOS7で次のことがうまくいきました。

yum install pam-devel
于 2015-08-27T21:53:43.880 に答える