web-dev-qa-db-ja.com

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

誤って間違えて、MacでSudoコマンドをパスワードなしにしました。どうすればデフォルトに戻すことができますか?

3
Anonymous

man sudoersから:

NOPASSWDおよびPASSWD

デフォルトでは、Sudoは、コマンドを実行する前に、ユーザーが自分自身を認証することを要求します。この動作は、NOPASSWDタグを介して変更できます。

NOPASSWDタグを追加するか、NOPASSWDタグを使用してエントリを有効にしました。

いずれの場合も、コマンドvisudo(Sudoが必要)を使用して/etc/sudoersを編集し、エントリを削除またはコメントアウトします。

たとえば、これらのエントリを使用すると、パスワードを要求されることなく任意のコマンドを実行できます。

jaume   ALL=(ALL) NOPASSWD: ALL
%localaccounts  ALL=(ALL) NOPASSWD: ALL

%localaccountsは、私がメンバーになっているグループlocalaccountsを意味します。

$ id
uid=501(jaume) gid=20(staff) groups=20(staff),12(everyone),61(localaccounts)

一方、エントリにNOPASSWDがない場合は、次のことを認証する必要があります。

jaume   ALL=(ALL) ALL
%staff  ALL=(ALL) ALL

次のようなエントリを使用して、両方の動作を行うことができます。

jaume   ALL=(ALL) ALL,NOPASSWD:/usr/sbin/softwareupdate

ここでは、softwareupdate以外のコマンドを認証する必要があります。

4
jaume

sudoersファイルを編集して、Sudoに再度パスワードを要求させることができます。ターミナルセッションでSudo visudoコマンドを使用してこのファイルを編集し、次の行を削除する必要があります。

%Sudo ALL = NOPASSWD:ALL

これはおそらくファイルの終わり近くにあります。次に、ファイルを保存(書き込み)して終了します。 visudoコマンドは、新しいファイルを確認して「インストール」します。これを行うには、再起動するか、少なくともログオフしてオンにする必要がある場合があります。

visudoコマンドを使用するとviエディターが表示されるため、変更を加えるにはviの使用について少し知っておく必要があります。

1
Zhora

/ etc/sudoersで「NOPASSWD:」を探して削除します。ゲームをしている場合は、ターミナルウィンドウでこれを実行してみてください。
"sed -i's/NOPASSWD:// g '"必要に応じて、最初に-iスイッチなしでテストできます。

0
Justin

アカウントにroot/sudoer特権がありますか?

もしそうなら、試してみてください:

Sudo -i

その後

passwd

これにより、アカウントに基づいてスーパーユーザーモードになり、rootパスワードがリセットされます(visudoファイルはほぼ正しいと言ったので必要なことを実行できます)。

0
nerdwaller