SOLVED: world viewable /var/log/mail.info
Giorgos Keramidas
keramida at ceid.upatras.gr
Thu Sep 14 06:37:31 EEST 2006
On 2006-09-13 20:29, Nick Demou <ndemou at gmail.com> wrote:
> 2 μέρες μετά κοιτάω τα log files και το πολυπόθυτο r-- στο others έχει
> εμφανιστεί χωρίς να κάνω τίποτα περισότερο από τα προαναφερόμενα. Δεν
> ξέρω βέβαια γιατί το r-- δεν εμφανίστικε χτές (δεδομένου ότι την
> αλλαγή την έκανα προχθες). Πάντως τώρα δουλεύει.
>
> Δυστηχώς ποτέ δεν καταλαβα από που έπέρνε μέχρι πρότινως τις οδηγείες
> για το rotation του mail.info το σύστημα μου :-(
<brisidia>
Θα κρατηθώ και δε θα βρίσω πολύ το Linux σήμερα, αλλά δες αυτό το σχόλιο
που έχει το `/etc/logrotate.d/sendmail' σε ένα Debian (κάτι που κάποια
στιγμή αναγκάστηκα να το μάθω κι εγώ):
% root at pong:/etc/logrotate.d# cat -n sendmail | head
% 1 # Sample Logrotate file for sendmail
% 2 #
% 3 # C A V E A T E M P T O R
% 4 #
% 5 # If you're using the stock syslog package, do *NOT* enable anything
% 6 # in this file, doing so may result in dual rotations of the logfiles
% 7 # and/or loss of logged data. The syslog package, by default, will
% 8 # rotate standard log files based upon various critera !!!
% 9 #
% 10 #/var/log/mail/mail.alert {
% root at pong:/etc/logrotate.d#
Αν εξαιρέσεις το τυπογραφικό `critera', που είναι ελαφρώς ενοχλητικό,
αυτό μπορεί να σε οδηγήσει να διαβάσεις το manpage του syslogd,
ψάχνοντας για αυτά τα `various criteria'.
Αμ δε... σιγά που θα έλεγε τίποτα το manpage για τα κριτήρια :P
Με λίγο ακόμα ψάξιμο, κι αν δεν έχεις αρχίσει ήδη να κατεβάζεις το
FreeBSD, θα βρεις ότι σε ένα σχετικά "μοντέρνο Debian"[1], τα καθημερινά
cron scripts, περιέχουν και το εξής:
% root at igloo:/etc# find . -type f | xargs fgrep savelog
% ./cron.daily/aide:[ -f "$LOGDIR/$LOGFILE" ] && savelog -t -g adm -m 640 -u root -c 7 "$LOGDIR/$LOGFILE" > /dev/null
% ./cron.daily/aide:[ -f "$LOGDIR/$ERRORLOG" ] && savelog -t -g adm -m 640 -u root -c 7 "$LOGDIR/$ERRORLOG" > /dev/null
% ./cron.daily/aptitude: savelog -c 7 aptitude.pkgstates > /dev/null
% ./cron.daily/netkit-inetd: savelog -m 644 inetd.conf.bak >/dev/null
% ./cron.daily/sysklogd: savelog -g adm -m 640 -u root -c 7 $LOG >/dev/null
% ...
Ολο χαρά ανοίγεις το `/etc/cron.daily/sysklogd' και ανακαλύπτεις ότι το
Linux έχει για άλλη μία φορά εφεύρει τον τροχό σε σχήμα ισοσκελούς
τριγώνου με spikes και χαίρεται, έτσι απλά επειδή "μπορεί":
% root at pong:/etc/cron.daily# more sysklogd
% #! /bin/sh
%
% # sysklogd Cron script to rotate system log files daily.
% #
% # If you want to rotate other logfiles daily, edit
% # this script. An easy way is to add files manually,
% # to add -a (for all log files) to syslogd-listfiles and
% # add some grep stuff, or use the -s pattern argument to
% # specify files that must not be listed.
% #
% # This is a configration file. You are invited to edit
% # it and maintain it on your own. You'll have to do
% # that if you don't like the default policy
% # wrt. rotating logfiles (i.e. with large logfiles
% # weekly and daily rotation may interfere). If you edit
% # this file and don't let dpkg upgrade it, you have full
% # control over it. Please read the manpage to
% # syslogd-listfiles.
% #
% # Written by Martin Schulze <joey at debian.org>.
% # $Id: cron.daily,v 1.12 2004-03-31 16:18:15 joey Exp $
%
% test -x /usr/sbin/syslogd-listfiles || exit 0
% test -x /sbin/syslogd || exit 0
% test -f /usr/share/sysklogd/dummy || exit 0
%
% set -e
%
% cd /var/log
% for LOG in `syslogd-listfiles`
% do
% if [ -s $LOG ]; then
% savelog -g adm -m 640 -u root -c 7 $LOG >/dev/null
% fi
% done
% ...
Δεν υπάρχει τίποτα στο logrotate, γιατί πολύ απλά, ακόμα και στημένο να
είναι το logrotate, το Debian το γράφει επιδεικτικά στα παπάρια του και
κάνει rotate `με το χέρι', τρέχοντας το savelog(8) σειριακά[2], για
κάθε log file που βρίσκει το `μαγικό' `syslogd-listfiles' utility.
Να ξεράσω τώρα ή το πιάσατε ήδη το υπονοούμενο;
Για ψάξε λίγο. Ολο και κάποιο άλλο ενδιαφέρον σχήμα τροχού θα βρεις :-)
------------------------------------------------------------------------
[1] Αν μπορεί κανείς να βάλει δηλαδή τις λέξεις "μοντέρνο" και
"Debian" στην ίδια πρόταση :-P
[2] Επειδή είναι ΒΛΑΚΑΣ εκείνος ο developer που έφτιαξε το
logrotate και το newsyslog με δυνατότητα για παράλληλη
περιστροφή και συμπίεση πολλών log files μαζί. Έτσι...
</brisidia>
More information about the Linux-greek-users
mailing list