Puncte:0

procmail - permisiuni pentru fișiere?

drapel br

Ubuntu 18.04, rulează postfix și procmail. Am un .procmailrc și un .forward și toate astea. Am configurat procmail să se conecteze la un anumit fișier și singurul mod în care îl pot face să funcționeze este setând acel fișier să fie lizibil și scris în întreaga lume. Evident, acest lucru nu este bun. Cum determin ce cont de utilizator folosește procmail pentru a accesa fișierele, astfel încât să îl pot bloca în acel cont? (root:root și 644 nu au funcționat....)

Am aceeași problemă cu un fișier scris de un script python pe care îl apelează rețeta procmail - singura modalitate de a-l face să funcționeze până acum este să faci fișierul 777. Din nou, nu știu cum să-mi dau seama ce cont încearcă să acceseze acest fișier când rulează scriptul python.

ETA: .procmailrc este după cum urmează:

# Setați la da la depanare
VERBOSE=da

# INBOX implicit
INBOX=$MAIL

# Director pentru stocarea fișierelor legate de procmail
PMDIR=$HOME/procmail

# Anulați comentariile următoarei rânduri pentru a obține înregistrarea în jurnal
LOGFILE=/var/log/procmail/pmlog

:0wc:
| /usr/bin/python /home/[MyUsername]/scripts/mailproc.py

mailproc.py este un script python simplu care postprocesează mesajul de e-mail pentru un anumit scop. Am adăugat un apel la „whoami” în fișierul py și am descoperit că py rulează sub utilizatorul care deține fișierul procmailrc.

Dar încă nu îmi pot da seama cine ar trebui să dețină fișierul jurnal procmail. A avea root:root și 644 nu va funcționa.

tripleee avatar
drapel nz
Procmail care nu mai are `.forward` ar trebui pur și simplu să ruleze cu propriile permisiuni (deși, de asemenea, `.forward` nu ar trebui să fie necesar dacă Postfix este configurat să folosească Procmail ca LDA, deoarece cred că va fi ieșit din cutie ). Ați putea [editați] să clarificați unde și cum exact încercați să rulați Procmail și cum încercați să scrieți în acest fișier?
tripleee avatar
drapel nz
În general. Procmail rulat de `root` începe ca `root` și citește `/etc/procmailrc` până când ajunge la o instrucțiune `DROPPRIVS=yes` sau la sfârșitul fișierului, apoi trece la contul utilizatorului care livrează și citește (restul de ` /etc/procmailrc` dacă a existat un `DROPPRIVS`, și apoi) `.procmailrc` al lor dacă există, atunci dacă nu există, sau Procmail cade la capătul acestuia fără a livra mesajul, livrează la `$ IMPLICIT`. Puteți restricționa și mai mult permisiunile pe care le utilizează atunci când creați un fișier setând `UMASK`, cum ar fi comanda shell `umask`. Toate acestea sunt documentate în pagina de manual.
tripleee avatar
drapel nz
Deoparte, steag-ul „c” de pe rețeta dvs. Python arată greșit. Sau chiar doriți să livrați în căsuța dvs. poștală `$DEFAULT` _precum_ și în scriptul dvs. Python? Al doilea colon este, de asemenea, greșit; fie trebuie să renunțați la blocare, fie să specificați un fișier de blocare explicit. Vezi mai departe https://www.iki.fi/era/procmail/mini-faq.html#locking
alabamatoy avatar
drapel br
Mulțumesc pentru comentariile rețetei - remediați probleme pe care nici nu mi-am dat seama că le am.
Puncte:0
drapel nz

Nu există o modalitate corectă pentru un utilizator normal de a scrie în fișierele jurnal ale sistemului.

Ceea ce ați putea face ca o soluție parțială este să nu setați a FIȘIER JURNAL deloc. Procmail va scrie în continuare intrări de jurnal în eroarea standard și, deci, poate că acea ieșire va fi trimisă în fișierul jurnal Postfix (sau poate puteți adăuga o redirecționare explicită către locația specificată în care rulați procmail).

O soluție mult mai simplă și evidentă este să o ai pe cea a utilizatorului .procmailrc scrieți fișierul jurnal în directorul lor principal, unde, evident, au acces de rutină la scriere.

tripleee avatar
drapel nz
De fapt, există instrumente precum `logger` care vă permit să emiteți un mesaj către facilitatea de înregistrare a sistemului, dar nu puteți controla direct dacă este scris într-un fișier sau în ce fișier în acest caz.
tripleee avatar
drapel nz
Simți că încă lipsește ceva din acest răspuns? În caz contrar, dacă acest lucru a rezolvat problema dvs., vă rugăm să luați în considerare acceptarea acesteia. Dacă preferați, sunteți binevenit să postați un răspuns propriu și să îl acceptați. Acceptarea unui răspuns îi ajută pe viitorii vizitatori, marcând problema ca fiind rezolvată. Vezi și [help.](/help/someone-answers)

Postează un răspuns

Majoritatea oamenilor nu înțeleg că a pune multe întrebări deblochează învățarea și îmbunătățește legătura interpersonală. În studiile lui Alison, de exemplu, deși oamenii își puteau aminti cu exactitate câte întrebări au fost puse în conversațiile lor, ei nu au intuit legătura dintre întrebări și apreciere. În patru studii, în care participanții au fost implicați în conversații ei înșiși sau au citit transcrieri ale conversațiilor altora, oamenii au avut tendința să nu realizeze că întrebarea ar influența – sau ar fi influențat – nivelul de prietenie dintre conversatori.