ログイン時に$ HOME変数をエクスポートするとどうなりますか?

ログイン時に$ HOME変数をエクスポートするとどうなりますか?

これはこの質問に対するフォローアップです。

https://askubuntu.com/questions/563828/how-to-change-my-home-directory?noredirect=1#comment775654_563828

要約は次のとおりです。

  • Ubuntu 14.04実行中
  • sshで接続しssh -X user@host、bashセッションで終了します。
  • /current/home/私のホームディレクトリをすでに/new/home/存在するディレクトリに変更したいと思います。

ログイン時に実行する次の行を追加したいと思います。

export HOME=/new/home

/current/home/関連性があると思われるファイルは次のとおりです。

  • .login
  • .profile

そのコマンドをファイルに追加すると.profile機能します。

理想的には、最初に実行したファイルにこの項目を入れて、それ以降に実行するすべての項目に正しいHOME変数を設定することをお勧めします。

ルートアクセス権がなく、リモートシステムの他のユーザーを介してアクセスすることもできません。

ベストアンサー1

私は以前も同じ問題を経験しました。私の場合、(政治的理由で)同じユーザーアカウントを共有する必要がある複数のユーザーがいました。

解決策は、実際のユーザーごとに独自のホームディレクトリを作成し、ログイン時にホームディレクトリを変更することです。

これを行うには、SSHキーを使用し、公開キーを.ssh / authorizedキーに入れてから、そこにあるforceコマンドを使用して新しいホームディレクトリを設定し、新しいシェルを起動するか、指定された場合はSSH_ORIGINAL_COMMANDを実行する小さなシェルスクリプトを起動しました。

.ssh/authorized keyにこのような内容を書いてください。

command="/home/me/bin/startupscript" ssh-rsa ...

起動スクリプトで、次のように作成します。

env -i HOME=/new/home ${SSH_ORIGINAL_COMMAND:-bash -l}

SSH_ORIGINAL_COMMAND のサポートは、新しいホームも使用する scp などの操作に重要です。

おすすめ記事