以下を使用して、Suse 11 Sp1 Server64ビットにpam_ldapモジュールを追加しようとしています。
pam-config -a --ldap
OS情報:
node01:~ # file $(which pam-config)
/usr/sbin/pam-config: ELF 64-bit LSB executable, x86-64, version 1 (SYSV), for GNU/Linux 2.6.4, dynamically linked (uses shared libs), stripped
node01:~ # uname -m
x86_64
したがって、コマンドpam-configは、このパス/lib64/security/pam_ldap.soのpamモジュールを使用するのが適切だと思います。
しかし、それはそうではありません、それは/ lib/security /ディレクトリの下を見るので、それはpamモジュールの32ビットバージョンを探します
node01:~ # pam-config --add --ldap
ERROR: module /lib/security/pam_ldap.so is not installed.
pam-config: invalid option -- --ldap
Try `pam-config --help' or `pam-config --usage' for more information.
Straceの使用:
access("/lib/security/pam_ldap.so", F_OK) = -1 ENOENT (No such file or directory)
pam-configはldap用の3ビットバージョンモジュールを検出しませんでしたが、64ビット用には検出しました
access("/lib64/security/pam_ldap.so", F_OK) = 0
write(2, "pam-config: invalid option -- --"..., 37pam-config: invalid option -- --ldap
) = 37
write(2, "Try `pam-config --help' or `pam-"..., 70Try `pam-config --help' or `pam-config --usage' for more information.
) = 70
exit_group(1) = ?
インストールされているpam_ldapモジュール
node01:~ # zypper se pam_ldap
Loading repository data...
Reading installed packages...
S | Name | Summary | Type
--+----------------+--------------------------------------+--------
i | pam_ldap | A PAM Module for LDAP Authentication | package
| pam_ldap-32bit | A PAM Module for LDAP Authentication | package
Pam_ldap-32bitをインストールするか、次のコマンドでシンボリックリンクを作成します。
ln -s /lib64/security/pam_ldap.so /lib/security/pam_ldap.so
そしてこのように、それは機能します
だから私の質問は、なぜ64ビットバイナリが32ビットバージョンのライブラリを探しているのですか?
node01:~ # ldd /usr/sbin/pam-config
linux-vdso.so.1 => (0x00007fffc9cf4000)
libc.so.6 => /lib64/libc.so.6 (0x00007fddf5579000)
/lib64/ld-linux-x86-64.so.2 (0x00007fddf5920000)
node01:~ # echo $LD_LIBRARY_PATH
node01:~ # [[ -z $LD_LIBRARY_PATH ]] && echo "empty"
empty
実行
Sudo zypper install pam_ldap # then you will be able to run the following command with no error.
pam-config --add --ldap
次のファイルは、pam-config
コマンド/etc/pam.d
ディレクトリによって変更されます。
common-password
common-auth
common-session-pc
これは追加された行です
auth required pam_ldap.so use_first_pass