sudo: /usr/lib/sudo/sudoers.so должен принадлежать uid 0

Всякий раз, когда я пытаюсь сделать что-либо, для чего требуется мой пароль, он возвращает следующее:

u7ur7l3@ubuntu:~$ sudo
sudo: /usr/lib/sudo/sudoers.so must be owned by uid 0
sudo: fatal error, unable to load plugins
u7ur7l3@ubuntu:~$

Поэтому я не могу ничего установить из Центра программного обеспечения / менеджера пакетов или выполнить какие-либо команды в терминале, которые требуют мой пароль. Я могу войти, но на этом все.

Я случайно изменил права доступа к некоторым файлам, а затем изменил некоторые, пытаясь это исправить: /. Теперь я полностью потерян, что делать.

Это то, что произошло, когда я попытался заставить sudo снова работать с помощью pkexec:

u7ur7l3@ubuntu:~$ pkexec chown root /usr/lib/sudo/sudoers.so
Error getting authority: Error initializing authority: Error calling StartServiceByName for org.freedesktop.PolicyKit1: GDBus.Error:org.freedesktop.DBus.Error.Spawn.ExecFailed: Failed to execute program /usr/lib/dbus-1.0/dbus-daemon-launch-helper: Success 

u7ur7l3@ubuntu:~$ sudo ls
sudo: /usr/lib/sudo/sudoers.so must be owned by uid 0 sudo: fatal error, unable to load plugins

И для изменения разрешений я использовал Root Actions как сервис / плагин для дельфинов, поэтому история не отображается меня разрешение меняется.

Я только что понял, что звуки больше не работают вообще. Когда я захожу в Phonon, моих настроек по умолчанию и устройств воспроизведения даже нет. Также у меня нет возможности выключиться, я могу только выйти или выйти.

10
задан 10 May 2015 в 22:03

1 ответ

Владение по крайней мере одного из Ваших важных системных файлов является неправильным. Это - плохая вещь; если это произошло со многими системными файлами (возможно, Вы выполнили большое sudo chown команда с -R флаг в какой-то момент?), это могло вызвать много других системных ошибок и нестабильности. Таким образом, при недавней установке Ubuntu Вы могли бы хотеть переустановить, как Adam Heathcote предполагает.

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

sudo не работает, но использование sudo один из двух способов для администраторов выполнить действия как корень на Ubuntu. Другой Polkit (который раньше назывался PolicyKit).

Выполните эту команду, которая использует Polkit (через pkexec) изменить владение /usr/lib/sudo/sudoers.so назад к root (т.е. uid 0):

pkexec chown root /usr/lib/sudo/sudoers.so

Затем попытайтесь использовать sudo снова. Можно выполнить что-то тривиальное как sudo ls, и посмотрите, получаете ли Вы сообщение об ошибке.

Наконец, я рекомендую работать history для раскрытия всех команд, Вы работали. Надо надеяться, это перечислит все команды, которые Вы выполнили, которые имеют измененные полномочия. Принятие sudo теперь работы, я рекомендую отправить новый вопрос включая вывод history, получить справку, отменяющую всю принадлежность файла и полномочия, изменяется, Вы сделали.

Если pkexec не работает также...

Вы попробовали pkexec и это не работало. Начиная ни с одного sudo ни Polkit работает, чтобы позволить Вам выполнять действия как корень, необходимо будет загрузиться в режим восстановления и получить корневую оболочку. Чтобы сделать это, удержите Сдвиг при начальной загрузке компьютера, чтобы гарантировать, чтобы Вы получили видимое меню начальной загрузки GRUB. Выберите запись, которая содержит режим восстановления слов (обычно, необходимо выбрать одно самое близкое к вершине, которая имеет те слова). Затем Вы получите меню, где у Вас есть много опций - выбирают опцию спасть до корневой оболочки.

Подробные инструкции относительно доступа к корневой оболочке в режиме восстановления здесь:

После того как Вы имеете корневую оболочку, работаете:

chown root /usr/lib/sudo/sudoers.so

Если Вы получаете ошибку о файле или файловой системе, не являющейся модифицируемым, то повторно монтируете его чтение-запись:

mount -rw -o remount /

(Источник для идеи повторно смонтироваться и как сделать это: этот главным образом несвязанный ответ.)

Затем после выполнения этого mount команда, выполненное вышеупомянутое chown управляйте снова и посмотрите, работает ли это.

После того как Вы сделаны в режиме восстановления, можно перезагрузить путем выполнения:

reboot

sudo должен затем работать или по крайней мере дать некоторую другую ошибку.

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

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

Получение sudo работа снова является первым шагом. Надо надеяться, вышеупомянутая техника позволит Вам сделать это.

20
ответ дан 10 May 2015 в 22:03

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

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