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

Rob*_*ine 2 git pam sshd

我有一个 Ubuntu (14.x) 主机作为 Git 存储库框(通过 GitLab CE)。大约 50 个用户正在使用共享用户(在本例中gitlab)连接到该框以同步他们的存储库。这种方法工作得很好,但不幸的是,它完全破坏了我的工作/var/log/auth.log,每天很容易增加到 10 场演出,如下所示:

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
Run Code Online (Sandbox Code Playgroud)

是否有一种方法可以为该用户抑制此消息并停止泛滥我的日志文件?

mur*_*uru 5

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

if $syslogfacility-text startswith 'auth' and $msg contains 'gitlab' and  not ($msg contains 'failure') then ~
Run Code Online (Sandbox Code Playgroud)

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

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

然后重新启动rsyslogd

service rsyslog restart
Run Code Online (Sandbox Code Playgroud)

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