Rsyslog enviando para o arquivo de log customizado

11

Alguém pode me dizer o que eu fiz de errado aqui?

Aqui está a pergunta final:

Por que, quando eu uso o comando logger, não consigo obtê-lo em um arquivo de log personalizado em / var / log?

No meu script:

logger -i -t ANM -p local7.info "This is a local 7 test"

No rsyslog.conf, acrescentei o seguinte ao final do arquivo:

local7.* /var/log/anm.log

Além disso, o script tem permissão para o arquivo /var/log/anm.log

* UPDATE *

Então, esqueci de reiniciar os serviços de registro. Eu tentei reiniciar e "serviço rsyslog restart" Ainda sem alteração. O texto de teste não aparece em /var/log/anm.log, mas aparece em / var / log / syslog

* UPDATE *

Quais permissões / var / log / "yourlogfilehere" precisam? Proprietário, Grupo, rwx?

Eu tentei configurar grp e own para root e para o nome de usuário executando o comando logger. Nenhuma mudança com qualquer um.

Eu também tentei criar arquivos de log dentro de um diretório personalizado em / var / log. ou seja, /var/log/anm/anm.log e definindo os dois tipos de permissões para o diretório.

* UPDATE *

rsyslogd está sendo executado

syslog 598 0,0 0,1 31060 1292? Sl 03:02 0:02 rsyslogd -c5

e aqui está a saída do meu arquivo /etc/rsyslog.conf

#  /etc/rsyslog.conf    Configuration file for rsyslog.
#
#                       For more information see
#                       /usr/share/doc/rsyslog-doc/html/rsyslog_conf.html
#
#  Default logging rules can be found in /etc/rsyslog.d/50-default.conf


#################
#### MODULES ####
#################

$ModLoad imuxsock # provides support for local system logging
$ModLoad imklog   # provides kernel logging support (previously done by rklogd)
#$ModLoad immark  # provides --MARK-- message capability

# provides UDP syslog reception
#$ModLoad imudp
#$UDPServerRun 514

# provides TCP syslog reception
#$ModLoad imtcp
#$InputTCPServerRun 514


###########################
#### GLOBAL DIRECTIVES ####
###########################

#
# Use traditional timestamp format.
# To enable high precision timestamps, comment out the following line.
#
$ActionFileDefaultTemplate RSYSLOG_TraditionalFileFormat

# Filter duplicated messages
$RepeatedMsgReduction on

#
# Set the default permissions for all log files.
#
$FileOwner syslog
$FileGroup adm
$FileCreateMode 0640
$DirCreateMode 0755
$Umask 0022
$PrivDropToUser syslog
$PrivDropToGroup syslog

#
# Where to place spool files
#
$WorkDirectory /var/spool/rsyslog

#
# Include all config files in /etc/rsyslog.d/
#
$IncludeConfig /etc/rsyslog.d/*.conf

local7.*        /var/log/anm.log

Eu também tentei colocá-lo em /etc/rsyslog.d/50-default.conf (estou executando o Ubuntu 12.04 LTS)

#  Default rules for rsyslog.
#
#                       For more information see rsyslog.conf(5) and /etc/rsyslog.conf

#
# First some standard log files.  Log by facility.
#
auth,authpriv.*                 /var/log/auth.log
*.*;auth,authpriv.none          -/var/log/syslog
#cron.*                         /var/log/cron.log
#daemon.*                       -/var/log/daemon.log
kern.*                          -/var/log/kern.log
#lpr.*                          -/var/log/lpr.log
mail.*                          -/var/log/mail.log
#user.*                         -/var/log/user.log
local7.*                        /var/log/anm.log

* UPDATE *

Bem, finalmente descobri. Eu gostaria que alguém tivesse respondido isso por mim. Levou vários dias para descobrir o que estava errado, mas eu acho que não há muitas pessoas no superusuário.

O problema foi com as permissões de arquivo do arquivo de log personalizado, como teorizei originalmente. Eu pensei que eu tinha as permissões corretas, mas acontece que o proprietário precisa ser "syslog" e o grupo "adm". Eu determinei isso comparando com o arquivo user.log. Uma vez que as permissões foram modificadas e testadas novamente, tudo funciona perfeitamente! Espero que isso ajude alguém a sair mais rápido do que consegui encontrar resposta.

    
por Atomiklan 02.08.2013 / 03:48

3 respostas

6

Bem, finalmente descobri. Eu gostaria que alguém tivesse respondido isso por mim. Levou vários dias para descobrir o que estava errado, mas eu acho que não há muitas pessoas no superusuário.

O problema foi com as permissões de arquivo do arquivo de log personalizado, como teorizei originalmente. Eu pensei que eu tinha as permissões corretas, mas acontece que o proprietário precisa ser "syslog" e o grupo "adm". Eu determinei isso comparando com o arquivo user.log. Uma vez que as permissões foram modificadas e testadas novamente, tudo funciona perfeitamente! Espero que isso ajude alguém a sair mais rápido do que consegui encontrar resposta.

Aqui estão as permissões finais

-rw-r--r-- 1 syslog adm 0 Aug  3 05:09 anm.log
    
por 03.08.2013 / 11:21
1

# $ ModLoad imudp

# $ UDPServerRun 514

deve ser:

$ ModLoad imudp

$ UDPServerRun 514

para executar o registro remoto!

    
por 24.05.2014 / 12:22
1

@Aomomiklan mencionou que ele tinha que mudar o proprietário / grupo de seu arquivo personalizado para syslog / adm. Eu tentei isso e funcionou ...

Mas o comentário de @ MichaelKjörling também parecia certo: por que não deixar o daemon syslog criar o arquivo?

A chave no meu caso (e eu sugiro os OPs) é que o usuário do syslog não tinha permissão de gravação no diretório do meu log personalizado . Eu fiz um chmod o+w , reiniciei o rsyslog, e meu arquivo de log apareceu felizmente onde deveria ter ... com syslog / adm como usuário / grupo.

    
por 07.10.2017 / 05:44