¿Alguien puede decirme qué hice mal aquí?
Aquí está la última pregunta:
¿Por qué cuando uso el comando logger no puedo hacer que salga a un archivo de registro personalizado /var/log
?
En mi guion:
logger -i -t ANM -p local7.info "This is a local 7 test"
En el rsyslog.conf
adjunto lo siguiente al final del archivo:
local7.* /var/log/anm.log
Además, el script tiene permiso para el /var/log/anm.log
archivo
* ACTUALIZACIÓN *
Así que olvidé reiniciar los servicios de registro. He intentado reiniciar y " service rsyslog restart
" Todavía no hay cambios. El texto de prueba no aparece en /var/log/anm.log
pero aparece en/var/log/syslog
* ACTUALIZACIÓN *
¿Qué permisos /var/log/"yourlogfilehere"
necesita? Owner
, Group
, rwx
?
Intenté configurar grp y own en root y en el nombre de usuario que ejecuta el comando logger. No hay cambio con ninguno de los dos.
También he intentado crear archivos de registro dentro de un directorio personalizado en /var/log
. es decir, /var/log/anm/anm.log
y establecer ambos tipos de permisos para el directorio.
* ACTUALIZACIÓN *
rsyslogd se está ejecutando
syslog 598 0.0 0.1 31060 1292 ? Sl 03:02 0:02 rsyslogd -c5
y aquí está la salida de mi /etc/rsyslog.conf
archivo
# /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
También intenté ponerlo /etc/rsyslog.d/50-default.conf
(estoy ejecutando 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
* ACTUALIZACIÓN *
Bueno, finalmente lo descubrí. Desearía que alguien hubiera respondido esto por mí. Tomó varios días descubrir qué estaba mal, pero supongo que no hay muchas personas en el superusuario.
El problema fue con los permisos de archivo del archivo de registro personalizado como originalmente teoricé. Pensé que tenía los permisos correctos, pero resulta que el propietario debe ser syslog
y el grupo adm
. Determiné esto comparándolo con el user.log
archivo. Una vez que los permisos fueron modificados y probados nuevamente, ¡todo funciona perfectamente! Espero que esto ayude a alguien más más rápido de lo que pude encontrar respuesta.
Respuestas:
Bueno, finalmente lo descubrí. Desearía que alguien hubiera respondido esto por mí. Tomó varios días descubrir qué estaba mal, pero supongo que no hay muchas personas en el superusuario.
El problema fue con los permisos de archivo del archivo de registro personalizado como originalmente teoricé. Pensé que tenía los permisos correctos, pero resulta que el propietario debe ser "syslog" y el grupo "adm". Determiné esto comparándolo con el archivo user.log. Una vez que los permisos fueron modificados y probados nuevamente, ¡todo funciona perfectamente! Espero que esto ayude a alguien más más rápido de lo que pude encontrar respuesta.
Aquí están los permisos finales
fuente
service restart
conocer la regla y en la primera llamada apropiada,logger
crea el archivo con los permisos correctos establecidos.@Atomiklan mencionó que tenía que cambiar el propietario / grupo de su archivo personalizado a syslog / adm. Lo intenté y funcionó ...
Pero el comentario de @ MichaelKjörling también parecía correcto: ¿por qué no dejar que el demonio syslog cree el archivo?
La clave en mi caso (y sugiero los OP) es que el usuario de syslog no tenía permiso de escritura en el directorio de mi registro personalizado . Hice un
chmod o+w
, reinicié rsyslog, y mi archivo de registro felizmente apareció donde debería haber ... con syslog / adm como usuario / grupo.fuente
debe ser:
para ejecutar el registro remoto!
fuente