sudo -HがHOME変数を設定しないのはなぜですか?

sudo -HがHOME変数を設定しないのはなぜですか?

私はManjaro(Arch Linuxベース)を使い始めましたが、面白いことが起こりました。

$ sudo env | grep HOME
HOME=/root
$ sudo -H env | grep HOME
HOME=/root

マニュアルページを見て、sudo私のホームディレクトリが実際にあることを確認しました/etc/passwd。私が理解したように、上記の2番目のコマンドの出力は次のようになります。しなければならないはい/home/laurence。私は何を見逃していますか?

ベストアンサー1

マニュアルページは次のようにsudo書きます。

-H, --set-home セキュリティー・ポリシーが、HOME環境変数をターゲット・ユーザーのパスワード・データベース項目で指定されたホーム・ディレクトリーに設定するように要求します。ポリシーによっては、これがデフォルトの動作である可能性があります。

ここで鍵は-H設定することです。ターゲットユーザーメインディレクトリ。呼び出すと、sudo envターゲットユーザーが推測されますroot。 (同様のものを使用するとsudo -u john -H envホームディレクトリを取得しますjohn。)

おすすめ記事