両方のコマンド:
Sudo -i -u username
Sudo su - username
パスワードを入力すると、username
としてログインします。これらのコマンドには実際に違いがありますか?
su
コマンドは「代理ユーザー」を表し、別のユーザー(スーパーユーザー)になることができます。 _Sudo su
_は現在のユーザーをrootに変更しますが、environment settings (PATH)
は同じままです。 sudoers
ファイルで指定されているように、スーパーユーザーまたは別のユーザーとしてコマンドを実行する権限を持つユーザーを許可します。
_Sudo -i
_を使用すると、クリーンなルートシェルを取得できます。 ‑i(初期ログインをシミュレート)オプションは、ターゲットユーザーのパスワードデータベースエントリで指定されたシェルをログインシェルとして実行します。これは、_.profile
_や_.login
_などのログイン固有のリソースファイルがシェルによって読み取られることを意味します。コマンドが指定されている場合、シェルの‑cオプションを介して実行するためにコマンドがシェルに渡されます。コマンドが指定されていない場合、対話型シェルが実行されます。