我有一个 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)
是否有一种方法可以为该用户抑制此消息并停止泛滥我的日志文件?
您可以配置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来自auth和authpriv设施。gitlab- 在此处使用您的用户名的消息。failure- 我假设您仍然希望留意身份验证失败。~ 丢弃发送给它的消息。然后重新启动rsyslogd:
service rsyslog restart
Run Code Online (Sandbox Code Playgroud)
现在关于gitlab用户的正常消息不应该出现在auth.log.