ผู้ดูแลระบบควรอ่านจดหมายของรูทอย่างไร


61

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

ตัวอย่างของการแจ้งเตือนดังกล่าวมีการส่งออกของงาน cron หรือการแจ้งเตือน RAID เสื่อมโทรม

เมื่อเริ่มต้นการติดตั้งสวยมาก Ubuntu 10.04, ฉันไม่สามารถหาวิธีการที่มีอะไรเกิดขึ้นกับจดหมายรากอื่น ๆ /var/mail/rootกว่าที่จะถูกนำไปฝากไว้ในที่ใด ผู้ใช้ควรจะ 1. ค้นพบมันและ 2. อ่านเมื่อมาถึง?

ผมสังเกตว่าในวันที่กระปมกระเปาที่ติดตั้งเพิ่มเพื่อroot: myusername /etc/aliasesดังนั้นก่อนหน้านี้ผู้ใช้ที่ติดตั้งระบบหากเขาอ่านเมลในเครื่อง ดังนั้นดูเหมือนว่าจะมีการถดถอยที่ไหนสักแห่งระหว่างทาง นี่ยังไม่ใช่วิธีแก้ปัญหาที่สมบูรณ์เนื่องจากผู้ใช้ Ubuntu ไม่สามารถคาดหวังได้ว่าพวกเขามีเมลในเครื่องและควรตั้งค่าไคลเอนต์อีเมลเพื่ออ่าน

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


1
ฉันจัดการเพื่อให้ KMail อ่านเมลในเครื่องของฉันโดยใช้แฮ็กแปลก ๆ ที่ฉันพบ แต่ตั้งแต่อัปเดตเป็น 11.10 ฉันหลงทาง
Dirk Hartzer Waldeck

ฉันเพิ่งทำกวดวิชายาวในเรื่องนี้มากแม้ว่าจะเกี่ยวข้องกับThunderbird: ดูaskubuntu.com/questions/192572/ …

@ Mik ที่มีสิ่งเล็กน้อยเกี่ยวกับการติดตั้ง postfix ที่ด้านบนจะทำให้คำตอบที่ดีที่นี่
Gilles

@Gilles ขอบคุณแม้ว่าฉันอาจจะต้องสั้นลงหรือลบคำตอบที่คำถามอื่น ๆ ดังนั้นจะไม่มีการทำซ้ำ

@Mik ไม่มันจะเป็นการดีที่จะโพสต์คำตอบเดิมอีกครั้ง (ไม่แน่นอนเนื่องจากที่นี่คุณจะต้องเริ่มต้นด้วยการติดตั้ง MTA) คำถามไม่ซ้ำกันมีคำตอบที่นี่ที่ไม่สามารถใช้กับคำถามอื่นและในทางกลับกัน มันเกิดขึ้นได้ว่าบางครั้ง 90% ของคำตอบสามารถนำไปรีไซเคิลสำหรับคำถามอื่นได้
Gilles

คำตอบ:


33

ฉันได้ปรับตัวและขยายคำตอบอื่น ๆ ที่ได้รับการสนับสนุนจากความคิดเห็นของGilles :

(ฉันใช้ Ubuntu 12.04.1 LTS แต่กระบวนการตั้งค่าทั่วไปควรใช้กับ Ubuntus ก่อนหน้าและอนาคต)


สิ่งแรกที่ต้องทำคือการติดตั้งตัวแทน Mail Transfer (MTA) เพื่อให้อีเมลที่สามารถส่งไปยังผู้ใช้อีเมลตัวแทน (MUA) Thunderbirdเช่น นี่เป็นสิ่งที่จำเป็นเท่านั้นเพราะเรากำลังติดต่อกับเมลท้องถิ่นและต้องการที่จะสามารถส่งและรับ; ด้วยบัญชีประเภท gmail ระยะไกลปกติเฉพาะตัวแทนผู้ใช้เช่นThunderbirdจำเป็น

ฉันใช้postfixตัวเองซึ่งเป็นทางเลือกแทนsendmailซึ่งมีรุ่นเชิงพาณิชย์และโอเพนซอร์ส ข้อมูลเพิ่มเติมเกี่ยวกับความสามารถของ postfix อยู่ที่เว็บไซต์ทางการและผู้ใช้อาจพบว่ารายชื่อผู้รับจดหมายมีข้อมูลที่เป็นประโยชน์หากมีปัญหาใด ๆ เกิดขึ้น

