sudo vs su(非rootユーザーとして)


10

私のコンピュータには、両方の管理者であるuser1とuser2があります。

user1としてログインしている間、次のことを試みています。

  • "su-user2"-> users2パスワードの入力を求められたら、コマンドを入力できます
  • 「sudo --user = user2 [コマンド]」->パスワードの入力を求められます。user2のパスワードを入力すると、「申し訳ありませんが、もう一度やり直してください」というメッセージが表示されます。パスワードが正しくないかのようなエラーメッセージ。user1のパスワードを入力すると、正しく実行されます。

sudoコマンドは、「-user」パラメーターで定義したユーザーのパスワードを要求しないのですか?


2
Sudo(super user do)がsudoコマンドを呼び出すユーザーのpwordを要求しています。Su(ユーザーの切り替え)は、切り替え先のユーザーのpwordを要求しています。
ケネディ氏

回答:


21

これは予想される動作です。

  • suの目的は、ユーザーを切り替えることです。これは、代替ユーザーIDツールと呼ばれます。suは、ユーザーに切り替えているため、他のユーザーのパスワードを取得します。

    suユーティリティは、PAMを介して適切なユーザー資格情報を要求し、そのユーザーIDに切り替えます(デフォルトのユーザーはスーパーユーザーです)。その後、シェルが実行されます。

    出典:マニュアルページ

  • sudoの目的は、別のユーザーとしてコマンドを実行することです。sudo の-uor --userオプションは、そのユーザーを指定します。そのユーザーとしてログインするのではなく、コマンドを実行するだけです。sudoはパスワードを取得してそのようなタスクを実行するためのIDを検証します。


それで、user1がsudoersファイルにない場合、私はsudoを実行できません。 "su"だけですか?
パブロ

1
@パブロそれは本当です
-grg

@Pabloの「ユーザーの切り替え」と「スーパーユーザーの切り替え」。1つは、他のユーザーとして認証することを要求します。もう1つは、スーパーユーザーとして認証する必要があります。
ボリス・ザ・スパイダー
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.