Я случайно допустил ошибку и сделал мои команды sudo
пароля на моем Mac. Как я могу вернуть его по умолчанию?
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
.
Вы можете отредактировать файл sudoers, чтобы sudo снова запрашивал пароль. Вам нужно отредактировать этот файл, используя команду sudo visudo в терминальной сессии и удалив строку:
% sudo ALL = NOPASSWD: ALL
который, вероятно, ближе к концу файла. Затем сохраните (запишите) файл и выйдите. Команда visudo проверяет новый файл и "устанавливает" его. Возможно, вам придется перезапустить или, по крайней мере, выйти из системы и продолжить, чтобы это произошло.
Обратите внимание, что команда visudo помещает вас в редактор vi, поэтому вам нужно немного узнать об использовании vi для внесения изменений.
Найдите в /etc /sudoers 'NOPASSWD:' и удалите его. Если вы игра, попробуйте запустить это в окне терминала:
"sed -i 's / NOPASSWD:// g'" Вы можете проверить его без ключа -i, если хотите.
Есть ли у вашей учетной записи root/sudoer privs?
Если это так, попробуйте:
sudo -i
А потом
passwd
Это переводит вас в режим суперпользователя, основанный на вашей учетной записи, а затем сбрасывает пароль root (который может сделать то, что вам нужно, поскольку вы сказали, что файл visudo звучит правильно).