![CentOS7 上的 PAM 标准宏和日志记录](https://linux22.com/image/667381/CentOS7%20%E4%B8%8A%E7%9A%84%20PAM%20%E6%A0%87%E5%87%86%E5%AE%8F%E5%92%8C%E6%97%A5%E5%BF%97%E8%AE%B0%E5%BD%95.png)
根据(D(x)
pam_macros.h
源代码) 的使用方法如下:
D(("Hello PAM World"));
该日志位于哪里CentOS7
?
debug
请注意,我在我的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 必须使用定义进行编译。