Rsyslog не может прочитать imfile из каталога perforce

Я столкнулся с проблемой на сервере Ubuntu, когда Rsyslog не может прочитать ни один файл из каталога журналов Perforce.

Я проверил эту конфигурацию Rsyslog поскольку модуль imfile работает правильно, так как он может читать из других каталогов, включая /home.

Я также добавил пользователя системного журнала в группу perforce и наоборот, но он все еще не работал.

Я нашел одно обходное решение но, очевидно, не подходит для производства, это сделать что-то вроде:

tail -f /perforce/logs/log.csv >> / home / monitoredlogfile

некоторая полезная информация:

drwxr ----- 2 perforce perforce 4096 11 июня 14:01 журналы

id syslog uid = 104 (syslog) gid = 108 (syslog) groups = 108 (syslog), 4 (adm), 1010 (perforce)

id perforce uid = 1010 (perforce) gid = 1010 (perforce) групп = 1010 (perforce), 108 (системный журнал)

Есть идеи, что может пойти не так?

1
задан 11 June 2019 в 18:11
1 ответ

Ваша группа perforce может только читать журналы репо / perforce /, вам нужно добавить «x» в эту папку, чтобы разрешить этой группе доступ к этой папке.

Также убедитесь, что ваш / perforce папка имеет такое же разрешение. Даже если ваш / perforce / logs имеет rwxrwxrwx в качестве разрешения, если ваш / perforce - только rwx ------, тогда группа никогда не сможет получить к нему доступ.

Если вы не хотите играть с разрешение приложения, вы можете использовать ACL вместо того, чтобы предоставить пользователю syslog доступ к вашей папке

$ sudo setfacl -m u:syslog:rx -R /perforce/logs/ 
$ sudo getfacl /perforce/logs/

Осторожно: однажды я попробовал это с Kubernetes (давая доступ к syslog к / var / lib / docker / container), но это сломало новые pod'ы ( у них была проблема с разрешением DNS). У меня не было другого выбора, кроме как запустить rsyslog от имени пользователя root вместо syslog

1
ответ дан 3 December 2019 в 23:04

Теги

Похожие вопросы