Ubuntu 14.04.2 LTS - RSysLog 8.8.0 - omusrmsg не работающий

Я пытался в течение двух дней заставить RSysLog предупреждать все [или указанный] пользователи определенного удара Средств/Приоритетов RSysLog.

rsyslog.d/50-default.conf:

...
*.emerg                                :omusrmsg:*
...

команда

# logger -p emerg "Test Broadcast"

не обменивается сообщениями любой вошел в систему пользователи, но действительно создает запись в/var/log/syslog, я попробовал это на запасе Цифровой Океан 14LTS Капелька, я затем установил системный-журнал-ng, и это хорошо работало там. Если все остальное перестало работать, я должен буду переключиться на системный-журнал-ng.

Я пытался отладить его, но ничто не нашел окончательным, просто что это должно называть свой внутренний omusrmsg плагин.

6570.499968822:imuxsock.c     : --------imuxsock calling select, active file descriptors (max 4): 
0 4 
6570.500000498:main Q:Reg/w0  : wti 0x1e55a80: worker awoke from idle processing
6570.500011205:main Q:Reg/w0  : DeleteProcessedBatch: we deleted 0 objects and enqueued 0 objects
6570.500018262:main Q:Reg/w0  : doDeleteBatch: delete batch from store, new sizes: log 1, phys 1
6570.500028026:main Q:Reg/w0  : processBATCH: batch of 1 elements must be processed
6570.500035307:main Q:Reg/w0  : processBATCH: next msg 0: <8>Mar 18 11:02:50 root: Test Broadcast
6570.500043692:main Q:Reg/w0  :     PRIFILT 'auth,authpriv.*'
6570.500060156:main Q:Reg/w0  :     pmask:  X  X  X  X FF  X  X  X  X  X FF  X  X  X  X  X  X  X  
X  X  X  X  X  X  X  X 
6570.500212848:main Q:Reg/w0  : PRIFILT condition result is 0
6570.500219084:main Q:Reg/w0  :     PRIFILT '*.*;auth,authpriv.none'
6570.500234875:main Q:Reg/w0  :     pmask: FF FF FF FF  X FF FF FF FF FF  X FF FF FF FF FF FF FF F
F FF FF FF FF FF FF FF 
6570.500376739:main Q:Reg/w0  : PRIFILT condition result is 1
6570.500383229:main Q:Reg/w0  :     ACTION 1 [builtin:omfile:/var/log/syslog]
6570.500399749:main Q:Reg/w0  : executing action 1
6570.500406423:main Q:Reg/w0  : Called action, logging to builtin:omfile
6570.500434197:main Q:Reg/w0  : action 1 is transactional - executing in commit phase
6570.500442730:main Q:Reg/w0  : Action 1 transitioned to state: itx
6570.500449556:main Q:Reg/w0  :     PRIFILT 'syslog.*'
6570.500464841:main Q:Reg/w0  :     pmask:  X  X  X  X  X FF  X  X  X  X  X  X  X  X  X  X  X  X  
X  X  X  X  X  X  X  X 
6570.500600153:main Q:Reg/w0  : PRIFILT condition result is 0
6570.500606337:main Q:Reg/w0  :     PRIFILT 'kern.*'
6570.500621174:main Q:Reg/w0  :     pmask: FF  X  X  X  X  X  X  X  X  X  X  X  X  X  X  X  X  X  
X  X  X  X  X  X  X  X 
6570.500756319:main Q:Reg/w0  : PRIFILT condition result is 0
6570.500762583:main Q:Reg/w0  :     PRIFILT 'mail.*'
6570.500779355:main Q:Reg/w0  :     pmask:  X  X FF  X  X  X  X  X  X  X  X  X  X  X  X  X  X  X  
X  X  X  X  X  X  X  X 
6570.500917348:main Q:Reg/w0  : PRIFILT condition result is 0
6570.500922727:main Q:Reg/w0  :     PRIFILT 'mail.err'
6570.500936390:main Q:Reg/w0  :     pmask:  X  X  F  X  X  X  X  X  X  X  X  X  X  X  X  X  X  X  
X  X  X  X  X  X  X  X 
6570.501051126:main Q:Reg/w0  : PRIFILT condition result is 0
6570.501056236:main Q:Reg/w0  :     PRIFILT 'news.crit'
6570.501069057:main Q:Reg/w0  :     pmask:  X  X  X  X  X  X  X  7  X  X  X  X  X  X  X  X  X  X  
X  X  X  X  X  X  X  X 
6570.501190023:main Q:Reg/w0  : PRIFILT condition result is 0
6570.501195270:main Q:Reg/w0  :     PRIFILT 'news.err'
6570.501208511:main Q:Reg/w0  :     pmask:  X  X  X  X  X  X  X  F  X  X  X  X  X  X  X  X  X  X  
X  X  X  X  X  X  X  X 
6570.501322879:main Q:Reg/w0  : PRIFILT condition result is 0
6570.501328029:main Q:Reg/w0  :     PRIFILT 'news.notice'
6570.501341145:main Q:Reg/w0  :     pmask:  X  X  X  X  X  X  X 3F  X  X  X  X  X  X  X  X  X  X  
X  X  X  X  X  X  X  X 
6570.501456323:main Q:Reg/w0  : PRIFILT condition result is 0
6570.501461494:main Q:Reg/w0  :     PRIFILT '*.emerg'
6570.501474573:main Q:Reg/w0  :     pmask:  1  1  1  1  1  1  1  1  1  1  1  1  1  1  1  1  1  1  
1  1  1  1  1  1  1  1 
6570.501596778:main Q:Reg/w0  : PRIFILT condition result is 1
6570.501602014:main Q:Reg/w0  :     ACTION 9 [builtin:omusrmsg::omusrmsg:*]
6570.501616285:main Q:Reg/w0  : executing action 9
6570.501621661:main Q:Reg/w0  : Called action, logging to builtin:omusrmsg
6570.501638200:main Q:Reg/w0  : wti 0x1e55a80: we need to create a new action worker instance for 
action 9
6570.501647455:main Q:Reg/w0  : Action 9 transitioned to state: itx
6570.501653556:main Q:Reg/w0  : entering actionCalldoAction(), state: itx, actionNbr 9
6570.501658963:main Q:Reg/w0  : 
6570.501794730:main Q:Reg/w0  : Action 9 transitioned to state: rdy
6570.501804424:main Q:Reg/w0  : END batch execution phase, entering to commit phase
6570.501811294:main Q:Reg/w0  : actionCommitAll: action 1, state 1, nbr to commit 0 isTransactiona
l 1
6570.501817299:main Q:Reg/w0  : doTransaction: have commitTransaction IF, using that, pWrkrInfo 0x
1e55bc0
6570.501823086:main Q:Reg/w0  : entering actionCallCommitTransaction(), state: itx, actionNbr 1, n
Msgs 1
6570.501830453:main Q:Reg/w0  : omfile: write to stream, pData->pStrm 0x7fdf78002500, lenBuf 45, s
trt data Mar 18 11:02:50 phoenix root: Test Broadcast