ดังนั้นในการติดตั้งโปรแกรมให้เรียกใช้

sudo apt-get install postfix

คุณสามารถกำหนดค่าเมื่อติดตั้งหรือปฏิเสธข้อเสนอและเรียกใช้ในภายหลัง

sudo dpkg-reconfigure postfix

เพื่อสร้างไฟล์กำหนดค่าที่สำคัญ ( /etc/postfix/main.cfg) หากคุณเคยแก้ไขไฟล์นี้ด้วยตนเองซึ่งไม่จำเป็นต้องแนะนำคุณต้องเรียกใช้sudo newaliasesและsudo service postfix restartหลังจากนั้นเพื่อใช้การเปลี่ยนแปลง

Postfixค่อนข้างตรงไปตรงมาถึงการตั้งค่าถึงแม้ว่าคุณอาจมีการตั้งค่าบางอย่างที่คุณต้องการใช้ ในหน้าจอแรกที่คุณเห็นด้านล่างคุณต้องเลือกตัวเลือกท้องถิ่นสำหรับจดหมายของคุณ:

ป้อนคำอธิบายรูปภาพที่นี่

จากนั้นในหน้าจอถัดไปเลือก 'ชื่ออีเมล' ของคุณ /etc/hostnameก็มักจะเป็นเช่นเดียวกับ คุณสามารถยอมรับค่าเริ่มต้นสำหรับหน้าจอส่วนใหญ่ต่อไปนี้

ป้อนคำอธิบายรูปภาพที่นี่

เมื่อกล่าวถึง/etc/aliasesและผู้รับ Root และ Postmaster (ตามด้านบน) คุณสามารถกรอกชื่อผู้ใช้ของคุณ แต่ต้องแน่ใจว่าคุณตรวจสอบไฟล์นามแฝงตามที่ควรจะเป็นโดยการอ่านหัวข้อถัดไปของบทช่วยสอนนี้

ก่อนอื่นตามที่แนะนำในการสนทนานี้คุณ/etc/aliasesควรเป็นเช่นนี้หากมีการตั้งค่าอย่างถูกต้อง:

postmaster:    root
root:   mike 

หากไม่มีให้แก้ไขด้วยsudo nano /etc/aliasesแล้วเรียกใช้sudo newaliasesและsudo service postfix restartเพื่อให้มีการอัปเดตการกำหนดค่า Postfix'sคุณสมบัตินามแฝงช่วยให้สามารถเปลี่ยนเส้นทางจดหมายได้ดังนั้นการตั้งค่าจึงมีความสำคัญอย่างยิ่งสำหรับการฝึกอบรมส่วนที่เหลือ

ดังที่ระบุไว้ในลิงค์ด้านบนคุณต้องสร้าง.forwardไฟล์ที่มีชื่อผู้ใช้และ localhost ของคุณเช่นmike@localhostเพื่อที่จะส่งต่ออีเมลของรูทไปยังคุณ หากต้องการทำสิ่งนี้ให้ป้อนคำสั่งเหล่านี้:

sudo touch /root/.forward

จากนั้นเรียกใช้

sudo nano /root/.forward

เพื่อวางผู้ใช้ของคุณ: เช่นmike@localhostในไฟล์และบันทึก

นอกจากนี้ฉันพบว่าจำเป็นต้องเพิ่มผู้ใช้ของคุณในกลุ่มอีเมลเพื่อให้Thunderbirdสามารถเข้าถึงไฟล์อีเมลได้:

sudo adduser $USER mail

จากนั้นออกจากระบบและลงชื่อเข้าใช้เพื่อให้การเปลี่ยนแปลงมีผล ไม่จำเป็นต้องมีchownหรือchmodไฟล์ใด ๆ ตามที่บางบทความอาจแนะนำและการเพิ่มผู้ใช้ของคุณไปยังกลุ่มอีเมลเป็นวิธีปฏิบัติที่ดีกว่าและหลีกเลี่ยงการเปลี่ยนแปลงการอนุญาตโดยตรงบนระบบไฟล์รูท


