Portál AbcLinuxu, 26. dubna 2024 06:21


Dotaz: Cron, script a prijaty prazdny mail

7.6.2012 11:33 timeos | skóre: 32
Cron, script a prijaty prazdny mail
Přečteno: 349×
Odpovědět | Admin

Zdravim vospolok

riesim zaujimavy problem ktory ma uz trapi nejaky den. Vytvoril som si skript (klasicky bashovsky - #!/bin/bash), ktory sa ma spustat kazdy den a na jeho konci sa ma poslat mail s logom, co ten skript pocas behu vygeneroval.

Na poslanie mailu pouzijem v skripte prikaz: /bin/mail -s "Log report" "recipient@example.com" < "/var/log/report.log"

A sprava sa to nasledovne:

Predmet: Cron <root@host> run-parts /etc/cron.hourly
/etc/cron.hourly/script:
Null message body; hope that's ok

Vsetko som overoval, logovaci subor naozaj existuje. Premenne, ktore pouzivam miesto realnych parametov pre prikaz /bin/mail su naplene spravnymi udajmi. Aj napriek tomu mi pride prazdny mail.

Tak som sa rozhodol vyskusat postfixovy command na poslanie posty /usr/sbin/sendmail miesto /bin/mail nasledujucim sposobom:

/usr/sbin/sendmail "recipient@example.com" < "/var/log/report.log" s tym, ze na zaciatok logovacieho suboru som popridaval From, To a Subject hlavicky.

Vysledok:

Pouzivam obycany nemodifikovany CentOS 6.2. Mate predstavu preco jedonducho nemozem posielat mail zo skriptu ktory spustam cez cron? Vsade su zadavane absolutne cesty k suborom/binarkam, a premenne obsahuju spravne hodnoty. Mail mi aj napriek tomu nepride aj s telom.

Budem vdacny za akekolvek rady


Řešení dotazu:


Nástroje: Začni sledovat (0) ?Zašle upozornění na váš email při vložení nového komentáře.

Odpovědi

7.6.2012 13:06 NN
Rozbalit Rozbalit vše Re: Cron, script a prijaty prazdny mail
Odpovědět | | Sbalit | Link | Blokovat | Admin
Odhaduju, ze uzivatel nema opravneni cteni na /var/log/report.log a proto se do tela mailu, nic nepresmeruje..

NN
7.6.2012 13:18 timeos | skóre: 32
Rozbalit Rozbalit vše Re: Cron, script a prijaty prazdny mail
Vo vsetkych pripadoch sa script spusta ako root.
7.6.2012 16:58 timeos | skóre: 32
Rozbalit Rozbalit vše Re: Cron, script a prijaty prazdny mail
Odpovědět | | Sbalit | Link | Blokovat | Admin
Nemoze to sposobobat nejaka environment premenna alebo nieco podobne, co v Cron execution enviromente nieje dostupne? Stretli ste sa s niecim podobnym? Alebo existuje este nejaka moznost ako poslat mail priamo zo skriptu?
Řešení 1× (timeos (tazatel))
7.6.2012 19:14 jekub
Rozbalit Rozbalit vše Re: Cron, script a prijaty prazdny mail
Odpovědět | | Sbalit | Link | Blokovat | Admin
bez mysleni z voleje - co selinux?
7.6.2012 21:03 DK
Rozbalit Rozbalit vše Re: Cron, script a prijaty prazdny mail
bezmyslenkovite, jednodusse => rizeni pristupu, firewall v jadre, linuxacky UAC
7.6.2012 22:23 timeos | skóre: 32
Rozbalit Rozbalit vše Re: Cron, script a prijaty prazdny mail

tak, toto zabralo... na moje velke prekvapenie aj cronove scripty spustatne s pravami roota vyfasuju selinuxovy kontext a podla toho sa radia... doprcic, ja som to bral ako samozrejmu vec, ze veci spustane s rootovskymi pravami sa automaticky selinuxu vyhnu.... a ono to zabera len na skripty v root-ovom crontabe. pre scripty vo /etc/cron.{daily,hourly} to neplati... parada...

vdaka za bezmyslienkovy tip.

mal som tam toto:

type=AVC msg=audit(1339033626.182:38735): avc: denied { read } for pid=12924 comm="sendmail" path="/var/log/report.log" dev=dm-4 ino=390147 scontext=system_u:system_r:system_mail_t:s0-s0:c0.c1023 tcontext=system_u:object_r:cron_log_t:s0 tclass=file
Pavel Stárek avatar 9.6.2012 18:51 Pavel Stárek | skóre: 44 | blog: Tady bloguju já :-) | Kolín
Rozbalit Rozbalit vše Re: Cron, script a prijaty prazdny mail
SElinux je možná asi dobrá myšlenka, ale v principu a doteď (a to už je ve Fedoře či Red Hatu přes 8 let) je to jen zlo určené k naštvání uživatele/správce. Bohužel. Veškeré moje instalace Fedory zahajuji s příkazovým řádkem anacondy selinux=0
Kdo chce, hledá způsob; kdo nechce, hledá důvod.

Založit nové vláknoNahoru

Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.