本機login登陸日志可以直接使用printf輸出到終端上,然后無論ssh登陸在登陸成功之前是無法將日志顯示在終端上的,而直接fopen一個文件卻返回失敗,因此需要一種記錄日志的機制。
1.說明
普通用戶進程、Pam模塊可以使用syslog記錄日志。
- 普通用戶進程默認輸出到LOG_USER終端,可以通過調用openlog設置syslog對應的日志輸出設備終端。
- pam模塊對應的日志終端為LOG_AUTHPRIV,日志輸出到/var/log/secure
2.日志調用
/* * 日志查看 tail -f /var/log/message */ #include <syslog.h> int main(int argc, char *argv[]) { //openlog("mmmmmmmyyyyyyyyyy", LOG_CONS|LOG_PID, LOG_USER); // 默認輸出設備是LOG_USER, 不修改輸出設備可以不調用openlog(),在調用syslog時自動調用 openlog(默認參數) syslog(LOG_ERR, "hhhhhhhh===%d", 998); //closelog(); 也可以不調用 }
2.日志配置
日志配置可以修改,也可以使用默認配置
cat /etc/rsyslog.conf有這樣的默認配置