web-dev-qa-db-ja.com

Sudoにrootパスワードを要求させるにはどうすればよいですか?

権限のない通常のユーザーとしてSudoを実行すると、rootパスワードではなくパスワードが要求されます。これは多くの場合便利ですが、rootとしてコマンドを実行するために必要な情報の量が減ります。では、起動ユーザーのパスワードの代わりにSudoにrootパスワードを要求させるにはどうすればよいですか?

/etc/sudoersの行でそれが行われることはわかっていますが、manページのBNF文法を適切に解析して、何を書くべきかを正確に理解することはできません。

26
David Z

わかりました、ここでもチェックマークを設定できます。

/etc/sudoers、次の行を追加します:

Defaults rootpw

rootpwフラグをオンにして、Sudoにrootパスワードを要求させます。

26
Florian Diesch

rootpwフラグをオンにする必要があります。

ターゲットのパスワードを必要とする一般的な構成(必要なものではありません):

Defaults targetpw
ALL ALL=(ALL) ALL

2行目は次のように読み上げます。「すべてのホストのすべてのユーザーが、すべてのコマンドを実行すると、(ALL)ユーザーになりすますことができます。」そしてその Defaults targetpwは、偽装するユーザーのパスワードを知っている必要があることを意味します。

この単純な構成を単純に次のように変更します。

Defaults rootpw

別のユーザーとしてコマンドを実行する権限を持つユーザーまたはグループを離れることはありません。

1つの有効な可能性は次のとおりです。

Defaults rootpw
myuser ALL=(ALL) ALL

平易な英語では、myuserは、rootパスワードがわかっている限り、すべてのホストで任意のユーザーとしてすべてのコマンドを実行できるようになりました。

別の有効な可能性は次のとおりです。

Defaults rootpw
%sudousers ALL=(ALL) ALL

sudousersグループのメンバーは、ルートパスワードがわかっている限り、すべてのホスト上ですべてのユーザーとしてすべてのコマンドを実行できます。 myuserがSudoコマンドを実行できるようにするには、そのセカンダリグループにsudousersを追加する必要があります。

su
usermod -a -G sudousers myuser
exit

編集:例外とスコープに関する明確な例:

Defaults rootpw
myuser ALL=(ALL) ALL
%sudousers ALL=(ALL) ALL
Defaults:%sudousers !rootpw

これには、ルートパスワードを知るためにmyuserが必要ですが、sudousersグループのメンバーは自分のパスワードを使用する必要があります。 myusersudousersのメンバーである場合、この動作はそれらのrootpwもオーバーライドすることに注意してください(最後に一致するエントリが以前のエントリをオーバーライドします)。

3
Paul Parker

私はこの質問が古いことを知っていますが、これはこのユースケースで見つけた最も簡潔な質問です(これはマイナーなパーセンテージで、真ですが、それでも正しいシナリオでは合法で役に立ちます)。

さまざまなソースからすべてのステップをまとめた後-この質問に対する複数の回答を含め、これらのステップはUbuntu-Gnome 16.04 LTSで機能します。

  1. rootのパスワードを設定
    • これは[〜#〜] critical [〜#〜]を行う[〜#〜]最初[〜#〜]! (Ubuntuには、標準のセキュリティ構成により、ROOTユーザーのパスワードは自動的に設定されていません。
    • 最初にこれを行わないと、自分がroot特権にアクセスできないようにロックされます。これは、Live Diskで起動し、ハードドライブをマウントし、sudoersファイルを編集することで克服できますが、それを避けるのが最善です。
    • ターミナルを開いて次のように入力します:Sudo passwd
    • ROOTユーザーの新しいパスワードを設定します。
  2. rootパスワードを要求するようにSudo構成を変更
    • Sudoはroot特権を要求するユーザーを必要とします
    • 代わりに「rootpw」フラグを設定すると、Sudoにrootユーザーのパスワードを要求するように指示します。
    • ターミナルを開いて次のように入力します:Sudo visudo
    • 「/ etc/sudoers」ファイルが開きます
    • 他の「デフォルト」行の後に、次を追加します:Defaults rootpw
    • 保存します(nanoであると想定します。これがデフォルトです。これはCTRL + Oです)
    • ファイルを閉じ(CTRL + X)、ターミナルを終了します
  3. これで完了です!

簡単なメモ-グラフィカルログインからのログインにrootユーザーが使用できないようにしたかったので、除外する方法を検討しました。どうやら、rootユーザーはデフォルトで除外されており、Gnomeグラフィカルログインからのログインには使用できません。これは非常に良いことです。

3
SRDC

Sudoをオフにしてsu -c

0
Nitrodist