Làm thế nào để quản trị viên đọc thư của root?


61

Cách Ubuntu để quản trị viên hệ thống nhận thông báo hệ thống, thường ở dạng e-mail được gửi đến tài khoản root là gì?

Ví dụ về các thông báo như vậy là đầu ra của các công việc định kỳ hoặc thông báo RAID bị xuống cấp .

Trên bản cài đặt Ubuntu 10.04 mặc định khá nhiều, tôi không thể tìm thấy bất kỳ cách nào có thể xảy ra với thư gốc hơn là được gửi vào /var/mail/root. Làm thế nào để người dùng có nghĩa là 1. khám phá nó và 2. đọc nó khi nó đến?

Tôi quan sát thấy rằng trong một chiến tranh, trình cài đặt được thêm root: myusernamevào /etc/aliases. Vì vậy, sau đó người dùng đã cài đặt hệ thống nếu anh ta đọc thư cục bộ. Vì vậy, dường như đã có một hồi quy ở đâu đó trên đường đi. Tuy nhiên, đây không phải là một giải pháp hoàn chỉnh, bởi vì người dùng Ubuntu không thể biết rằng họ có thư cục bộ và nên thiết lập ứng dụng thư khách của họ để đọc nó.

THÊM : trả lời hiện tại, một người dùng máy chủ sẽ có thể đối phó, miễn là anh ta nhận thức được vấn đề. Đủ công bằng. Nhưng hãy xem xét J. Người dùng máy tính để bàn ngẫu nhiên, người không biết cách sử dụng một dòng lệnh và chỉ biết cách nhấp vào biểu tượng hộp thư để đọc thư của mình. Làm thế nào anh ta có thể được thông báo rằng hệ thống của anh ta muốn nói với anh ta một cái gì đó? (Cho phép can thiệp một lần bởi người dùng có thẩm quyền hơn nếu điều đó là không thể tránh khỏi.)


1
Tôi đã có được KMail để đọc thư địa phương bằng cách sử dụng một số bản hack rất lạ mà tôi đã tìm thấy, nhưng kể từ khi cập nhật đến 11.10 tôi bị mất
Dirk Hartzer Waldeck 17/11/11

Gần đây tôi đã thực hiện một hướng dẫn dài về chính chủ đề này, mặc dù có liên quan đến Thunderbird: xem Askubfox.com/questions/192572/ mẹo

@Mik Điều đó, với một chút gì đó về việc cài đặt postfix ở trên cùng, sẽ tạo ra một câu trả lời hay ở đây.
Gilles 'SO- ngừng trở nên xấu xa'

@Gilles Cảm ơn, mặc dù tôi có thể phải rút ngắn hoặc xóa câu trả lời ở câu hỏi khác, vì vậy sẽ không có sự trùng lặp.

@Mik Không, sẽ rất ổn nếu đăng lại câu trả lời tương tự (không chính xác, vì ở đây bạn cần bắt đầu bằng cách cài đặt MTA). Các câu hỏi không trùng lặp: có câu trả lời ở đây sẽ không hoạt động với câu hỏi khác và ngược lại. Điều đó xảy ra rằng đôi khi 90% câu trả lời có thể được tái chế cho một câu hỏi khác, điều đó tốt.
Gilles 'SO- ngừng trở nên xấu xa'

Câu trả lời:


33

Được khuyến khích trong các ý kiến ​​của Gilles , tôi đã điều chỉnh và mở rộng một câu trả lời khác:

(Tôi đang chạy Ubuntu 12.04.1 LTS, nhưng quy trình thiết lập chung nên áp dụng cho Ubuntus trước và trong tương lai)


Điều đầu tiên cần làm là cài đặt Tác nhân chuyển thư (MTA) để thư có thể được chuyển tiếp đến Tác nhân người dùng thư (MUA), chẳng hạn như Thunderbird. Điều này chỉ cần thiết bởi vì chúng tôi đang xử lý thư địa phương và muốn có thể gửi và nhận nó; với các tài khoản loại gmail từ xa thông thường, chỉ cần một tác nhân người dùng Thunderbirdlà cần thiết.

Tôi sử dụng postfix, bản thân nó là một thay thế sendmail, trong đó có các phiên bản thương mại và nguồn mở. Thông tin thêm về khả năng của postfix có tại trang web chính thức và người dùng có thể thấy rằng danh sách gửi thư có chứa thông tin hữu ích nếu có bất kỳ vấn đề nào phát sinh.

Vì vậy, để cài đặt chương trình, hãy chạy

sudo apt-get install postfix

Bạn có thể định cấu hình nó khi nó được cài đặt hoặc từ chối ưu đãi và sau đó chạy

sudo dpkg-reconfigure postfix

