CentOS7 での PAM 標準マクロとログ記録

CentOS7 での PAM 標準マクロとログ記録

D(x)で定義されたマクロによれば、pam_macros.hソースコード) は以下のように使用されます。

D(("Hello PAM World"));

このログはどこにありますかCentOS7?

debugconf ファイルでフラグとして使用していることに注意してくださいpam.d

次のコマンドも試しました:

grep -rnw '/var/log/' -e "Hello Pam World"

しかし、成功しませんでした。

答え1

Apple の Mac OS X 向け PAM 実装は、おそらく Centos 7 上の PAM に関する情報源としては最適とは言えません。

# yum -y install pam-devel
# rpm -ql pam-devel | grep macro
/usr/include/security/_pam_macros.h
# grep FILE `!!`
grep FILE `rpm -ql pam-devel | grep macro`
 * _PAM_LOGFILE must exist and be writable to the programs you debug.
#ifndef _PAM_LOGFILE
#define _PAM_LOGFILE "/var/run/pam-debug.log"
    FILE *logfile;
    if ((fd = open(_PAM_LOGFILE, O_WRONLY|O_NOFOLLOW|O_APPEND)) != -1) {
    if ((fd = open(_PAM_LOGFILE, O_WRONLY|O_APPEND)) != -1) {
    FILE *logfile;
    if ((fd = open(_PAM_LOGFILE, O_WRONLY|O_NOFOLLOW|O_APPEND)) != -1) {
    if ((fd = open(_PAM_LOGFILE, O_WRONLY|O_APPEND)) != -1) {
    _pam_output_debug_info(__FILE__, __FUNCTION__, __LINE__); \

DEBUGまた、そのコードにアクセスするには、PAM を定義付きでコンパイルする必要があります。

関連情報