web-dev-qa-db-ja.com

su usernameとSudo su-usernameの違いは何ですか?

どちらも同じことをし、どちらも同じディレクトリに移動するので、本当に同じですか、それとも違いがありますか?

また、suとsuを実行すると、両方のケースでrootユーザーになります。

3
Souvik Ray

説明

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

まず最初にsu usernameを使用するには、アカウントに切り替えられるように「username」のパスワードを入力する必要がありますが、Sudo su - usernameを使用すると、自分のパスワードで1秒間rootになり、何も使用しません実行中の他のパスワードsu - uesrnameを使用して「ユーザー名」に切り替えます。

もう1つの違いは、-suとともに使用することで、ログインシェルの実行中にユーザーに切り替わります。-を使用しないと、非ログインシェルが取得されます。


結論:

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

どちらを使用するか:

ユーザー間で単一のパスワードを共有することはお勧めできません。そのため、suを使用しないことをお勧めします。代わりにSudoを使用できます。また、次のようなものを実行する必要はありません。

Sudo su - username

/etc/sudoersファイルを設定して、次のようなものを使用できます。

Sudo -i -u username

suを使用する必要がある場合は、常にsu -のように使用して、すべてのものがソースであることを確認し、侵害されていないことを確認してください。

11
Ravexina