この質問にはすでに回答があります:
コメント
回答
説明
違いがあります:
まず、su usernameを使用して、sudo su - usernameを使用しているときにアカウントに切り替えるには、「username」のパスワードを指定する必要があります。自分のパスワードを使用すると、rootになり、他のパスワードを使用せずに
で「ユーザー名」に切り替えます。
もう1つの違いは、-とログインシェルの実行中にユーザーに切り替わります。-がないと、非ログインシェルが取得されます。
結論:
-
su username:
- ターゲットユーザーのパスワードを入力する必要があります
- あなたログイン以外のシェルにドロップされます(
.profileなどはソースされません)。
-
sudo su - username
- 自分のパスワードを使用して、rootとして
suコマンドを実行しています(許可されている場合)
- ターゲットユーザーアクセスのログインシェルを取得します。
使用するシェル:
「ユーザー間で単一のパスワードを共有することはお勧めできません。そのため、suをまったく使用せず、代わりにsudo、またありません次のようなものを実行する必要があります:
sudo su - username
/etc/sudoersファイルを設定してから、次のようなものを使用できます:
sudo -i -u username
suを使用する必要がある場合は、常にsu -すべてが適切に供給され、何も妥協されていないことを確認します。