ตอนนี้สำหรับการThunderbirdกำหนดค่า ไปที่แก้ไข> การตั้งค่าบัญชี> การกระทำของบัญชี> เพิ่มบัญชีอื่น> เลือก Unix spoolmail และในหน้าจอถัดไปให้ใส่ชื่อผู้ใช้ของคุณในช่องแรกและวางyourusername@localhostในช่องที่สอง

ป้อนคำอธิบายรูปภาพที่นี่ ป้อนคำอธิบายรูปภาพที่นี่

ตอนนี้ไปที่บัญชีใหม่ของคุณในการตั้งค่าบัญชีและเลือกการตั้งค่าเซิร์ฟเวอร์และเลือกไดเรกทอรีในท้องถิ่นเป็น/var/mailหรือ/var/mail/username(ถ้าตั้งค่า) เช่นในภาพหน้าจอด้านล่าง

ป้อนคำอธิบายรูปภาพที่นี่

ตามคำแนะนำในบทความนี้คุณจะต้องกำหนดค่าเซิร์ฟเวอร์ smtp หากคุณต้องการทดสอบบัญชีโดยส่งอีเมลไปroot@localhostแล้วคลิกรับอีเมลในธันเดอร์เบิร์ดเพื่อรับมันเนื่องจากมีการเปลี่ยนเส้นทางอีเมลของรูyouruser@localhost

ไปที่การตั้งค่าบัญชี> เซิร์ฟเวอร์ขาออกและเลือกที่จะเพิ่มใหม่ การตั้งค่าควรเป็นในภาพหน้าจอด้านล่าง:

ป้อนคำอธิบายรูปภาพที่นี่

ในตอนนี้ให้ทดสอบบัญชีของคุณโดยการเขียนจดหมายถึงroot@localhostจากนั้นไม่กี่วินาทีหลังจากนั้นคลิกรับจดหมายในบัญชีของคุณ คุณควรเห็นอีเมลเช่นนี้:

ป้อนคำอธิบายรูปภาพที่นี่

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


ใช้งานได้สำหรับ 17.04 ฉันไม่ได้แตะกลุ่ม
Artyom

21

หากนี่คือเซิร์ฟเวอร์ฉันขอแนะนำให้คุณนามแฝงรูทไปยังที่อยู่อีเมลจริงเพื่อให้คุณได้รับอีเมลของคุณส่งถึงผู้ดูแลระบบของคุณมันเป็นเรื่องง่ายเหมือนการเพิ่ม

# Person who should get root's mail
root:   all_administrators@mydomain.com

ที่ส่วนท้ายของ / etc / aliases

อีกทางหนึ่งคุณสามารถกำหนดค่าอีเมลให้เป็นนามแฝงเป็นชื่อผู้ใช้ท้องถิ่นของคุณและเมื่อคุณเข้าสู่ระบบคุณจะได้รับข้อความ "คุณมีอีเมล" ซึ่งคุณสามารถตรวจสอบการใช้mailคำสั่งหรือโดยการติดตั้ง pine / mutt / alpine ..


1
ขอบคุณนั่นเป็นคำอธิบายที่ดีพอสำหรับผู้ดูแลเซิร์ฟเวอร์ฉันคิดว่า แต่ฉันจะอธิบายสิ่งนี้กับผู้ใช้เดสก์ท็อปแบบสุ่มของเจใครจะไม่ใช้บรรทัดคำสั่งอย่างแน่นอน แต่ต้องการทราบว่าดิสก์ของเขาล้มเหลวหรือไม่
Gilles

1
คำถามของคุณเริ่มต้น: "เป็นวิธีที่ Ubuntu สำหรับผู้ดูแลระบบเพื่อรับการแจ้งเตือนระบบ ... " แต่อย่างไรก็ตามสำหรับผู้ใช้เดสก์ท็อปเพื่อจับตามองข้อความของระบบพวกเขาสามารถใช้ gnome-system-log เพื่อดูบันทึก (ซึ่งติดตั้งแล้วบน Ubuntu Desktop เริ่มต้นเป็นส่วนหนึ่งของแพคเกจ gnome-utils) หรือเพิ่ม "root: ชื่อผู้ใช้ "ถึงท้าย / etc / aliases ฉันเห็นด้วยกับวิธีแก้ปัญหาที่ไม่ดีและอาจมีข้อผิดพลาดในการเพิ่มฟีเจอร์นี้เนื่องจากไม่มีวิธี GUI ในการติดตั้ง Ubuntu ที่เป็นค่าเริ่มต้น
Richard Holloway

นามแฝงสำหรับผู้ดูแลเซิร์ฟเวอร์ดีที่สุด คุณสามารถ sudo su - จากนั้นใช้ไคลเอนต์ CLI แต่ถ้าคุณดูแลกล่องอย่างจริงจังให้สร้างชื่อแทน ผู้ใช้ปกติไม่จำเป็นต้องเห็นจดหมายนี้ พวกเขามีวิธีการอื่นสำหรับข้อความแจ้งเตือน หากพวกเขาต้องการจากนั้นพวกเขาสามารถสร้างนามแฝง มันเหมาะสมอย่างยิ่งที่สิ่งนี้จะถูกปิดโดยปริยาย
coteyr

เมื่อคุณตั้งค่านามแฝงแล้วจะมีวิธีส่งต่อจดหมายทั้งหมดที่มีอยู่แล้วหรือไม่?
จอห์น

ดูเหมือนจะไม่มี/etc/aliasesไฟล์ นั่นจำเป็นต้องมีการเรียกใช้เมลเซิร์ฟเวอร์เพื่อสร้างมันขึ้นมาหรือไม่?
พฤหัสบดีที่

11

ฉันเป็นคนโดยใช้ตัวแทนจดหมายที่เรียกว่า nullmailer มันทำหน้าที่เป็นตัวแทนจดหมายและโอนอีเมลทั้งหมดที่ส่งถึงรูทไปยังที่อยู่อีเมลที่คุณเลือก

คุณต้องตั้งค่าในไฟล์ conf ภายใต้ / etc / nullmailer โดยทั่วไป: ให้ที่อยู่อีเมลและข้อมูลประจำตัวของคุณแก่ porvider และที่อยู่ที่คุณต้องการรับอีเมลหลักใน

คุณสามารถติดตั้งได้ด้วย

sudo apt-get install nullmailer

คุณสามารถรับข้อมูลเพิ่มเติมเกี่ยวกับการตั้งค่าได้ที่นี่: http://jviz.research.iat.sfu.ca/wiki/index.php?title=HOWTO_Setup_Nullmailer


+1 ขอบคุณสำหรับลิงก์ (และแนวคิด MTA ที่เป็นตัวเป็นตนในนั้น)
msw

2

ขณะนี้ไม่มีการแจ้งเตือนไปยังผู้ใช้ว่ามีกล่องจดหมายในเครื่องของรูทอยู่user! เนื่องจาก! = rootหากคุณต้องการตรวจสอบกล่องจดหมายคุณสามารถพิมพ์ข้อความต่อไปนี้: sudo mailเพื่อเปิดใช้งานแอปพลิเคชันอีเมลภายใต้รูท

คุณสามารถเข้าสู่ระบบในฐานะรูทบนเซิร์ฟเวอร์นั้นได้ ในการปลดล็อกรหัสผ่านรูทเพียงพิมพ์: sudo passwdและป้อนรหัสผ่านใหม่สำหรับรูท


1
ด้วยผู้ใช้ทดสอบใน 10.04 โดยใช้อินเทอร์เฟซ gnome-based เริ่มต้นหรืออินเทอร์เฟซ kde-based เริ่มต้นหรืออินเตอร์เฟซที่ใช้ lxde เริ่มต้นฉันไม่เห็นการแจ้งเตือนใด ๆ ว่ามีบางอย่างใน/var/mail/$USERนั้น
Gilles

1

อีกทางเลือกหนึ่ง - ฉันเก็บเมลรูททั้งหมดไปยังไฟล์บางไฟล์แล้วลบเมลต้นฉบับ

ฉัน cron สคริปต์ (นี่คือส่วนสำคัญ) -

#!/bin/bash
if `/usr/bin/mail -e`; then
   /usr/bin/mail --print 2>&1 > /tmp/email_${date +"%Y-%m-%d_%H.%M").log
   echo ‘d *’ | /usr/bin/mail -N > /dev/null
fi
exit 0

สิ่งนี้ทำให้สิ่งต่าง ๆ เป็นระเบียบและฉันสามารถจับตาดูมันได้ ฉันสามารถส่งอีเมลไฟล์อีเมลรายวันไปยังรหัสอีเมลภายนอก ฯลฯ ...

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.