Vagrant boxを設定しているのに奇妙な点が見つかりました。
root@box:~# sudo --user=vagrant bash
bash: /root/.bashrc: Permission denied
vagrant@box:~$ export
declare -x HOME="/root"
なぜここにHOME
設定されていますか/root
?ユーザーvagrantのホームディレクトリは次のとおりです/root
。
vagrant@box:~$ grep vagrant /etc/passwd
vagrant:x:1000:1000::/home/vagrant:/bin/bash
オンラインで見つけたすべての内容は、環境変数を防ぐ方法ではなく、環境変数を継承する方法について説明します。 sudoers ファイルにはenv_reset
デフォルト値が含まれています。この行動を制御する他のものが何であるかわかりません。
ベストアンサー1
これは選択です。気に入らない場合、-i
または-H
オプションを使用するか、設定を変更してください。 sudo(8) のマニュアルページには次のように表示されますHOME
。
または、これが指定されているか、または、
-i
このオプションが設定されている場合は、ターゲットユーザーのホームディレクトリに設定されます。-H
env_reset
always_set_home
sudoers
-s
set_home
sudoers
env_reset
Ubuntuでは実際には効果はありません$HOME
(しかし、以下を参照)。これはマニュアルページの不正確さです。バラよりランチパッドのバグ#889936。
追加情報
env_reset
一部の環境変数は、提供されていても維持される可能性があります。オプションを使用して変更できるコンパイル時間のデフォルト値がありますenv_keep
。詳細については、sudoers(5) のマニュアルページを参照してください。sudo -V
ルートの下の出力の「保存する環境変数:」にこれらの環境変数のリストを表示できます。具体的には、HOME
Ubuntuにはデフォルトでリストされていますが、Debianにはリストされていません。
詳細については、次を参照してください。
ランチパッドのバグ#760140
HOME
Debian と Ubuntu のコンパイル時のデフォルト値情報。