Gentoo Linuxで/ etc / motdを2回印刷する
質問
Gentoo Linuxで/ etc / motdファイルを2回印刷するという問題に遭遇しました。 sshdが印刷の1つを行っており、/ etc / ssh / sshd_configを構成することで切り替えることができますが、2番目のコピーを印刷しているユーザーを見つけることができません。監査要件のため、sshdがmotdを出力できないようにすることはできません。私はbashシェルを実行していますが、その価値は何ですか
2番目のコピーを印刷するアイデアはありますか?シェルに/ bin / kshを使用するように/ etc / passwdを変更しても、motdが表示されるため、bashとは思わない。
これは/ etc / issueではなく、文字列"これは\ n(\ s \ m \ r)(\ l)"を含み、マシンの前に座っているときにのみ出力されます。
解決
答えは/etc/pam.d/loginおよび/etc/pam.d/system-loginファイルにあったようです。 pam_motd.soの行をコメントアウトする必要がありました。
他のヒント
SSH接続からログインしていますか? sshd_configファイルでサービスを再起動します...
私もこの問題を抱えていましたが、問題だったのはdouble-motdではなく、二重の「最後のログイン」でした。 2行目は、そのすぐ上のログインイベントを参照しています。
ログインがリダイレクトされたり、スパイウェアなどを介してパイプされているかのように、何らかの不正行為を示している可能性があると思いました。
/etc/pam.d/system-loginの下5行は次のようになります。
session required pam_env.so
#session optional pam_lastlog.so
session include system-auth
#session optional pam_motd.so motd=/etc/motd
session optional pam_mail.so
コメントアウトされた行に注意してください。すべてが期待どおりに動作するようになりました。ダニエル、ありがとう。
/ etc / issueもチェックアウトします。一部のシステムは両方を印刷しますが、同じテキストのみが含まれている場合があります。 私はgentooを使用していないので、そうではないかもしれないことに注意してください。
pam_motd.soの行をコメントアウトすることに加えて、/ etc / pam.d / loginおよび/etc/pam.d/system-loginの次の行もコメントアウトすることを忘れないでください:
セッションオプションのpam_lastlog.so
これと同じように、「最後のログイン」行は2回ではなく1回印刷されます。
MOTDを印刷する唯一のコンポーネントがPAMであることを確認する方が理にかなっていると思います。このようにして、他のすべての場所で無効にすることができ、それでも監査要件を満たします。
ちょうど$ 2.02
この問題が発生したとき、システムが発行されたときにアクティブな設定の組み合わせであることがわかりました。メッセージの最初のコピーは、SSH認証が発生する前に出力されました。これは、 sshd_config でSSHの Banner
オプションが設定されていたためです:
Banner /etc/motd
Banner
の誤用よりもMOTDの誤用。
デフォルト設定では、SSHはログイン時にMOTDを出力するため、メッセージの2番目のコピーが出力されました。 PrintMotd
を設定して無効にします:
PrintMotd no
PAM認証を使用するように構成されたUbuntu 15.04とSSHDで同じ問題が発生しました。私のサーバーは2つのMOTDを送信していました。ログインごとにSSHDがMOTDを更新できるようにすることで、うまく機能させることができました。これは、/ etc / pam.d / sshdを編集し、 noupdate
という行を削除/コメント化することにより行われます。
# Print the message of the day upon successful login.
# This includes a dynamically generated part from /run/motd.dynamic
# and a static (admin-editable) part from /etc/motd.
session optional pam_motd.so motd=/run/motd.dynamic
#session optional pam_motd.so noupdate
欠点は、このメッセージを更新するプロセスに時間がかかる(またはCPU時間)場合、ログインがリソースを浪費する可能性があり、時間がかかるか、タイムアウトになることです。
ただし、Ubuntu 15.04で標準設定されている基本的なデフォルトMOTDは問題を引き起こすことはありません。
これはおそらくシェル自体から行われています。グローバルプロファイルとbashrcを確認して、これに該当するかどうかを確認してください。
pam_motd.soモジュールのみがmotdを出力できるようにするには、/ etc / login.defsのMOTD変数を空の文字列に設定します。
MOTD_FILE""