Восстановить Привилегии Судо
Загрузите систему Linux в режиме восстановления.
Для этого перезагрузите систему и нажмите и удерживайте клавишу SHIFT во время загрузки.
Вы увидите меню загрузки Grub. Выберите «Дополнительные параметры для Ubuntu» из списка меню загрузки.
На следующем экране выберите «режим восстановления» и нажмите ENTER:
Далее, выберите опцию «Drop to root shell» и нажмите клавишу ENTER:
Вы находитесь в режиме восстановления как пользователь root.
Введите следующую команду, чтобы смонтировать корневую (/) файловую систему в режиме чтения / записи.
mount -o remount,rw /
Теперь добавьте пользователя, которого вы удалили из группы sudo.
В моем случае я добавляю пользователя с именем «sk» в группу sudo с помощью следующей команды:
adduser sk sudo
Затем введите команду exit, чтобы вернуться в меню восстановления.
Выберите Resume, чтобы запустить систему Ubuntu.
Теперь проверьте, были ли восстановлены привилегии sudo.
Для этого введите следующую команду в Терминале.
$ sudo -l -U sk
Образец вывода:
[sudo] password for sk: Matching Defaults entries for sk on ubuntuserver: env_reset, mail_badpass, secure_path=/usr/local/sbin\:/usr/local/bin\:/usr/sbin\:/usr/bin\:/sbin\:/bin\:/snap/bin User sk may run the following commands on ubuntuserver: (ALL : ALL) ALL
Как видно из приведенного выше сообщения, пользователь sk может выполнять все команды с префиксом sudo. Поздравляем! Вы успешно восстановили привилегии sudo для пользователя.
ТАКЖЕ ДРУГИЕ ВОЗМОЖНЫЕ ПРИЧИНЫ Сломанного Судо
Обратите внимание, что я действительно сделал это нарочно.
Я удалился из группы sudo и исправил нарушенные привилегии sudo, как описано выше.
Не делайте этого, если у вас есть только один пользователь sudo.
И этот метод будет работать только в тех системах, к которым у вас есть физический доступ.
Если это удаленный сервер или VPS, это очень трудно исправить.
Вам может потребоваться помощь вашего хостинг-провайдера.
Кроме того, есть две другие возможности для создания сломанного sudo.
Файл /etc/sudoers мог быть изменен.
Вы или кто-то могли изменить права файла /etc/sudoers.
Если вы выполнили одно или все из вышеперечисленных действий и в результате получили ошибку sudo, попробуйте следующие решения.
Решение 1:
Если вы изменили содержимое файла /etc/sudoers, перейдите в режим восстановления, как описано ранее.
Сделайте резервную копию существующего файла /etc/sudoers перед внесением каких-либо изменений.
cp /etc/sudoers /etc/sudoers.bak
Затем откройте файл /etc/sudoers:
visudo
Сделайте изменения в файле, чтобы они выглядели так:
# # This file MUST be edited with the 'visudo' command as root. # # Please consider adding local content in /etc/sudoers.d/ instead of # directly modifying this file. # # See the man page for details on how to write a sudoers file. # Defaults env_reset Defaults mail_badpass Defaults secure_path="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/snap/bin" # Host alias specification # User alias specification # Cmnd alias specification # User privilege specification root ALL=(ALL:ALL) ALL # Members of the admin group may gain root privileges %admin ALL=(ALL) ALL # Allow members of group sudo to execute any command %sudo ALL=(ALL:ALL) ALL # See sudoers(5) for more information on "#include" directives: #includedir /etc/sudoers.d
После того, как вы изменили содержимое, чтобы оно отображалось таким образом, нажмите CTRL + X, и y сохраните и закройте файл.
Наконец, введите «exit» и выберите «Resume», чтобы запустить систему Ubuntu, чтобы выйти из режима восстановления и продолжить загрузку как обычный пользователь.
Теперь попробуйте использовать любую команду с префиксом sudo, чтобы проверить, восстановлены ли привилегии sudo.
Решение 2:
Если вы изменили разрешение файла /etc/sudoers, этот метод исправит проблему с поврежденным sudo.
В режиме восстановления выполните следующую команду, чтобы установить правильные права для файла /etc/sudoers:
chmod 0440 /etc/sudoers
После того, как вы установите правильные права для файла, введите «exit» и выберите «Resume», чтобы запустить систему Ubuntu в обычном режиме.
Наконец, проверьте, можете ли вы выполнить любую команду sudo.
см. также: