如何抑制 pam_unix(sshd:session):用户会话已关闭

如何抑制 pam_unix(sshd:session):用户会话已关闭

我有一台 Ubuntu (14.x) 主机,用作 Git 存储库箱(通过 GitLab CE)。大约有 50 个用户使用共享用户(在本例中gitlab)连接到该箱以同步他们的存储库。此方法效果很好,但不幸的是,它完全摧毁了我的存储库,/var/log/auth.log它很容易增长到每天 10 GB,如下所示:

Apr 22 14:10:25 gitlab sshd[7434]: pam_unix(sshd:session): session opened for user git by (uid=227)
Apr 22 14:10:25 gitlab sshd[7435]: pam_unix(sshd:session): session closed for user gitlab

有没有一种方法可以抑制该用户的这些消息并停止淹没我的日志文件?

答案1

您可以配置rsyslogd丢弃提及该用户的消息。在(例如)gitlab中创建一个文件,其中包含:/etc/rsyslog.d/10-filter-git.conf

if $syslogfacility-text startswith 'auth' and $msg contains 'gitlab' and  not ($msg contains 'failure') then ~

这是一基于表达式的过滤器那:

  • 匹配来自名称以 开头的设施的消息auth。通常, 中的条目auth.log来自authauthpriv设施。
  • 匹配包含以下内容的消息gitlab- 请在此处使用您的用户名。
  • 匹配不包含的消息failure- 我认为您仍然需要留意身份验证失败。
  • ~丢弃发送给它的消息。

然后重新启动rsyslogd

service rsyslog restart

现在,有关用户的正常消息gitlab不应出现在auth.log

相关内容