Portál AbcLinuxu, 12. května 2025 15:45
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:
recipient@example.com
" z obsahom subora "/var/log/report.log
" v jeho tele./etc/cron.{daily,hourly}
, tak dostanem prazdny mail (na spravneho recipienta) s tym, ze cron hned vygeneruje dalsi mail s naslujucim textom: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.
/etc/cron.{daily,hourly}
, tak mi opat pride prazdny mail/var/spool/cron/root
) tak mail dostanem tiez v poriadkuPouzivam 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:
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
selinux=0
Tiskni
Sdílej:
ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.