GNU/Linux >> Linux の 問題 >  >> Linux

ユーザーがログインした後にメッセージを bash シェルに表示するには、どのような方法がありますか?

従来の UNIX システムでは /etc/motd が表示されます ユーザーが正常に認証された後、ユーザーのシェルが呼び出される前。最新のシステムでは、これは pam_motd によって行われます /etc/pam.conf で設定できる PAM モジュール または /etc/pam.d/* 別のファイルを表示します。

ssh サーバー自体が /etc/motd を出力するように構成されている可能性があります PrintMotd の場合 オプションは /etc/sshd_config でオフにされていません . PrintLastLog の場合、前回のログイン時刻も表示される場合があります。 オフになっていません。

You have new mail または You have mail . PAM を備えたシステムでは、これは pam_mail によって行われます モジュール。一部のシェルは、利用可能なメールに関するメッセージを出力する場合があります。

ユーザーのシェルが起動された後、ユーザーの起動ファイルが追加のメッセージを出力する場合があります。対話型ログインの場合、ユーザーのログイン シェルが Bourne 形式のシェルの場合は、/etc/profile を調べます。 、 ~/.profile 、プラス ~/.bash_profile~/.bash_login バッシュ用。 zsh へのインタラクティブなログインについては、/etc/zprofile を参照してください。 、 /etc/zlogin/etc/zshrc~/.zprofile~/.zlogin~/.zshrc . csh への対話型ログインについては、/etc/csh.login を参照してください。 と ~/.login .

ユーザーのログイン シェルが bash で、これが非対話型ログインの場合、bash は ~/.bashrc を実行します。 (~/.bashrc 以来、これは本当に奇妙です シェルがログイン シェルでない場合にのみ、インタラクティブ シェルに対して実行されます)。これは問題の原因になる可能性があります。 ~/.bashrc の先頭に次のスニペットを含めることをお勧めします シェルがインタラクティブでない場合に救済するには:

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

いくつかあります:

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

さらに

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

fortune のようなもののため、これらのスクリプトから呼び出されているすべてのプログラムを実行する必要がある場合もあります。 /usr/share に表示されているクイップを保存している可能性があります .それを分離するには、次のことができます:

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

Ubuntu には次のファイルもあります:

/etc/motd.tail

新しいシステムは MOTD コンポーネントを /etc/update-motd.d に保存します さまざまなマクロを実行して motd をカスタマイズし、ログイン時に更新情報やシステム アラートなどを表示できるようにします。

00 からの優先順位でカスタマイズを別のファイルとして追加します 99

99-footer 通常は /etc/motd.tail をロードします 最後に追加するだけで十分で、マクロ項目を使用したくない場合。


Linux
  1. Linux – Gnu / linuxでファイルパーミッションなどを設定するさまざまな方法は何ですか?

  2. Readlineワードセパレーターとは何ですか?

  3. (bash)シェルの特別なパラメーター/変数はどれですか?

  1. システム管理者がBashの変更を拒否した場合、Bashをログインシェルとして使用するにはどうすればよいですか?

  2. Linuxのシェルの種類は何ですか?

  3. ls -l の後の最初の行の合計は?

  1. ユーザーのデフォルトのログイン シェルを表示する *nix コマンドは何ですか

  2. bashの&>と>&の違いは何ですか?

  3. gnu/linuxでファイルパーミッションなどを設定するさまざまな方法は何ですか?