質問

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""

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top