用户创建远程日志

用户创建远程日志

我正在尝试将来自不同服务器的日志集中到一个服务器上。

我可以通过从客户端添加来集中日志信息auth.* @server_ip:port/etc/rsyslog.conf但现在我无法检索用户创建日志信息。但是,这些日志位于 中/var/log/auth.log

例子 :

Jun  1 09:46:20 host sshd[12867]: Accepted password for adminelk from 10.0.0.2 port 63676 ssh2
Jun  1 09:46:20 host sshd[12867]: pam_unix(sshd:session): session opened for user adminelk by (uid=0)
Jun  1 09:46:26 host su[12879]: Successful su for root by adminelk
Jun  1 09:46:26 host su[12879]: + /dev/pts/0 adminelk:root
Jun  1 09:46:26 host su[12879]: pam_unix(su:session): session opened for user root by adminelk(uid=1000)
Jun  1 10:17:01 host CRON[12951]: pam_unix(cron:session): session opened for user root by (uid=0)
Jun  1 10:17:01 host CRON[12951]: pam_unix(cron:session): session closed for user root
Jun  1 10:17:01 host groupadd[12955]: group added to /etc/group: name=johnny, GID=1002
Jun  1 10:17:01 host groupadd[12955]: group added to /etc/gshadow: name=johnny
Jun  1 10:17:01 host groupadd[12955]: new group: name=johnny, GID=1002
Jun  1 10:17:01 host useradd[12959]: new user: name=johnny, UID=1004, GID=1002, home=/home/johnny, shell=/bin/bash
Jun  1 10:17:05 host passwd[12966]: pam_unix(passwd:chauthtok): password changed for johnny
Jun  1 10:17:08 host chfn[12967]: changed user 'johnny' information

我可以检索 sshd 日志,但不能检索 useradd 日志......

我怎样才能检索这些日志?

答案1

总结

使用auth,authpriv.* @server_ip:port

细节

您使用的设施是错误的,或者说不是所有设施都正确。

为了分析我运行的行为

journalctl -o verbose -t useradd -t groupadd -t passwd -f

在一个窗口中

adduser foo

在另一个中(两者都是root)。

journald拦截(本地)系统日志消息,可以使用 查看journalctl。后者允许使用各种输出格式,其中之一是详细显示所有系统日志消息字段

输出结果如下:

Wed 2018-06-06 21:05:22.618392 CEST  [...]
    ...
    PRIORITY=6
    SYSLOG_FACILITY=10
    ...
    SYSLOG_IDENTIFIER=groupadd
    ...
    MESSAGE=group added to /etc/group: name=foo, GID=1004
Wed 2018-06-06 21:05:22.630643 CEST [...]
    ...
    PRIORITY=6
    SYSLOG_FACILITY=10
    ...
    SYSLOG_IDENTIFIER=groupadd
    ...
    MESSAGE=group added to /etc/gshadow: name=foo
    ...
Wed 2018-06-06 21:05:22.631667 CEST [...]
    ...
    PRIORITY=6
    SYSLOG_FACILITY=10
    ...
    SYSLOG_IDENTIFIER=groupadd
    ...
    MESSAGE=new group: name=foo, GID=1004
    ...
Wed 2018-06-06 21:05:22.635070 CEST [...]
    ...
    PRIORITY=6
    SYSLOG_FACILITY=10
    ...
    SYSLOG_IDENTIFIER=useradd
    ...
    MESSAGE=new user: name=foo, UID=1002, GID=1004, home=/home/foo, shell=/bin/bash
    ...
Wed 2018-06-06 21:05:22.699151 CEST [...]
    PRIORITY=4
    ...
    SYSLOG_FACILITY=10
    ...
    SYSLOG_IDENTIFIER=passwd
    MESSAGE=pam_ecryptfs: PAM passphrase change module retrieved a NULL passphrase; nothing to do
    ...

正如我们在此处看到的,SYSLOG_FACILITY10针对所有这些消息的。这并非auth但是authpriv

事实上,我的 rsyslog 配置包含以下行

auth,authpriv.* /var/log/auth.log

在文件中/etc/rsyslog.d/50-default.conf

所以我的建议是使用

auth,authpriv.*     @server_ip:port

不仅可以转发auth消息,还可以authpriv留言。

相关内容