web-dev-qa-db-ja.com

Ubuntu Linux 12.10本日のメッセージ

Ubuntu Linux 12.10に移行したばかりで、最初のmotdを適切にセットアップしたいです。以下を実行しましたが、ほとんどのUbuntuバージョンが持っているように見えるmotd.tailと呼ばれるセカンダリファイルを持っているのではなく、motdファイルが1つしかないことに気付きました。 motdファイルのバックアップコピーを作成してからそのファイルに書き込むか、ファイルに直接書き込む必要がありますか?また、このファイルに書き込んだ後、メッセージを表示するには実行可能にする必要がありますか?

ls -l motd* // output: motd -> /var/run/motd
3
Dford.py

ご覧のとおり、/etc/motd/var/run/motdへのシンボリックリンクです。

/var/run/motdは、/etc/update-motd.dディレクトリにある一連のスクリプトによって更新されます。これらのスクリプトの最後の99-footerは、/etc/motd.tailの内容を出力します(存在する場合)。99-footerの出力は/var/run/motdに追加されます。

/etc/update-motd.d/99-footerのコメント:

# motd.tail is reserved for the admin to append static
# trailing information to a dynamically generated
# /etc/motd.
#
# To add dynamic information, add a numbered
# script to /etc/update-motd.d/

したがって、/etc/motd.tailは、/etc/motdに静的コンテンツを追加する通常の方法です。

もちろん、必要に応じて、たとえば/etc/motdを好きな内容のスタンドアロンファイルにすることで、すべてを変更できます。ただし、既存のスクリプトによって追加された有用な情報は失われます。

いいえ、motdまたはmotd.tailのいずれかを実行可能にする必要はありません。これらは実行するためのものではないからです。

6
Keith Thompson

明らかに100%のubuntuではありませんが、処理はそれほど違いはないと思います。

/etc/motdvar/run/motdへの単なるシンボリックリンクであり、システムの起動時に/etc/mod.tailの内容で満たされます。

したがって、このスキームを破りたくない場合は他のすべてをそのままにして、メッセージを入力する必要がある/etc/motd.tailファイルだけです。

以下は、debianでのman motdの出力です。 ubuntuでも同じだと思いますが、よく確認してください。

記述

   The  contents  of  /etc/motd  are displayed by login(1) after a successful
   login but just before it executes the login Shell.

   The abbreviation "motd" stands for "message of the day", and this file has
   been traditionally used for exactly that (it requires much less disk space
   than mail to all users).

   On Debian GNU/Linux this file is a symbolic  link  pointing  to  /var/run.
   The  contents of this file are regenerated upon every system boot based on
   the contents of /etc/motd.tail.

ファイル/ etc/motd /etc/motd.tail

...そして、ログイン中にpam_motdモジュールが実行されることを忘れないでください。そうしないと、メッセージが表示されません。

1
mikyra

前回の回答以降、状況がかなり変わったため、これを会話に追加したかったのです。

要するに、現在MOTDはpam_motdによって実行されており、/etc/motdはもはやシンボリックリンクではありません...それも存在しません。

  • /etc/motd –クラシックな静的ファイル。 Ubuntu 16.04 LTSにはもう存在しません。/var/run/motdへのシンボリックリンクとしても存在しません。作成された場合、その内容も印刷されます。
  • /var/run/motd –これはUbuntuの最初の実装で使用されました。もう使用されていません。 PAMでは無視されます。
  • /var/run/motd.dynamic –これは現在ログイン時に表示されるものです。これは、ブートのたびに/etc/init.d/motdによって更新されます。また、/ etc/update-motd.d /にスクリプトが存在する場合は実行することにより、PAMによって更新されます。
  • /etc/motd.tail – /etc/update-motd.dの設定に使用されるUbuntuパッケージ。そのうちの1つはこのファイルのコンテンツをcatするため、静的コンテンツを簡単に追加できました。そのスクリプトはパッケージにもう存在しないため、ファイルには意図した効果がありません。

ここで情報を更新しました

https://ownyourbits.com/2017/04/05/customize-your-motd-login-message-in-debian-and-ubuntu/

0
nachoparker