У меня есть хост 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
Есть ли способ подавить эти сообщения для этого пользователя и остановить флуд мой лог-файл?
Можно настроить 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
от auth
и authpriv
средства.gitlab
- используйте свое имя пользователя здесь.failure
- Я предполагаю, что Вы все еще хотели бы внимательно наблюдать за ошибками аутентификации.~
сообщения отбрасываний отправляются в него.Затем перезапуск rsyslogd
:
service rsyslog restart
Теперь нормальные сообщения о gitlab
пользователь не должен появляться в auth.log
.