ログイン時に他のホームディレクトリをどのように使用しますか?

ログイン時に他のホームディレクトリをどのように使用しますか?

私は約7人と共有されるサーバーを使用しています。私たちはそれぞれ独自のユーザーアカウントを持っていますが、必要なほとんどの項目にアクセスできないため、基本的に認証以外には役に立ちません。

代わりにsudoを使用して別のユーザー(「dev」と呼ばれる)になります。開発アカウントは、チームの全員と他のチームの一部のユーザーが共有します。これが実際に機能するのに十分な権限を持ってアクセスできる唯一のアカウントであることを考慮すると、それを共有する必要があることは非常に残念です。

開発者のホームディレクトリの下に私のディレクトリがあります。私が望むのは、私のサブディレクトリをホームディレクトリとして使用して新しいシェルセッションを開き、開発者のホームディレクトリではなく、私のサブディレクトリからドットファイルをインポートできることです。このようにして自分の設定(.bashrc、.vimrcなど)を持つことができます。

私はHOMEディレクトリを変更し、必要に応じてドットファイルをインポートすることでこれを偽にすることができることを知っていますが、共有アカウントでsudoするときにこれを自動化する方法を知っています。 ( sudo -ui dev HOME=/users/dev/me bashこれは現時点では機能しません。)これを行う方法はありますか?

「正しい」解決策は、最初から共有アカウントを使用せずに各ユーザーのアカウントに適切な権限を付与することです。しかし、サーバーは別々の会社によって所有および運営されており、そのシステム管理者は私たちのグループに対して作業してきました。実際、私たちはより多くのアクセス権とツールを使用することができましたが、私たちが望んでいないことをしているという事実を知ったとき、その権限を奪われました(契約違反や珍しいことはありません。

答え1

私が望むほど自動ではありませんが、これは私が思いついたものです:

sudo -iu dev bash # change to dev and start the session in bash instead of sh (the default for the dev user)

. me/rehome.sh # source the script below to change HOME

再インストール.sh:

export HOME=/home/dev/me # reset the HOME var.
export HISTFILE=$HOME/.bash_history # change the bash history file to my own

history -c; history -r # Clear the session's history (loaded from the shared account), and then load my own

. $HOME/.bashrc # source my .bashrc settings

cd $HOME

これにより、私が実行しているvimや他のプログラムでは、開発者のドットファイルの代わりに私のディレクトリにあるドットファイルを使用することができます。私も見なければなりません。

関連情報