SSH経由でログインした直後にブランドグリーティングを表示するシェルとしてbashを使用するCentOS 5.7 VPSを持っています。私はそれを変更しようと試みましたが、それが通常の場所のどこにあるかを見つけることができないようです。これまでのところ、motd
ファイルを調べ、sshd_config
でバナーファイルの設定を確認しました。バナーファイルが設定されていません。
ログインメッセージがどこにあるのか、他にどこで探すことができますか?
従来の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
モジュールによって行われます。一部のシェルは、使用可能なメールに関するメッセージを出力する場合があります。
ユーザーのシェルが起動した後、ユーザーのスタートアップファイルが追加のメッセージを出力する場合があります。対話型ログインの場合、ユーザーのログインシェルがボーンスタイルのシェルの場合は、/etc/profile
、~/.profile
に加えて、bashの~/.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
に表示されているquipsを格納している可能性があるため、これらのスクリプトから呼び出されるすべてのプログラムを実行する必要がある場合もあります。それを分離するには、次のようにします。
. /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
をロードします。
/etc/Shell
、ここで、変更しようとしているメッセージを見つけました。 「#」でコメントアウトしても機能しません。テキストを削除して独自のテキストを追加するだけです。また、ファイルに配置すると、スペースと改行が表示されます。