để tạo tập tin cấu hình quan trọng ( /etc/postfix/main.cfg). Nếu bạn từng chỉnh sửa thủ công tệp này, không nhất thiết phải được khuyến nghị, bạn phải chạy sudo newaliasessudo service postfix restartsau đó để áp dụng các thay đổi.

Postfixkhá đơn giản để thiết lập, mặc dù bạn có thể có một số cài đặt cụ thể mà bạn muốn áp dụng. Trong màn hình đầu tiên bạn nhìn thấy bên dưới, bạn phải chọn tùy chọn cục bộ cho thư của mình:

nhập mô tả hình ảnh ở đây

Sau đó, trên màn hình tiếp theo, chọn 'tên thư' của bạn; nó thường là giống như /etc/hostname. Bạn có thể chấp nhận mặc định cho hầu hết các màn hình sau.

nhập mô tả hình ảnh ở đây

Khi nó đề cập /etc/aliasesngười nhận Root và Postmaster (như trên), bạn có thể điền tên người dùng của mình, nhưng hãy đảm bảo bạn kiểm tra tệp bí danh của mình như bình thường bằng cách đọc phần tiếp theo của hướng dẫn này.

Đầu tiên, như được đề xuất trong cuộc thảo luận này , bạn /etc/aliasesnên như thế này nếu nó được thiết lập chính xác:

postmaster:    root
root:   mike 

Nếu không, hãy chỉnh sửa nó bằng sudo nano /etc/aliases, rồi chạy sudo newaliasessudo service postfix restartđể cấu hình được cập nhật. Postfix'stính năng bí danh cho phép thư được chuyển hướng, vì vậy thiết lập rất quan trọng đối với phần còn lại của hướng dẫn này.

Như đã lưu ý trong liên kết ở trên , bạn cần tạo một .forwardtệp chứa tên người dùng và localhost: ví dụ: mike@localhostthư của root sẽ được chuyển tiếp đến bạn. Để làm điều này, hãy nhập các lệnh sau:

sudo touch /root/.forward

và sau đó chạy

sudo nano /root/.forward

để đặt người dùng của bạn: ví dụ mike@localhosttrong tệp và lưu nó.

Ngoài ra , tôi thấy cần phải thêm người dùng của bạn vào nhóm thư để Thunderbirdcó thể truy cập các tệp thư:

sudo adduser $USER mail

và sau đó đăng xuất và đăng nhập để những thay đổi có hiệu lực. Không cần chownhoặc chmodbất kỳ tệp nào, như một số bài viết có thể đề xuất, và thêm người dùng của bạn vào nhóm thư sẽ thực hành tốt hơn nhiều và tránh mọi thay đổi trực tiếp về quyền trên hệ thống tệp gốc.


Bây giờ cho Thunderbirdcấu hình. Chuyển đến chỉnh sửa> cài đặt tài khoản> hành động tài khoản> thêm tài khoản khác> chọn thư mục Unix và trong màn hình tiếp theo, hãy đặt tên người dùng của bạn vào hộp đầu tiên và đặt yourusername@localhostvào hộp thứ hai.

nhập mô tả hình ảnh ở đây nhập mô tả hình ảnh ở đây

Bây giờ, hãy truy cập tài khoản mới của bạn trong cài đặt tài khoản và chọn cài đặt máy chủ và chọn thư mục cục bộ là /var/mailhoặc /var/mail/username(nếu thiết lập), như trong ảnh chụp màn hình bên dưới.

nhập mô tả hình ảnh ở đây

Theo hướng dẫn trong bài viết này, bạn sẽ cần định cấu hình máy chủ smtp nếu bạn muốn kiểm tra tài khoản bằng cách gửi thư đến root@localhostvà sau đó nhấp nhận thư trong Thunderbird để nhận, vì thư của root đang được chuyển hướng đến youruser@localhost.

Chuyển đến cài đặt tài khoản> máy chủ gửi đi và chọn thêm tài khoản mới. Các cài đặt phải như trong ảnh chụp màn hình bên dưới:

nhập mô tả hình ảnh ở đây

Bây giờ, cuối cùng hãy kiểm tra tài khoản của bạn bằng cách soạn thư root@localhostvà sau đó vài giây nhấp vào nhận thư trên tài khoản của bạn. Bạn sẽ thấy một email như thế này:

nhập mô tả hình ảnh ở đây

Một số chương trình hoặc nhật ký sẽ cần được cấu hình để chúng gửi thư đến root, nhưng điều đó có thể được quyết định khi bạn tìm thấy nhu cầu. Bài viết này hy vọng sẽ hữu ích vì nó không phải lúc nào cũng đơn giản để thiết lập Thunderbirdđể nhận thư cục bộ.


Hoạt động cho 17.04, tôi đã không chạm vào các nhóm.
Artyom

21

