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


24

sudo通常の非特権ユーザーとして実行すると、rootパスワードではなくパスワードが要求されます。これは多くの場合便利ですが、ルートとしてコマンドを実行するために誰かが必要とする情報量を減らします。それではsudo、ユーザーのパスワードを呼び出す代わりに、ルートパスワードを要求するにはどうすればよいですか?

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


任意のコマンドを公開することを心配する必要がないように、非rootユーザーとして許可されるコマンドを制限することをお勧めします。
-Slartibartfast

@slartibartfast:しかし、事前承認リストにないコマンドをルートとして実行する必要がある場合はどうなりますか?
デビッドZ

回答:


24

わかりました、ここに再びあります従ってチェックマークを設定できます。

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

Defaults rootpw

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


7
ファイルvisudoを手動で編集する代わりに、常にコマンドを使用する必要があり/etc/sudoersます。 visudoあなたは構文エラーを作る場合は、sudoをのロックアウトされないように、それは保存する前に、正しいだことを確認するためにファイルを検証し... askubuntu.com/a/81054/166411
コリン・D・ベネット

5

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


先ほど言ったように、マニュアルページのBNF表記を使用できませんでした/etc/sudoers。このフラグを有効にするには、どの行に挿入しますか?
デビッドZ

2
デフォルトrootpwを
フロリアンDiesch

@Florian:知っている、それはとても簡単です:-)それを答えとして投稿すると、チェックマークが付きます。
デビッドZ

3

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

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

  1. ルートのパスワードを設定します
    • これは、CRITICAL行うことがFIRSTを!(標準のセキュリティ設定により、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グラフィカルログインを介してログインすることはできません-これは非常に良いことです!


ダウン投票を取り消すための改善を提案できますか?
-SRDC

間違っていないようです。
ルスラン

単純な(そして動作する)構成の可能性があります:root ALL=(ALL) ALL Defaults targetpw ALL ALL=(ALL) ALL ルートパスワードを知っているすべてのユーザーにルートsudoを許可します。ソリューションの最後の2行を単純に変更するDefaults rootpwと、からのロックアウトが発生しますsudo。また、次のsudoersようにユーザーを追加する必要があります。myusername ALL=(ALL) ALLまたは、同様の特権をグループに付与してから、myusernameそのグループに追加します。
ポールパーカー

1

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

Defaults targetpw
ALL ALL=(ALL) ALL

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

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

Defaults rootpw

他のユーザーとしてコマンドを実行する権限をユーザーまたはグループに残さないでください。

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

Defaults rootpw
myuser ALL=(ALL) ALL

平易な英語では、myuser今では長い間、rootのパスワードが知られているように、すべてのホスト上の任意のユーザーとしてすべてのコマンドを実行する能力を持っています。

別の動作可能性は次のとおりです。

Defaults rootpw
%sudousers ALL=(ALL) ALL

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

su
usermod -a -G sudousers myuser
exit

素晴らしい説明。私が投稿したステップバイステップ(Ubuntuのデフォルトに基づいて機能しました)よりも詳細です。
SRDC

0

sudoをオフにしてを使用できますsu -c


実行するたびにパスワードを入力する必要があるため、不便です。ここでの使用例は、ルートとして複数のコマンドをすばやく連続して実行する必要があることです。
デビッドZ

-1

を使用して

須藤す

必要な数のコマンドを連続して実行できます。


2
良い考えですがsudo、ルートパスワードの入力を求めるように変更しない限り、これにより、誰かが1つのパスワード(ルートではなく)を提示するだけでルートアクセスを取得できます。したがって、私の質問を引き起こしたセキュリティ上の懸念に実際には対処していません。
デビッドZ

sudoの容量を使用してユーザーによるアクセスを制限する代わりに、rootパスワードを多数のユーザーに公開しています。また、rootからパスワードを削除することにより、サーバーを保護する機能を削除しています。
-BillThor
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.