GNU/Linux >> Belajar Linux >  >> Linux

Apa saja cara berbeda agar pesan dapat ditampilkan ke bash shell setelah pengguna masuk?

Sistem unix tradisional menampilkan /etc/motd setelah pengguna berhasil diautentikasi dan sebelum shell pengguna dipanggil. Pada sistem modern, hal ini dilakukan oleh pam_motd Modul PAM, yang dapat dikonfigurasi dalam /etc/pam.conf atau /etc/pam.d/* untuk menampilkan file yang berbeda.

Server ssh itu sendiri dapat dikonfigurasi untuk mencetak /etc/motd jika PrintMotd opsi tidak dimatikan di /etc/sshd_config . Itu juga dapat mencetak waktu login sebelumnya jika PrintLastLog tidak dimatikan.

Pesan tradisional lain mungkin memberi tahu Anda apakah itu You have new mail atau You have mail . Pada sistem dengan PAM, hal ini dilakukan oleh pam_mail modul. Beberapa shell mungkin mencetak pesan tentang email yang tersedia.

Setelah shell pengguna diluncurkan, file startup pengguna dapat mencetak pesan tambahan. Untuk login interaktif, jika shell login pengguna adalah shell bergaya Bourne, lihat di /etc/profile , ~/.profile , ditambah ~/.bash_profile dan ~/.bash_login untuk pesta. Untuk login interaktif ke zsh, lihat /etc/zprofile , /etc/zlogin , /etc/zshrc , ~/.zprofile , ~/.zlogin dan ~/.zshrc . Untuk login interaktif ke csh, lihat /etc/csh.login dan ~/.login .

Jika shell login pengguna adalah bash dan ini adalah login non-interaktif, maka bash mengeksekusi ~/.bashrc (yang sangat aneh, karena ~/.bashrc dieksekusi untuk shell interaktif hanya jika shell tersebut bukan shell login). Ini bisa menjadi sumber masalah; Saya sarankan untuk menyertakan cuplikan berikut di bagian atas ~/.bashrc untuk menyelamatkan jika shell tidak interaktif:

if [[ $- != *i* ]]; then return; fi

Ada beberapa:

/etc/motd
/etc/issue
/etc/profile - Could echo the message
/etc/profile.d/* - Would be called from /etc/profile

Selain itu

/etc/bash_bashrc
/etc/.bashrc
/etc/bashrc
$HOME/.profile
$HOME/.bashrc

Anda mungkin juga harus melalui setiap program yang dipanggil dari skrip tersebut karena sesuatu seperti fortune bisa menyimpan gurauan yang ditampilkan di /usr/share . Untuk mengisolasinya, Anda dapat melakukan:

. /etc/profile
. /etc/bash.bashrc
. $HOME/.profile
. $HOME/.bashrc

Di Ubuntu juga ada file:

/etc/motd.tail

Sistem yang lebih baru menyimpan komponen MOTD di /etc/update-motd.d sehingga berbagai makro dapat dijalankan untuk menyesuaikan motd agar informasi pembaruan, peringatan sistem, dll ditampilkan saat login.

Tambahkan penyesuaian Anda sebagai file lain dengan prioritas dari 00 ke 99

99-footer biasanya memuat /etc/motd.tail jika menempelkannya di bagian akhir sudah cukup dan Anda tidak ingin menggunakan salah satu item makro.


Linux
  1. Linux – Apa Cara Berbeda Untuk Mengatur Izin File Dll Di Gnu/linux?

  2. Apa itu Pemisah Kata Readline?

  3. Manakah Parameter/variabel Khusus Shell (bash)?

  1. Bagaimana Saya Dapat Menggunakan Bash Sebagai Shell Login Ketika Sysadmin Menolak Membiarkan Saya Mengubahnya?

  2. Apa saja Jenis Shell yang Berbeda di Linux?

  3. Apa tujuan dari masing-masing UID berbeda yang dapat dimiliki suatu proses?

  1. Apa kerugian dari antrian pesan Linux?

  2. Shell Script, baca di baris yang sama setelah mengulang pesan

  3. Apa perintah *nix untuk melihat shell login default pengguna