Score:0

procmail - สิทธิ์ของไฟล์?

ธง br

Ubuntu 18.04 ใช้งาน postfix และ procmail ฉันมี .procmailrc และ .forward และทั้งหมดนั้น ฉันกำหนดค่า procmail เพื่อเข้าสู่ไฟล์เฉพาะ และวิธีเดียวที่จะทำให้มันใช้งานได้คือการตั้งค่าไฟล์นั้นให้อ่านและเขียนได้ทั่วโลก เห็นได้ชัดว่ามันไม่ดี ฉันจะทราบได้อย่างไรว่า procmail ของบัญชีผู้ใช้ใดใช้เพื่อเข้าถึงไฟล์ เพื่อที่ฉันจะได้ล็อคบัญชีนั้นไว้ (root:root และ 644 ไม่ทำงาน....)

ฉันมีปัญหาเดียวกันกับไฟล์ที่เขียนโดยสคริปต์ python ซึ่งเรียกใช้สูตร procmail - วิธีเดียวที่จะทำให้มันใช้งานได้คือสร้างไฟล์ 777 อีกครั้งฉันไม่รู้วิธีค้นหาว่าบัญชีใดพยายามเข้าถึง ไฟล์นี้เมื่อสคริปต์ไพ ธ อนทำงาน

ETA: .procmailrc เป็นดังนี้:

# ตั้งค่าเป็นใช่เมื่อทำการดีบัก
VERBOSE=ใช่

#เริ่มต้นINBOX
INBOX=$MAIL

# ไดเร็กทอรีสำหรับจัดเก็บไฟล์ที่เกี่ยวข้องกับ procmail
PMDIR=$HOME/procmail

# ยกเลิกการแสดงความคิดเห็นในบรรทัดต่อไปนี้เพื่อรับการบันทึก
LOGFILE=/var/log/procmail/pmlog

:0wc:
| /usr/bin/python /home/[ชื่อผู้ใช้ของฉัน]/scripts/mailproc.py

mailproc.py เป็นสคริปต์ python อย่างง่ายซึ่งจะประมวลผลข้อความอีเมลในภายหลังเพื่อวัตถุประสงค์เฉพาะ ฉันเพิ่มการเรียก "whoami" ในไฟล์ py และพบว่า py ทำงานภายใต้ผู้ใช้ที่เป็นเจ้าของไฟล์ procmailrc

แต่ฉันก็ยังคิดไม่ออกว่าใครควรเป็นเจ้าของไฟล์บันทึกของ procmail การรูท: รูทและ 644 จะไม่ทำงาน

