frame

Sveiki apsilankę!

Jei forume lankaisi pirmą kartą, kviečiame registruotis ir prisijungti prie diskusijų.

Prisijungti Registruotis

Exim - laiškų siuntimo serviso komandų atmintinė

IV_RomanLIV_RomanL Interneto vizija
edited 2012 birželio 5 Į Pašto serveriai
Pateikiamos komandos padėsiančios valdyti Exim pašto siuntimo servisą. Komandos pravers serverių administratoriams kurie pageidauja peržiūrėti laiškų siuntimo srautus, identifikuoti SPAM atvejus, išvalyti laiškų eilę.

0. Visus išsiunčiamus laiškus Exim sistema registruoja aplanke /var/spool/exim/msglog visi įrašai turi ID numerius kurie sutampa su žinutės ID numeriu.

Įrašai aplanke /var/spool/exim/input yra įvardijami ženklais po žinutės ID numerio, šie įrašai turi -H žymą (antraštė) bei -D žymą (žinutės turinys).

Su šiais aplankais mes dirbsime naudodami Exim serviso komandas. Jei naršote įrašus rankiniu būdu, tuomet nepamirškite jog kiekvienai išsiųstai žinutei Exim servisas sukuria 3 failus.

Bazinė informacija

1. Gauname informaciją apie šiuo metu eilėje esančias žinutes:
exim -bpc
2. Gauname informaciją apie šiuo metu eilėje esančias žinutes su detalia informacija (kiek laiko stovi eilėje, dydis, žinutės ID, siuntėjas, gavėjas)
exim -bp
3. Gauname bendro pobūdžio informaciją apie šiuo metu eilėje esančių žinutes (kiekis, dydis, seniausios, naujausios, domenas, iš viso):
exim -bp | exiqsum
4. Gauname informaciją apie tai, ką šiuo metu veikia Exim servisas:
exiwhat
5. Testuojame kaip Exim servisas nukreipinėja duotąjį adresą:
exim -bt dėžutė@domenas.lt
6. Atliekame Exim serviso žinutės siuntimo testą konkrečiu adresu (IP). Testo metu jokia žinutė realiai nebus išsiųsta, tačiau Exim servisas parodys visą procesą kartu su galimomis klaidomis.
exim -bh 79.98.98.98
7. Peržiūrime visas Exim serviso nuostatas:
exim -bP

Ieškome informacijos laiškų eilėje
(exiqgrep)

Patogiam Exim serviso laiškų eilės naršymui naudosime įdiegtą įrankį "exiqgrep". Šio įrankio pagalba galėsite konkretizuoti Exim serviso išvedamą informaciją. Aptarsime pagrindines ir ganėtinai dažnai naudojamas exiqgrep nuostatas. Visą sąrašą galite rasti adresu http://www.exim.org/exim-html-4.80/doc/html/spec_html/ .

1. Ieškome konkretaus vartotojo išsiųstų žinučių:
exiqgrep -f [vartotojas]@domenas
2. Ieškome žinučių išsiųstų konkrečiam vartotojui:
exiqgrep -r [vartotojas]@domenas
3. Ieškome žinučių kurios atitinka laiko kriterijų, pavyzdyje pateikiama komandą kuri ieško žinučių senesnių nei 1 dieną:
exiqgrep -o 86400 [...]
Pastaba: 86400 - tai yra sekundės kurios atitinka 1 parą.

4. Ieškome žinučių kurios atitinka laiko kriterijų, pavyzdyje pateikiama komandą kuri ieško žinučių ne senesnės nei 1 valanda:
exiqgrep -y 3600 [...]
5. Ieškome žinutės pagal jos dydį baitais (regex formatu):
exiqgrep -s '^7..$' [...]
Pastaba: galite ne tik -s nuostatas, bet ir šias:

-z -- randamos tik sustabdytos (užšaldytos) žinutės
-x -- randamos tik paleistos iš naujo (atšaldytos) žinutės

