Có thể đặt lệnh trong / etc / motd không?


13

Tôi có thể đặt các lệnh shell trong /etc/motdtệp banner đăng nhập không? Tôi đã thử:

 $(uptime)

`uptime`

Điều này có thể không?

Câu trả lời:


15

/etc/motd chỉ được đọc và không được thực thi, vì vậy về mặt kỹ thuật, bạn không thể đặt các lệnh shell trong đó.

Tuy nhiên, có thể thực thi tập lệnh shell tại thời điểm đăng nhập sẽ có kết quả tương tự. Điều này thường đạt được bằng cách điều chỉnh /etc/profiletập lệnh được thực thi mỗi khi người dùng đăng nhập. Một cách thực hành hữu ích là đặt lệnh bạn muốn được thực thi trong tập lệnh có tên /etc/motd.shvà gọi tập lệnh này từ /etc/profile, thường là vào cuối tập lệnh .


3
Đó không phải là cách phổ biến để sử dụng /etc/motd.sh

1
@EricDANNIELOU Vâng, người ta có thể sử dụng bất kỳ tên tập lệnh nào mà anh ấy / cô ấy muốn. Tôi chỉ loại bỏ tính từ phổ biến không phù hợp. Tuy nhiên, việc đặt tên theo cách này giúp bạn dễ dàng nhận ra và biết mục đích của nó là gì.
Tonin

1
Dường như có một cách sử dụng cron để thường xuyên thay thế thông điệp motd tĩnh: md3v.com/create-a-linux-server-status-motd Tôi nghĩ rằng kịch bản hồ sơ này dường như là một cách tốt hơn, ít chuyển động hơn.
CMCDragonkai

4
Đặt đầu ra như một MOTD trong hồ sơ của bạn có khả năng phá vỡ sftp.
Stuart P. Bentley

4
Bạn có thể đặt motd.shtập lệnh bên trong /etc/profile.d/với quyền 755. Bằng cách này, bạn sẽ không cần phải gọi nó từ /etc/profile.
Itay Grudev

8

Trong các máy chủ Ubuntu có một chương trình được gọi update-motdtừ gói libpam-modules:

Người quản trị hệ thống UNIX / Linux thường truyền thông tin quan trọng đến bàn điều khiển và người dùng từ xa bằng cách duy trì văn bản trong tệp / etc / motd, được hiển thị bởi mô-đun pam_motd (8) trên thông tin đăng nhập shell tương tác.

Theo truyền thống, tệp này là văn bản tĩnh, thường được cài đặt bởi bản phân phối và chỉ được cập nhật khi nâng cấp bản phát hành hoặc được ghi đè bởi quản trị viên cục bộ với thông tin thích hợp.

Ubuntu đã giới thiệu khuôn khổ update-motd, theo đó motd (5) được lắp ráp động từ một tập hợp các tập lệnh khi đăng nhập.

Bộ sưu tập các kịch bản sống dưới /etc/update-motd.d/. Để biết thêm thông tin xem trang wiki này .

Một cách khác để tạo /etc/motd, thay vì chạy tập lệnh khi đăng nhập là có một công việc định kỳ. Chắc chắn nó không giống nhau, nhưng đôi khi tôi đã gặp cách tiếp cận này.


1
Liên quan đến bài viết trên Ubuntu . Buộc với sudo run-parts /etc/update-motd.d/.
Pablo A

1
Điều này cũng giảm thiểu độ trễ đăng nhập khởi động do bạn không phải đánh giá tập lệnh khi đăng nhập (giả sử nó phức tạp hơn uptime).
ayman

1

Vâng, nó có thể ... Sorta.

Tra cứu tạo ra một MOTD năng động . Đây là một hình thức viết tắt của quá trình tài liệu này .


Tôi chỉ cần thêm session optional pam_motd.sovào để /etc/pam.d/loginthực hiện /etc/motd?
Justin

4
Chúng tôi thực sự thích câu trả lời chứa nội dung không phải con trỏ đến nội dung. Trong khi về mặt lý thuyết có thể trả lời câu hỏi, tốt hơn là nên bao gồm các phần thiết yếu của câu trả lời ở đây và cung cấp liên kết để tham khảo.
dùng9517

Liên kết MOTD động về cơ bản nói rằng bạn có thể thêm các lệnh in thông báo /etc/profile, vì vậy điều này tương đương với câu trả lời của Tonin.
Andre Holzner
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.