6570.501838364:main Q:Reg/w0  : strm 0x7fdf78002500: file 5(syslog) flush, buflen 45
6570.501845555:main Q:Reg/w0  : strmPhysWrite, stream 0x7fdf78002500, len 45
6570.501861894:main Q:Reg/w0  : strm 0x7fdf78002500: file 5 write wrote 45 bytes
6570.501868452:main Q:Reg/w0  : Action 1 transitioned to state: rdy
6570.501874835:main Q:Reg/w0  : Action 1 transitioned to state: itx
6570.501880751:main Q:Reg/w0  : Action 1 transitioned to state: rdy
6570.501886462:main Q:Reg/w0  : actionCommit, in retry loop, iRet 0
6570.501892786:main Q:Reg/w0  : actionCommitAll: action 2, state 0, nbr to commit 0 isTransactiona
l 1
6570.501899897:main Q:Reg/w0  : actionCommitAll: action 3, state 0, nbr to commit 0 isTransactiona
l 1
6570.501906392:main Q:Reg/w0  : actionCommitAll: action 9, state 0, nbr to commit 0 isTransactiona
l 0
6570.501912074:main Q:Reg/w0  : processBATCH: batch of 1 elements has been processed
6570.501918697:main Q:Reg/w0  : regular consumer finished, iret=0, szlog 0 sz phys 1
6570.501925448:main Q:Reg/w0  : DeleteProcessedBatch: we deleted 1 objects and enqueued 0 objects
6570.501931248:main Q:Reg/w0  : doDeleteBatch: delete batch from store, new sizes: log 0, phys 0
6570.501937522:main Q:Reg/w0  : regular consumer finished, iret=4, szlog 0 sz phys 0
6570.501943253:main Q:Reg/w0  : main Q:Reg/w0: worker IDLE, waiting for work.
root@phoenix:~# 
1
задан 18 March 2015 в 13:08
2 ответа

