Apakah mungkin untuk menempatkan perintah di / etc / motd?

13

Bisakah saya menaruh perintah shell di /etc/motdfile banner login? Saya telah mencoba:

 $(uptime)

dan

`uptime`

Apakah ini mungkin?

Justin
sumber

Jawaban:

15

/etc/motd hanya dibaca dan tidak dieksekusi, jadi secara teknis, Anda tidak dapat memasukkan perintah shell di sana.

Namun, dimungkinkan untuk menjalankan skrip shell pada saat masuk yang akan memiliki hasil yang sama. Ini biasanya dicapai dengan mengadaptasi /etc/profileskrip yang dijalankan setiap kali pengguna login. Praktik yang berguna adalah menempatkan perintah yang Anda ingin dieksekusi dalam skrip bernama /etc/motd.shdan memanggil skrip ini dari /etc/profile, biasanya di sekitar akhir itu.

Tonin
sumber
3
itu bukan praktik umum untuk menggunakan /etc/motd.sh
1
@EricDANNIELOU Ya, seseorang dapat menggunakan nama skrip apa pun yang dia inginkan. Saya baru saja menghapus kata sifat umum yang tidak sesuai. Tetap saja, namanya seperti ini membuatnya mudah dikenali dan tahu apa tujuannya.
Tonin
1
Tampaknya ada cara menggunakan cron untuk secara teratur mengganti pesan motd statis: md3v.com/create-a-linux-server-status-motd Saya pikir skrip profil ini tampaknya menjadi cara yang lebih baik, lebih sedikit bagian yang bergerak.
CMCDragonkai
4
Menempatkan output seperti MOTD di profil Anda kemungkinan akan rusak sftp.
Stuart P. Bentley
4
Anda dapat menempatkan motd.shskrip di dalamnya /etc/profile.d/dengan izin 755. Dengan cara ini Anda tidak perlu meneleponnya /etc/profile.
Itay Grudev
8

Di server Ubuntu ada program yang dipanggil update-motddari paket libpam-modules:

Administrator sistem UNIX / Linux sering mengkomunikasikan informasi penting kepada pengguna konsol dan jarak jauh dengan mempertahankan teks dalam file / etc / motd, yang ditampilkan oleh modul pam_motd (8) pada shell login interaktif.

Secara tradisional, file ini adalah teks statis, biasanya dipasang oleh distribusi dan hanya diperbarui pada pembaruan rilis, atau ditimpa oleh administrator lokal dengan informasi terkait.

Ubuntu memperkenalkan kerangka update-motd, di mana motd (5) secara dinamis dikumpulkan dari kumpulan skrip saat login.

Kumpulan skrip ini hidup di bawah /etc/update-motd.d/. Untuk informasi lebih lanjut lihat halaman wiki ini .

Alternatif lain untuk menghasilkan /etc/motd, alih-alih menjalankan skrip saat masuk adalah memiliki pekerjaan cron. Tentu saja tidak sama, tetapi saya telah menemukan pendekatan ini kadang-kadang di masa lalu.

Wtower
sumber
1
Posting askubuntu terkait . Paksa dengan sudo run-parts /etc/update-motd.d/.
Pablo A
1
Ini juga meminimalkan jeda waktu masuk startup karena Anda tidak perlu mengevaluasi skrip saat login (dengan asumsi skrip ini menjadi lebih rumit daripada uptime).
ayman