私は両方とも同じことをし、両方が同じディレクトリにあるのを見ます。それでは本当に同じですか、それとも違いがありますか?
また、どちらの場合もsuとsuを実行するとルートになります。それでは、利点は何ですか?
答え1
説明する
それらの間に違いがあります。
まずsu username
アカウントに切り替えるには、「username」のパスワードを入力する必要がありsudo su - username
ますsu - uesrname
。
もう1つの違いは、-
withを使用するsu
とログインシェルを実行するとユーザーに切り替えられ、withを使用しないと-
非ログインシェルが発生することです。
結論として:
su username
:- ターゲットユーザーのパスワードを入力する必要があります。
- ログインではなくシェルになります(これはインポート
.profile
されません)。
sudo su - username
- 自分のパスワードを使用してrootとしてコマンドを実行しています
su
(許可されている場合) - ターゲットユーザーアクセス権を持つログインシェルが提供されます。
- 自分のパスワードを使用してrootとしてコマンドを実行しています
どちらを使用するか:
ユーザー間で単一のパスワードを共有するのは良い考えではないので、su
まったく使用しないことをお勧めします。代わりに使用できsudo
、次のコマンドを実行する必要はありません。
sudo su - username
ファイルを設定/etc/sudoers
したら、次のように使用できます。
sudo -i -u username
必ず使用する必要がある場合は、su
必ずそれを使用して、su -
すべてが正しい方法で提供され、何も破損していないことを確認してください。