Недавно мне пришлось изменить права доступа к папке /usr
. Теперь весь sudo
не работает. Если я пытаюсь обновить мою систему с помощью этой команды:
sudo apt-get update
я получаю следующее сообщение:
sudo: /usr/lib/sudo/sudoers.so must be only be writable by owner
sudo: fatal error, unable to load plugins
Поэтому я попытался изменить права доступа к папке, открыв Nautilus как root с помощью эта команда
gksudo nautilus
Но ничего не произошло. Наутилус не открылся. Это чрезвычайная ситуация, так как весь sudo
не работает. когда я пытался найти решение от Google, многие предлагали переустановить. Я не предпочитаю переустановку. так есть ли другое решение?
установить пользователей и групп с помощью , этого
перейти к Управление группами
и добавить вас в sudo
группа
Я попытался бы загрузиться в режиме восстановления и установить разрешения обратно к тому, что они были.
Перезагрузка - выберите второй пункт меню, чтобы перейти в режим восстановления.
недавно мне пришлось изменить разрешения для папки / usr папки
blockquote>Что попросило вас изменить разрешения для всей папки / usr?
На самом деле в Ubuntu есть два механизма для выполнения административных задач. sudo
является одним из них, и он и его графические интерфейсы (такие как gksu
и gksudo
) не будут работать, пока вы не исправите проблема с разрешениями.
Другой механизм - PolicyKit . В зависимости от того, что именно вы сделали с вашими правами доступа к файлам, вполне вероятно, что вы все еще можете восстановить с помощью PolicyKit для запуска команд как root
.
Команда pkexec
запускает любую (неграфическую) команду как root
(при условии, что пользователь, вызывающий ее, является администратором в системе). pkexec
способен запускать графические команды (например, nautilus
), как и root
, но это довольно нетривиально, так как вам нужно настроить файлы конфигурации для них, описывающие, как они должны выполняться и чем они являются должно быть разрешено делать. Поэтому лучше всего использовать командную строку для решения этой проблемы ... по крайней мере, до точки, где sudo
снова работает. (Затем вы можете запустить gksu nautilus
, чтобы получить файловый браузер root
, если вам удобнее использовать его для рекурсивного редактирования разрешений на файлы.)
Я не знаю точно, что вы сделали с вашими разрешениями поэтому мне трудно дать вам конкретную команду pkexec
для запуска, чтобы решить проблему. Но вы можете исправить конкретную проблему, о которой в настоящее время жалуется sudo
. В нем говорится:
sudo: /usr/lib/sudo/sudoers.so must be only be writable by owner
Поэтому удалите разрешения на запись group
и other
(не изменяя разрешения на запись owner
) для этого файла:
pkexec chmod go-w /usr/lib/sudo/sudoers.so
Тогда вы увидите если sudo
работает (запустив какую-то безобидную команду, например sudo ls
).
Если вам нужно выполнить другие операции с правами доступа к файлам из командной строки с помощью chmod
, см. man chmod
.
(Кстати, вот еще одна, связанная с этим ситуация, в которой полезно знать о pkexec
.)
Если у вас возникли проблемы с тем, чтобы pkexec
работал для этого, пожалуйста, Не стесняйтесь комментировать здесь, и я постараюсь оказать дальнейшую помощь. Но вы должны знать, что даже если этот метод не работает, вам не нужно переустанавливать Ubuntu.
Вместо этого вы можете исправить проблему с живого CD / DVD-диска Ubuntu или с USB-системы, потому что будет работать живая система - sudo
будет работать на ней - и вы можете смонтировать раздел Ubuntu и измените разрешения таким образом.
Или в качестве третьего варианта (как ForestPiskie предложил ) , вы можете использовать режим восстановления . ]