login shell、インタラクティブセッションを開始する際に、ログインIDで実行される最初のプロセス。ログインシェルは通常、環境変数の設定ファイルを読み込む。例としては/etc/profile
や~/.profile
などがある。ユーザー切り替えの際に実行するsu
コマンドは、-
を付けることがある。-
を付けた場合、以下2つのことが発生する。
1.ログインユーザーが変わり、カレントディレクトリがそのユーザーのディレクトリに変わる
2.環境変数はログインユーザーの~/.bashrc
を読み込む
-
を付けたsu
コマンドやssh経由のログインは、 interactive login shellを開始する。
-
を付けない場合、ログインユーザーは変わるが、環境変数は既存のままとなる。AWSのSession ManagerでEC2とのセッションを開始後、sudo su
でrootユーザーに切り替わった場合、/etc/profile
や~/.profile
などの環境変数ファイルは読み込まれないことになる。