Как избавиться от - sudo: /usr/lib/sudo/sudoers.so must be only be writable by owner sudo: fatal error, unable to load plugins [duplicate]

На этот вопрос уже есть ответ здесь:

Я пытаюсь настроить apache2 с cgi (python).

Для этого мне нужно изменить разрешения некоторых папок и файлов, но я получаю фатальные ошибки sudo каждый раз, когда пытаюсь изменить разрешение файла или папки.

Например:

1

j@ubuntu:/etc/apache2$ ls

apache2.conf envvars magic mods-enabled sites-available

conf.d httpd.conf mods-available ports.conf sites-enabled

j@ubuntu:/etc/apache2$ sudo chmod 777 httpd.conf

sudo: /usr/lib/sudo/sudoers.so должен быть доступен для записи только владельцу

sudo: fatal error, unable to load plugins

...................................................................................

2

j@ubuntu:/usr/lib/cgi-bin$ sudo /etc/init.d/apache2 restart

sudo: /usr/lib/sudo/sudoers.so должен быть доступен для записи только владельцу

sudo: fatal error, unable to load plugins

...................................................................................

3

j@ubuntu:/usr/lib$ sudo chmod -R 777 /usr/lib/cgi-bin

sudo: /usr/lib/sudo/sudoers.so должен быть доступен для записи только владельцу

sudo: fatal error, unable to load plugins

...................................................................................

Примечание:

j@ubuntu:/etc/apache2$ ls -l /usr/lib/sudo/sudoers.so

-rwxrwxrwx 1 root root 177452 Jan 31 2012 /usr/lib/sudo/sudoers.so

2
задан 6 June 2013 в 14:26

2 ответа

Судя по комментариям, все, что запускается с sudo, потерпит неудачу из-за этого. Работает ли это, если вы используете pkexec вместо этого? Например:

pkexec chmod go-w /usr/lib/sudo/sudoers.so

Это должно удалить разрешения на запись из «группы» и «другие» и оставить нетронутыми права «пользователя» (владельца).

Редактировать: Упс, написал sudo в команде по ошибке. Исправлено.

0
ответ дан 6 June 2013 в 14:26

На самом деле в Ubuntu есть два механизма для выполнения административных задач. sudo - один из них, и он и его графические интерфейсы (такие как gksu и gksudo) не будут работать, пока вы не исправите проблему с разрешениями.

Другой механизм - PolicyKit. В зависимости от того, что именно вы сделали с правами доступа к файлам, вполне вероятно, что вы все равно сможете восстановить с помощью PolicyKit для запуска команд от имени пользователя root.

Команда pkexec запускает любую (неграфическую) команду от имени пользователя root (при условии, что пользователь, вызывающий ее, является администратором в системе). pkexec также может запускать графические команды (например, nautilus) от имени пользователя root, но это довольно нетривиально, поскольку вам необходимо настроить для них файлы конфигурации, описывающие, как они должны выполняться и что им разрешено делать , Поэтому лучше всего использовать командную строку для решения этой проблемы ... по крайней мере, до такой степени, что sudo снова работает. (Затем вы можете запустить gksu nautilus, чтобы получить браузер корневых файлов, если вам удобнее использовать это для рекурсивного редактирования прав доступа к файлам.)

Я не знаю точно, что вы сделали с вашими разрешениями, так что это Мне трудно дать вам конкретную команду pkexec для решения проблемы. Но вы можете исправить конкретную проблему, на которую в настоящее время жалуется sudo. В нем говорится:

sudo: /usr/lib/sudo/sudoers.so должен быть доступен для записи только для владельца. Поэтому удалите права доступа для группы и другие записи (не изменяя разрешения для записи владельца) для этого файла:

pkexec chmod go-w /usr/lib/sudo/sudoers.so Затем вы можете увидеть, работает ли sudo (запустив какую-то безобидную команду, такую ​​как sudo ls).

Если вам нужно выполнить другие операции с правами доступа к файлам из командной строки с помощью chmod, см. Man chmod.

(Кстати, вот еще одна, связанная с этим ситуация, в которой удобно знать о pkexec.)

Если у вас возникли проблемы с получением pkexec для этого, пожалуйста, не стесняйтесь комментировать здесь, и я буду попытаться оказать дальнейшую помощь. Но вы должны знать, что даже если этот метод не работает, вам не нужно переустанавливать Ubuntu.

Вместо этого вы можете решить проблему с живого CD / DVD-диска Ubuntu или с USB-системы, потому что будет работать живая система - на ней будет работать sudo - и вы можете смонтировать раздел Ubuntu и изменить разрешения, которые способ.

Или, как третий вариант (как предложил Форестписки), вы можете использовать режим восстановления.

0
ответ дан 6 June 2013 в 14:26

Другие вопросы по тегам:

Похожие вопросы: