3

Я случайно допустил ошибку и сделал мои команды sudo пароля на моем Mac. Как я могу вернуть его по умолчанию?

4 ответа4

4

От man sudoers:

NOPASSWD и PASSWD

По умолчанию sudo требует, чтобы пользователь аутентифицировал себя перед выполнением команды. Это поведение можно изменить с помощью тега NOPASSWD.

Вы либо добавили тег NOPASSWD либо включили запись с тегом NOPASSWD .

В любом случае, отредактируйте /etc/sudoers с помощью команды visudo (для которой требуется sudo) и удалите или закомментируйте запись.

Например, с этими записями я могу выполнить любую команду без запроса пароля:

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 .

1

Вы можете отредактировать файл sudoers, чтобы sudo снова запрашивал пароль. Вам нужно отредактировать этот файл, используя команду sudo visudo в терминальной сессии и удалив строку:

% sudo ALL = NOPASSWD: ALL

который, вероятно, ближе к концу файла. Затем сохраните (запишите) файл и выйдите. Команда visudo проверяет новый файл и "устанавливает" его. Возможно, вам придется перезапустить или, по крайней мере, выйти из системы и продолжить, чтобы это произошло.

Обратите внимание, что команда visudo помещает вас в редактор vi, поэтому вам нужно немного узнать об использовании vi для внесения изменений.

0

Найдите в /etc /sudoers 'NOPASSWD:' и удалите его. Если вы игра, попробуйте запустить это в окне терминала:
"sed -i 's / NOPASSWD:// g'" Вы можете проверить его без ключа -i, если хотите.

0

Есть ли у вашей учетной записи root/sudoer privs?

Если это так, попробуйте:

sudo -i

А потом

passwd

Это переводит вас в режим суперпользователя, основанный на вашей учетной записи, а затем сбрасывает пароль root (который может сделать то, что вам нужно, поскольку вы сказали, что файл visudo звучит правильно).

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .