/etc/motd 内のスクリプトを実行する

/etc/motd 内のスクリプトを実行する

ユーザーがサーバーにログインしたときに Python スクリプトを実行したいと思います。/etc/motd を編集するのが最善の方法だと思いましたが、読み取り専用ファイルなので、うまくいきません。

ほぼ同じ投稿を見つけました:/etc/motd にコマンドを置くことは可能ですか?

ここでの最善の解決策は何でしょうか? サーバーの概要を表示するスクリプトを実行して、ユーザーがすぐにステータスを確認できるようにしたいと思います。

これは提案されたA useful practice is to put the command you want to be executed in a script named /etc/motd.sh and call this script from /etc/profile, usually at about the end of it.

しかし、このコメントを受け取りましたPutting output like a MOTD in your profile is likely to break sftp.

どんな解決策でも構いません。よろしくお願いします

答え1

実際には、このオプションには /etc/profile.d を使用する方が適切です。そして、そこにソース スクリプトがあります。ログインするたびに出力が表示されます。

2 番目の問題と sftp の中断について。少しグーグルで検索してみました。

以下を使用できます:

Subsystem sftp /usr/lib/openssh/sftp-server

/etc/ssh/sshd_config で。

または追加

if [ "$SSH_TTY" ]
then
   source .bashc_real
fi

motdのようなメッセージを出力するスクリプトに。私はこの答えを(sftpを壊さずに.bashrcを使用する)。

答え2

Ubuntu/Debianでは、PAMモジュールパム動的motd機能をサポートしており、sftpに干渉しないと言われています。残念ながら、十分に文書化されていません。代わりに、update-motd マニュアルページUbuntu で。

Ubuntu システムでは、すでにいくつかのスクリプトが存在します/etc/update-motd.d/。これらは、独自のスクリプトを作成するのに適したライブ サンプルです。

動的motdを使用してログインするたびに特定のリソースを消費することについて慎重に検討してください。ベストプラクティスupdate-motd マニュアルページのセクション。

関連情報