web-dev-qa-db-ja.com

「su-」と「su root」の違いは何ですか?

重複の可能性:
なぜsuだけでなくsuを使用するのですか?

Root スーパーユーザーである必要はありません であることを理解しています。しかし、その場合、Sudo su -Sudo su rootの違いは何ですか?

23
ripper234

そこには2つの質問があります。

  • との差 su - usernameおよびsu username

-(または-l)が指定されている場合、suは実際のログインをシミュレートします。いくつかの選択変数(一部のシステムではTERM、特にDISPLAYおよびXAUTHORITY)を除いて、環境はクリアされます。それ以外の場合は、リセットされるPATHを除いて、環境はそのままになります。

  • ユーザー名を渡さないこととrootを指定することの違い

これはシステムに依存する場合があります。 Linuxで shadow を提供するパッケージとしてsuを提供する場合、ユーザー名が指定されていない場合、suはまずユーザーrootにはpasswdエントリがあります。ある場合は、それを使用します。そうでない場合は、uid 0を試行します。

他のUnixライクなオペレーティングシステムについては不明です。

26
Mat

su -は、スーパーユーザーに切り替えて、直接ログインしたように見えるように環境を設定します。 su rootは、rootという名前のユーザーに切り替え、しない直接ログインをシミュレートします。

スーパーユーザーの名前がrootの場合、susu rootは同等であり(直接ログインをシミュレートしません)、su -su - rootは同等です。

6
Jordan Wade