Вы используете $ PrivDropToGroup или $ PrivDropToGroupID в файле конфигурации? Есть ли у этой группы права записи на терминалы пользователей (по умолчанию это будет группа tty )? Обратите внимание, что (на основе моего чтения http://www.rsyslog.com/doc/droppriv.html ), если какой-либо из них указан, любые вторичные группы удаляются.

Являются ли пользователи терминалы, доступные для записи этой группой? Ваши пользователи запускают mesg n , чтобы отключить это? Чтобы проверить это, попробуйте следующее ...

-bash-4.1$ tty
/dev/pts/0
-bash-4.1$ ls -l /dev/pts/0
crw--w----. 1 sph9 tty 136, 0 Mar 23 22:59 /dev/pts/0

Для того, чтобы rsyslog мог писать на пользовательские терминалы, он либо должен быть запущен как root (чего, по вашему мнению, вы хотите избежать), либо быть работает с группой, у которой есть доступ на запись. Приведенный выше пример взят из машины CentOS, вы можете обнаружить, что некоторые другие дистрибутивы имеют больше открытых разрешений (ящик Arch Linux, на который я только что смотрел, имел доступ на запись для группы и других).

Итак, если каждый терминал доступен для записи только зарегистрированный пользователь и члены группы tty и rsyslogd запущен как пользователь syslog группа syslog он не сможет писать на терминалы . Вы можете (я думаю) проверить эту теорию, временно изменив группу на одном из ваших tty (заменив pts / 0 соответствующим образом) ...

chgrp rsyslog /dev/pts/0

Если это сработает, вы можете попробовать настроить rsyslog для работы как группа tty (хотя это может привести к поломке других вещей, если вы полагаетесь на файлы журнала, принадлежащие определенной группе).

Обратите внимание, что все это основано на быстром чтении документации rsyslog и опыте того, как это работает в целом, а не на конкретном опыте работы с последними версиями rsyslog.

Правильно ли записываются сеансы входа пользователей в utmp? (т.е. появляются ли они в выводе w ?). Только что наткнулся на https://bugs.launchpad.net/ubuntu/+source/rsyslog/+bug/1366261 , из которого следует, что возникла проблема с AppArmor, rsyslogd и utmp, но это была более ранняя версия. .

0
ответ дан 4 December 2019 в 07:57

Я попытался добавить системный журнал в группу tty:

sudo adduser syslog tty

и кажется для работы после перезапуска службы rsyslog и повторного входа в систему.

И просто для удовольствия, сложная для чтения, но более общая версия:

adduser  $(awk '/^\$PrivDropToUser/ {print $2}' /etc/rsyslog.conf)  $(stat -c "%G" $(tty))
0
ответ дан 4 December 2019 в 07:57

Теги

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