SSH経由でログインするとすぐに、ブランドのグリーティングを表示するシェルとしてbashを使用するCentOS 5.7 VPSがあります。修正しようとしましたが、通常の場所では見つからないようです。これまでのファイルを見てバナーファイルの設定をmotd
確認してみました。sshd_config
バナーファイルが設定されていません。
ログインメッセージはどこにありますか?
答え1
伝統的なUnixシステムディスプレイ/etc/motd
ユーザーが正常に認証された後、ユーザーのシェルを呼び出す前です。最新のシステムでは、さまざまなファイルを設定または表示できるpam_motd
PAMモジュールを介してこれが行われます。/etc/pam.conf
/etc/pam.d/*
/etc/motd
PrintMotd
このオプションをオフにしないと、SSHサーバー自体が印刷するように構成されている可能性があります。/etc/sshd_config
。オフにしないと、PrintLastLog
最後のログイン時間も印刷される可能性があります。
You have new mail
別の伝統的なメッセージはそれがまたはと言うことができますYou have mail
。 PAMがあるシステムでは、pam_mail
モジュールを介してこれが行われます。一部のシェルは、利用可能なメールのメッセージを印刷することがあります。
ユーザーのシェルを起動した後、ユーザーの起動ファイルは追加のメッセージを印刷できます。対話型ログインの場合、ユーザーのログインシェルがBourneスタイルのシェルの場合は、、/etc/profile
plus ~/.profile
、~/.bash_profile
およびで~/.bash_login
bashを見つけます。 zshを使用した対話型ログインについては/etc/zprofile
、、、/etc/zlogin
およびを/etc/zshrc
参照してください。 cshにインタラクティブにログインするには、およびを参照してください。~/.zprofile
~/.zlogin
~/.zshrc
/etc/csh.login
~/.login
ユーザーのログインシェルがbashで、これが非対話型ログインの場合、bashが実行されます(対話型シェルは、シェルがログインシェルではない場合にのみ実行される~/.bashrc
ため、これは本当に奇妙です)。~/.bashrc
これは問題の原因となる可能性があります~/.bashrc
。シェルが対話型でない場合に問題を解決するには、上部に次のコードを追加することをお勧めします。
if [[ $- != *i* ]]; then return; fi
答え2
いくつかあります:
/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
答え3
/etc/update-motd.d
最新のシステムは、さまざまなマクロを実行して、ログイン時に更新情報、システム警告などを表示するようにmotdをカスタマイズできるようにMOTDコンポーネントを保存します。
カスタマイズを00
次の優先順位の別のファイルとして追加します。99
99-footer
/etc/motd.tail
通常、最後に固定するだけで十分で、マクロ項目を使用したくない場合は読み込まれます。
答え4
確認できます/etc/shell
。そこで変更しようとしたメッセージが見つかりました。 「#」でコメントを付けても動作しません。テキストを削除して直接追加するだけです。空白と新しい行は、ファイルに入れるときにも表示されます。