Quelqu'un peut-il me dire ce que j'ai fait de mal ici?
Voici la question ultime:
Pourquoi, lorsque j'utilise la commande logger, ne puis-je pas la faire sortir dans un fichier journal personnalisé /var/log
?
Dans mon script:
logger -i -t ANM -p local7.info "This is a local 7 test"
Dans le, rsyslog.conf
j'ai ajouté ce qui suit à la fin du fichier:
local7.* /var/log/anm.log
En outre, le script a l'autorisation pour le /var/log/anm.log
fichier
* MISE À JOUR *
J'ai donc oublié de redémarrer les services de journalisation. J'ai essayé de redémarrer et " service rsyslog restart
" toujours aucun changement. Le texte de test n'apparaît pas dans /var/log/anm.log
mais il apparaît dans/var/log/syslog
* MISE À JOUR *
De quelles autorisations a-t-il /var/log/"yourlogfilehere"
besoin? Owner
, Group
, rwx
?
J'ai essayé de définir grp et own sur root et sur le nom d'utilisateur exécutant la commande logger. Aucun changement non plus.
J'ai également essayé de créer des fichiers journaux dans un répertoire personnalisé dans /var/log
. c'est-à /var/log/anm/anm.log
- dire et définir les deux types d'autorisations pour le répertoire.
* MISE À JOUR *
rsyslogd est en cours d'exécution
syslog 598 0.0 0.1 31060 1292 ? Sl 03:02 0:02 rsyslogd -c5
et voici la sortie de mon /etc/rsyslog.conf
fichier
# /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
J'ai également essayé de l'installer /etc/rsyslog.d/50-default.conf
(j'utilise 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
* MISE À JOUR *
Eh bien, j'ai finalement compris. Je souhaite que quelqu'un ait répondu à ma question. Il a fallu plusieurs jours pour comprendre ce qui n'allait pas, mais je suppose qu'il n'y a tout simplement pas beaucoup de gens sur superutilisateur.
Le problème était lié aux autorisations de fichier du fichier journal personnalisé, comme je l'avais théorisé à l'origine. Je pensais que j'avais les autorisations correctes, mais il s'avère que le propriétaire doit être syslog
et le groupe adm
. J'ai déterminé cela en comparant au user.log
fichier. Une fois les autorisations modifiées et testées à nouveau, tout fonctionne parfaitement! J'espère que cela aide quelqu'un d'autre plus rapidement que je n'ai pu trouver de réponse.
Réponses:
Eh bien, j'ai finalement compris. Je souhaite que quelqu'un ait répondu à ma question. Il a fallu plusieurs jours pour comprendre ce qui n'allait pas, mais je suppose qu'il n'y a tout simplement pas beaucoup de gens sur superutilisateur.
Le problème était lié aux autorisations de fichier du fichier journal personnalisé, comme je l'avais théorisé à l'origine. Je pensais que j'avais les autorisations correctes, mais il s'avère que le propriétaire doit être "syslog" et le groupe "adm". J'ai déterminé cela en comparant le fichier user.log. Une fois les autorisations modifiées et testées à nouveau, tout fonctionne parfaitement! J'espère que cela aide quelqu'un d'autre plus rapidement que je n'ai pu trouver de réponse.
Voici les autorisations finales
la source
service restart
qu'il connaît la règle et lors du premier appel approprié, illogger
crée le fichier avec les autorisations appropriées définies.@Atomiklan a mentionné qu'il devait changer le propriétaire / groupe de son fichier personnalisé en syslog / adm. J'ai essayé ça et ça a marché ...
Mais le commentaire de @ MichaelKjörling semblait également exact: pourquoi ne pas simplement laisser le démon syslog créer le fichier?
La clé dans mon cas (et je suggère les OP) est que l'utilisateur syslog n'avait pas la permission d'écrire dans le répertoire de mon journal personnalisé . J'ai fait un
chmod o+w
, redémarré rsyslog, et mon fichier journal est apparu avec bonheur là où il aurait dû ... avec syslog / adm comme utilisateur / groupe.la source
doit être:
pour exécuter la journalisation à distance!
la source