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

/etc/motd は名前付きパイプの場合に表示されませんか?

明らかなものを見逃していません。 pam_motd のソースを掘り下げてみました これを理解するためのモジュール。

トリックは pam_motd です /etc/motd で次のことを行います :

<オール>
  • ファイルのサイズを確認してください。
  • そのサイズのバッファを割り当てます。
  • ファイル全体をバッファに読み込みます。
  • 使用中の出力メソッドを使用してバッファを出力します。 (結局のところ、PAM はモジュール式であり、端末であると想定することはできません。)
  • パイプにはファイル サイズがないため、これはステップ 1 で失敗します。

    編集 :そもそもなぜ PAM はサイズを気にするのでしょうか?意図的または意図的でないサービス拒否を防ぐためだと思います。 PAM がファイル サイズをチェックするとき、ファイルが 64 k バイトより大きい場合、motd の出力も拒否します。たとえば、誰かが DVD ムービー ファイルを /etc/motd にパイプすることができたら、システムにログインしようとする人は誰でも非常に悲しいだろうと思います。

    このリンクは、すべての重要な手順を案内します


    Linux
    1. /dev/shm/ と /tmp/ はいつ使用する必要がありますか?

    2. sudo プロンプトでパスワードを入力するときのフィードバックを無効にする

    3. find:ファイル システムのループが検出されました

    1. Linuxは複数の連続したパスセパレーター(/ home //// username /// file)をどのように処理しますか?

    2. /etc/hosts のサイズ制限は?

    3. /etc/hosts と /etc/resolv.conf の違い

    1. CentOS/RHEL:/tmp マウント ポイントが /etc/fstab に追加されたときに自動的にマウントされない

    2. サンプル /etc/mke2fs.conf ファイル

    3. unix:///var/run/supervisor.sock そのようなファイルはありません