suユーザー名とsudo su -ユーザー名の違いは何ですか? [コピー]

suユーザー名とsudo su -ユーザー名の違いは何ですか? [コピー]

私は両方とも同じことをし、両方が同じディレクトリにあるのを見ます。それでは本当に同じですか、それとも違いがありますか?

また、どちらの場合もsuとsuを実行するとルートになります。それでは、利点は何ですか?

答え1

説明する

それらの間に違いがあります。

まずsu usernameアカウントに切り替えるには、「username」のパスワードを入力する必要がありsudo su - usernameますsu - uesrname

もう1つの違いは、-withを使用するsuとログインシェルを実行するとユーザーに切り替えられ、withを使用しないと-非ログインシェルが発生することです。


結論として:

  • su username:
    • ターゲットユーザーのパスワードを入力する必要があります。
    • ログインではなくシェルになります(これはインポート.profileされません)。
  • sudo su - username
    • 自分のパスワードを使用してrootとしてコマンドを実行していますsu(許可されている場合)
    • ターゲットユーザーアクセス権を持つログインシェルが提供されます。

どちらを使用するか:

ユーザー間で単一のパスワードを共有するのは良い考えではないので、suまったく使用しないことをお勧めします。代わりに使用できsudo、次のコマンドを実行する必要はありません。

sudo su - username

ファイルを設定/etc/sudoersしたら、次のように使用できます。

sudo -i -u username

必ず使用する必要がある場合は、su必ずそれを使用して、su -すべてが正しい方法で提供され、何も破損していないことを確認してください。

関連情報