「su -」と「su」についていくつかの混乱した点[重複]

「su -」と「su」についていくつかの混乱した点[重複]

私はLinuxコマンドラインで作業しています。ところで、私が読んでいる本には、su -l(-) username新しいシェルセッションを開始し、変更したいユーザーの環境をロードすることが示されていますが、そうではありsuません。

私はrootのときにコマンドを入力したのでsu testusertestuserでした。さてそれ以降にを入力したんですけどecho "$USER"testuser。これはテストユーザーの環境をロードすることを意味します。そうですか?何が問題なの?

「新しいシェルセッションを開始する」とは、どういう意味ですか?シェルにログインおよびログアウトメカニズムがありますか?

答え1

root権限を提供しますが、PATH変数と現在の作業ディレクトリは変更されません。したがって、/usr/sbin フォルダにあるファイルは実行できません。

数 -PATHも変更されます。ルートのホームが現在の作業ディレクトリになります。あなたは正しくルートになり、すべてのコマンドを実行できます。

関連情報