ユーザーがSSH経由で接続したときにスクリプトを実行する

ユーザーがSSH経由で接続したときにスクリプトを実行する

私はサーバーを設定しており、SSHトラフィックを準備しています。
特定のグループのユーザーが接続するたびにスクリプト(新しく接続したユーザーとの会話)を実行したいと思います。
どうすればいいですか(SSHフック投稿に似ています)?

あるグループの人が欲しいです。それらをユーザーと呼びます。ゲームサーバーやそのようなものを稼働させ、最小限の頭痛でそれを行うことができるようにしたい人です。私の考えは、接続されるたびに始まり、手をつないで、ゲームサーバーを中心にさまざまなタスクを実行できるスクリプトを作成することでした。私は管理者が毎回このスクリプトのために面倒になることを望んでいません。

答え1

なぜダメ?/etc/設定ファイルサーバー上のファイル、条件がありますか?

例:グループでのみ利用可能プレイヤー、スクリプト/etc/profile-grp/players/etc/profile で実行されます。ユーザーディレクトリのログファイル(〜/ log)に日付を記録します。

grp=player

# Write a script
sudo mkdir /etc/profile-grp
echo "date >> ~/log" | sudo tee /etc/profile-grp/${grp}

# Script permissions
sudo chown root:${grp} /etc/profile-grp/${grp}
sudo chmod 640 /etc/profile-grp/${grp}

# In /etc/profile
echo " 
if ( groups | grep ${grp} > /dev/null); then
   . /etc/profile-grp/${grp}
fi" | sudo tee -a /etc/profile

unset grp
  • プレイヤーグループ(およびルート)のみがスクリプトを読み取ることができます。
  • スクリプトを自由に編集してください。ルートのみがこれを変更できます。

答え2

いくつかのオプション:

  • 各ユーザーのログインシェルを対話型スクリプトに変更します。
  • bashが起動されるたびに実行される各ユーザーの.profileを編集/コピーして、ユーザーがプロンプトを受け取らないようにします。
  • ユーザー ~/.ssh/authorized_keys を編集して、ユーザーが接続するときに特別なコマンドを実行するように ssh に指示します。これはオプション1に似ていますが、sshそれ以上ではありません。また、多くの人が異なるキーを使用しますが、異なるタスク(ユーザーの分離、タスク別)を使用して同じアカウントにログインできるようにすることもできます。

関連情報