Nếu đây là một máy chủ, tôi thực sự khuyên bạn nên đặt bí danh cho một địa chỉ email thực để bạn gửi email đến quản trị viên của mình Thật dễ dàng như thêm

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

đến cuối / etc / bí danh

Ngoài ra, bạn có thể định cấu hình thư để được đặt bí danh cho tên người dùng cục bộ của mình và sau đó khi đăng nhập, bạn sẽ nhận được thông báo "Bạn có thư", bạn có thể kiểm tra bằng cách sử dụng maillệnh hoặc bằng cách cài đặt pine / mutt / alpine hoặc một cái gì đó tương tự trên máy chủ đó ..


1
Cảm ơn, đó là một lời giải thích đủ tốt cho một quản trị viên máy chủ, tôi cho rằng. Nhưng làm thế nào để tôi giải thích điều này với J. Người dùng máy tính để bàn ngẫu nhiên, người chắc chắn sẽ không sử dụng dòng lệnh, nhưng muốn biết liệu đĩa của anh ta có bị lỗi không?
Gilles 'SO- ngừng trở nên xấu xa'

1
Câu hỏi của bạn bắt đầu: "Cách Ubuntu để quản trị viên hệ thống nhận thông báo hệ thống là gì ...". Nhưng dù sao, đối với người dùng máy tính để bàn, để theo dõi các thông báo hệ thống, họ có thể sử dụng nhật ký hệ thống gnome để xem nhật ký (đã được cài đặt trên Ubuntu Desktop mặc định như một phần của gói gnome-utils) hoặc thêm "root: username: "Đến cuối / etc / bí danh. Tôi đồng ý đây là một giải pháp yếu và có lẽ cần phải sửa lỗi để bổ sung tính năng này vì không có cách GUI nào để thực hiện việc này trên bản cài đặt Ubuntu mặc định.
Richard Holloway

Bí danh cho quản trị viên máy chủ là tốt nhất. Bạn cũng có thể sudo su - sau đó sử dụng ứng dụng khách CLI. Nhưng nếu bạn nghiêm túc quản lý một hộp, hãy đặt bí danh. Người dùng bình thường không cần phải xem thư này. Họ có phương tiện khác cho tin nhắn thông báo. Nếu họ muốn, sau đó họ có thể tạo bí danh. Nó có ý nghĩa hoàn hảo cho điều này được tắt theo mặc định.
coteyr

Khi bạn đã thiết lập bí danh, có cách nào để chuyển tiếp tất cả thư đã tồn tại không?
Giăng

Dường như không có một /etc/aliasestập tin. Có yêu cầu chạy một máy chủ thư cho nó để được tạo không?
Thufir

11

Tôi cá nhân bằng cách sử dụng một đại lý gửi thư được gọi là nullmailer. Nó hoạt động như một proxy mail và chuyển tất cả các thư được gửi đến root đến một địa chỉ mail bạn chọn.

Bạn cần đặt cài đặt của nó trong các tệp conf trong / etc / nullmailer. Về cơ bản: cung cấp cho nó địa chỉ porvider mail và thông tin đăng nhập của bạn, và địa chỉ bạn muốn nhận email gốc.

Bạn có thể cài đặt nó với

sudo apt-get install nullmailer

Bạn có thể nhận thêm thông tin về thiết lập của nó tại đây: http://jviz.research.iat.sfu.ca/wiki/index.php?title=HOWTO_Setup_Nullmailer


+1 cảm ơn vì liên kết (và khái niệm MTA tuổi teen được thể hiện trong đó)
msw

2

Hiện tại không có thông báo cho người dùng rằng hộp thư gốc cục bộ thậm chí còn tồn tại, bởi vì user! = rootNếu bạn cần kiểm tra hộp thư, bạn có thể nhập như sau: sudo mailđể khởi chạy ứng dụng thư dưới quyền root.

Bạn cũng có thể đăng nhập bằng root trên máy chủ đó. Để mở khóa mật khẩu root, chỉ cần gõ: sudo passwdvà nhập mật khẩu mới cho root.


1
Với người dùng thử nghiệm trong 10.04 sử dụng giao diện dựa trên gnome mặc định hoặc giao diện dựa trên kde mặc định hoặc giao diện dựa trên lxde mặc định, tôi không thấy bất kỳ loại thông báo nào có một cái gì đó trong /var/mail/$USERđó.
Gilles 'SO- ngừng trở nên xấu xa'

1

Một cách khác - tôi lưu trữ tất cả thư gốc vào một số tệp và sau đó xóa thư gốc.

Tôi cron một kịch bản (đây là phần quan trọng) -

#!/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

Điều này giữ cho mọi thứ gọn gàng và tôi có thể để mắt đến nó. Tôi có thể gửi email một tệp thư hàng ngày ra một id email bên ngoài, v.v ...

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.