誤って間違えて、MacでSudo
コマンドをパスワードなしにしました。どうすればデフォルトに戻すことができますか?
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
以外のコマンドを認証する必要があります。
sudoersファイルを編集して、Sudoに再度パスワードを要求させることができます。ターミナルセッションでSudo visudoコマンドを使用してこのファイルを編集し、次の行を削除する必要があります。
%Sudo ALL = NOPASSWD:ALL
これはおそらくファイルの終わり近くにあります。次に、ファイルを保存(書き込み)して終了します。 visudoコマンドは、新しいファイルを確認して「インストール」します。これを行うには、再起動するか、少なくともログオフしてオンにする必要がある場合があります。
visudoコマンドを使用するとviエディターが表示されるため、変更を加えるにはviの使用について少し知っておく必要があります。
/ etc/sudoersで「NOPASSWD:」を探して削除します。ゲームをしている場合は、ターミナルウィンドウでこれを実行してみてください。
"sed -i's/NOPASSWD:// g '"必要に応じて、最初に-iスイッチなしでテストできます。
アカウントにroot/sudoer特権がありますか?
もしそうなら、試してみてください:
Sudo -i
その後
passwd
これにより、アカウントに基づいてスーパーユーザーモードになり、rootパスワードがリセットされます(visudoファイルはほぼ正しいと言ったので必要なことを実行できます)。