Sendmail log
Jaroslav Gratz
xgratz01 na stud.fee.vutbr.cz
Středa Červen 7 01:06:33 CEST 2000
On Tue, 6 Jun 2000, Ivo Hanuska wrote:
> Problem je spis kosmetickeho razu. Daemon je v inetd a jde pres tcpd. Ale ť
> s tim delam co delam, tak ta mrcha pri kazdem sahnuti uzivatele do mailboxu
> pres pop3 udela do logu mailoveho systemu polozku:
>
> Jun 5 09:51:11 main ipop3d[9245]: port 110 service init from
> 212.20.71.147
> Jun 5 09:51:11 main ipop3d[9245]: Login user=blabla
> host=dhcp01.trade-cz.com [212.20.71.147] nmsgs=0/0
> Jun 5 09:51:11 main ipop3d[9245]: Logout user=blabla
> host=dhcp01.trade-cz.com [212.2071.147] nmsgs0 ndele=0.
>
> Nevite na jake urovni v syslogd se tato vec zaznamenava. Nebo jak docilit
> toho aby se daemon ipop3d "vykecaval" nekde jimnde nez do logu mailoveho
> systemu? Zkousel jsem odstranit tcpd, rozjet to samostatne, zkousel jsem
> vsechny urovne v syslogd a NIC! Mam snad sahnout do zdrojaku? A pokud ano,
> kde je mam vzit?
Zdrojáky doporučuji stáhnout třeba z Internetu :-)
Řeseni na úrovni source code je jednoduché a elegantní. Někde ve zdrojáku
bude něco jako
openlog("ipop3d", pid, LOG_MAIL); to stačí změnit na
openlog("ipop3d", pid ,LOG_LOCAL1);
Pak je třeba jeste upravit /etc/syslog.conf aby tam bylo:
*.info;mail.none;authpriv.none;local1.none /var/log/messages
local1.* /cesta/logy_ipop3d
--------------------------------------------------------------------
Druha možnost bez úpravy zdrojáků je poněkud krkolomná, nicméně taky
funkční. V principu něco takového:
mkfifo /nekde/fifo1 ; mkfifo /nekde/fifo2
grep "ipop3d" /nekde/fifo1 >>logy_ipop3d
grep -v "ipop3d" /nekde/fifo2 >>vsechno_krome_ipop3d
A upravit /etc/syslog.conf:
mail.* |/nekde/fifo1
mail.* |/nekde/fifo2
BTW proč vám vadí, že se logy z pop3 démona zaznamenávají do
/var/log/maillog?
Vždycky stačí udělat grep -v ipop3d a lehce se jich zbavíte.
Jaroslav Gratz
Další informace o konferenci Linux