tripleee avatar
nz flag
Procmail ที่ใช้ `.forward` ของคุณหมดควรเรียกใช้ด้วยสิทธิ์ของคุณเอง (แม้ว่าจะไม่จำเป็นก็ตาม `.forward ' หากกำหนดค่า Postfix ให้ใช้ Procmail เป็น LDA ของคุณ เนื่องจากฉันเชื่อว่าจะไม่มีประโยชน์ ). คุณช่วย [แก้ไข] เพื่อชี้แจงว่าคุณกำลังพยายามเรียกใช้ Procmail ที่ไหนและอย่างไร และคุณพยายามเขียนไฟล์นี้อย่างไร
tripleee avatar
nz flag
โดยทั่วไป Procmail ที่รันโดย `root` เริ่มต้นเป็น `root` และอ่าน `/etc/procmailrc` จนกว่าจะถึงคำสั่ง `DROPPRIVS=yes` หรือจุดสิ้นสุดของไฟล์ จากนั้นสลับไปยังบัญชีผู้ใช้ที่ส่งและอ่าน (ส่วนที่เหลือของ ` /etc/procmailrc` ถ้ามี `DROPPRIVS` จากนั้น) `.procmailrc` ของพวกเขาถ้ามี หากไม่มีอยู่ หรือ Procmail หยุดทำงานโดยไม่ได้ส่งข้อความ ส่งไปที่ `$ เริ่มต้น` คุณสามารถจำกัดการอนุญาตเพิ่มเติมที่ใช้เมื่อสร้างไฟล์โดยการตั้งค่า `UMASK` เช่นคำสั่งเชลล์ `umask` นี่คือเอกสารทั้งหมดในหน้าคน
tripleee avatar
nz flag
นอกจากนั้น แฟล็ก `c` ในสูตร Python ของคุณดูผิด หรือคุณต้องการส่งไปยังกล่องจดหมาย `$DEFAULT` _รวมถึง_ เช่นเดียวกับสคริปต์ Python ของคุณจริงๆ ทวิภาคที่สองก็ผิดเช่นกัน คุณต้องยกเลิกการล็อคหรือระบุไฟล์ล็อคที่ชัดเจน ดูเพิ่มเติม https://www.iki.fi/era/procmail/mini-faq.html#locking
alabamatoy avatar
br flag
ขอบคุณสำหรับความคิดเห็นเกี่ยวกับสูตร - คุณกำลังแก้ไขปัญหาที่ฉันไม่รู้ด้วยซ้ำว่าฉันมี
Score:0
ธง nz

ไม่มีวิธีที่ปกติสำหรับผู้ใช้ทั่วไปในการเขียนไฟล์บันทึกของระบบ

สิ่งที่คุณอาจทำได้ในการแก้ปัญหาบางส่วนคืออย่าตั้งค่า ล็อกไฟล์ เลย Procmail จะยังคงเขียนรายการบันทึกไปยังข้อผิดพลาดมาตรฐาน และบางทีผลลัพธ์นั้นจะถูกส่งไปยังไฟล์บันทึกของ Postfix (หรือบางทีคุณอาจเพิ่มการเปลี่ยนเส้นทางที่ชัดเจนไปยังตำแหน่งที่คุณเรียกใช้ ประกาศ).

วิธีแก้ปัญหาที่ง่ายกว่าและชัดเจนคือการมีผู้ใช้ .procmailrc เขียนไฟล์บันทึกไปยังโฮมไดเร็กตอรี่ ซึ่งเห็นได้ชัดว่าพวกเขามีสิทธิ์ในการเขียนเป็นประจำ

tripleee avatar
nz flag
จริง ๆ แล้วมีเครื่องมือเช่น `logger` ที่ให้คุณส่งข้อความไปยังระบบบันทึกสิ่งอำนวยความสะดวก แต่คุณไม่สามารถควบคุมได้โดยตรงว่าจะเขียนลงในไฟล์หรือไฟล์ใดในกรณีนั้น
tripleee avatar
nz flag
คุณรู้สึกว่ามีบางสิ่งที่ยังขาดหายไปจากคำตอบนี้หรือไม่? มิฉะนั้น หากวิธีนี้แก้ปัญหาของคุณได้ โปรดพิจารณายอมรับ หากต้องการ คุณสามารถโพสต์คำตอบของคุณเองและยอมรับคำตอบนั้น การยอมรับคำตอบจะช่วยผู้เยี่ยมชมในอนาคตด้วยการทำเครื่องหมายว่าปัญหาของคุณได้รับการแก้ไขแล้ว ดูเพิ่มเติมที่[ความช่วยเหลือ](/help/someone-answers)

โพสต์คำตอบ

คนส่วนใหญ่ไม่เข้าใจว่าการถามคำถามมากมายจะปลดล็อกการเรียนรู้และปรับปรุงความสัมพันธ์ระหว่างบุคคล ตัวอย่างเช่น ในการศึกษาของ Alison แม้ว่าผู้คนจะจำได้อย่างแม่นยำว่ามีคำถามกี่ข้อที่ถูกถามในการสนทนา แต่พวกเขาไม่เข้าใจความเชื่อมโยงระหว่างคำถามและความชอบ จากการศึกษาทั้ง 4 เรื่องที่ผู้เข้าร่วมมีส่วนร่วมในการสนทนาด้วยตนเองหรืออ่านบันทึกการสนทนาของผู้อื่น ผู้คนมักไม่ตระหนักว่าการถามคำถามจะมีอิทธิพลหรือมีอิทธิพลต่อระดับมิตรภาพระหว่างผู้สนทนา