6. Filtruojame aukščiau pateikiamus rezultatus tik pagal žinutės ID:
exiqgrep -i [ -r | -f ] ...
7. Susumuojame išvestus rezultatus:
exiqgrep -c ...
8. Išvedame tik žinučių ID visai eilei:
exiqgrep -i

Administruojame žinučių eilę


Susipažinę su Exim serviso informacijos išvedimu, galime pradėti administruoti gaunamą informaciją apie žinutes.

1. Startuojame žinučių eilę:
exim -q -v
2. Startuojame tik vietinį žinučių pristatymą serveryje:
exim -ql -v
3. Pašaliname iš žinučių eilės žinutę su konkrečiu ID:
exim -Mrm <žinutės-ID> [ <žinutės-ID ... ]
4. Sustabdome iš žinučių eilės žinutę su konkrečiu ID:
exim -Mf <žinutės-ID> [ <žinutės-ID ... ]
5. Paleidžiame iš naujo iš žinučių eilės žinutę su konkrečiu ID:
exim -Mt <žinutės-ID> [ <žinutės-ID ... ]
6. Priverstinai pristatome žinutę nekreipiant dėmesį į jos statusą Exim servise:
exim -M <žinutės-ID> [ <žinutės-ID ... ]
7. Priverstinai pristatome žinutę, bet tik tuomet, jei jos pristatymo laikas baigėsi:
exim -Mc <žinutės-ID> [ <žinutės-ID ... ]
8. Priverstinai sustabdome žinutės siuntimą log įrašuose pateikiant žinutę "cancelled by administrator":
exim -Mg <žinutės-ID> [ <žinutės-ID ... ]
9. Pašaliname visas sustabdytas (užšaldytas) žinutes:
exiqgrep -z -i | xargs exim -Mrm
10. Pašaliname žinutes pagal laiko nuostatą. Pavyzdyje pateikiama komanda kuri pašalins žinutes senesnes nei 5 dienos:
exiqgrep -o 432000 -i | xargs exim -Mrm
Pastaba: 432000 -- tai sekundinė 5 dienų išraiška.

11. Sustabdome visas konkretaus vartotojo žinutes eilėje:
exiqgrep -i -f vartotojas@domenas.lt | xargs exim -Mf
12. Peržiūrime žinutės antraštes:
exim -Mvh <žinutės-ID>
13. Peržiūrime žinutės turinį:
exim -Mvb <žinutės-ID>
14. Peržiūrime žinutės log įrašus:
exim -Mvl <žinutės-ID>

Naršome log įrašus (exigrep)


exigrep įrankis Exim servise padeda patogiai rasti reikiamus log įrašus pagal duotuosius parametrus. Nemaišykite exigrep su exiqgrep komanda :) .

1. Randame žinutes išsiųstas iš konkretaus IP adreso:
exigrep '<= .* \[12.34.56.78\] ' /path/to/exim_log
2. Randame žinutes išsiųstas į konkretų IP adresą:
exigrep '=> .* \[12.34.56.78\] ' /path/to/exim_log
Atkreipkite dėmesį į rodykles: => ir <= , šios rodyklės indikuoja ar žinutė yra siunčiama ar gauta.

3. Generuojame statistiką iš Exim serviso log failo:
eximstats /var/log/exim_mainlog
Pastaba: kelias iki log failo gali skirtis, priklausomai nuo naudojamos operacinės sistemos.

4. Šiek tiek supaprastinta statistika iš Exim serviso log failo:
eximstats -ne -nr -nt /var/log/exim_mainlog
Pastaba: kelias iki log failo gali skirtis, priklausomai nuo naudojamos operacinės sistemos.

5. Pašaliname visas žinutes kurių turinyje yra tam tikras žodis ar frazė:
grep -lr 'frazė arba žodis' /var/spool/exim/input/ | \ sed -e 's/^.*\/\([a-zA-Z0-9-]*\)-[DH]$/\1/g' | xargs exim -Mrm
======
Naudinga informacija:

1. Exim pagrindinis puslapis -- http://www.exim.org/
2. Exim dokumentacija -- http://www.exim.org/docs.html
Norėdami palikti komentarą, turite prisijungti arba registruokis.