Всякий раз, когда я пытаюсь сделать что-либо, что требует мой пароль, он возвращает это:
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, моих настроек по умолчанию и устройств воспроизведения даже нет. Также у меня нет возможности выключиться, я могу только выйти или выйти.
источник
pkexec
команду?sudo
и PolicyKit (черезpkexec
).Ответы:
Владение хотя бы одним из ваших важных системных файлов неверно. Это плохо; Если это произошло со многими системными файлами (возможно, вы в какой-то момент выполнили большую
sudo chown
команду с-R
флагом?), это может вызвать ряд других системных ошибок и нестабильностей. Так что если вы недавно установили Ubuntu , вы можете переустановить, как советует Адам Хиткот .Но вам не нужно переустанавливать, чтобы решить эту проблему . Вместо этого просто исправьте владельца этого файла. Если после этого вы получите ошибки о других файлах, вы также можете их исправить (хотя вам, возможно, придется сообщить нам, что это за сообщения об ошибках, чтобы мы могли также рассказать, как их исправить).
sudo
не работает, но использованиеsudo
является одним из двух способов для администраторов выполнять действия от имени пользователя root в Ubuntu. Другой - это Polkit (который раньше назывался PolicyKit).Запустите эту команду, которая использует Polkit (через
pkexec
), чтобы изменить владельца/usr/lib/sudo/sudoers.so
обратноroot
(то есть, UID 0):Затем попробуйте
sudo
снова. Вы можете запустить что-нибудь тривиальное, например , и посмотреть, если вы получите сообщение об ошибке.sudo ls
Наконец, я рекомендую запустить,
history
чтобы показать все команды, которые вы запускали. Надеемся, что в нем будут перечислены все команды, которые вы выполнили и которые изменили разрешения. Предполагая, чтоsudo
теперь все работает, я рекомендую опубликовать новый вопрос, включая выводhistory
, чтобы получить помощь по отмене всех изменений владельца файла и разрешений, которые вы сделали.Если
pkexec
тоже не работает ...Вы пытались,
pkexec
и это не сработало. Поскольку ниsudo
Polkit, ни Polkit не работают для того, чтобы вы могли выполнять действия от имени пользователя root, вам придется загрузиться в режиме восстановления и получить оболочку root. Для этого Shiftпри загрузке компьютера удерживайте нажатой клавишу, чтобы получить видимое меню загрузки GRUB. Выберите запись, которая содержит режим восстановления слов (как правило, вы должны выбрать ближайший к началу, в котором есть эти слова). Затем вы получите меню, в котором у вас есть несколько опций - выберите опцию, чтобы перейти в корневую оболочку.Подробные инструкции по доступу к корневой оболочке в режиме восстановления находятся здесь:
Как только у вас будет корневая оболочка, запустите:
Если вы получили сообщение об ошибке, что файл или файловая система не могут быть изменены, перемонтируйте их readwrite:
(Источник для идеи перемонтирования и как это сделать: это в основном несвязанный ответ .)
Затем, выполнив эту
mount
команду,chown
снова запустите приведенную выше команду и посмотрите, работает ли она.Как только вы закончите в режиме восстановления, вы можете перезагрузиться, запустив:
sudo
должен тогда сработать или хотя бы выдать какую-то другую ошибку.Наконец, обратите внимание, что с учетом ошибок, которые вы показали, вполне вероятно, что многие файлы теперь имеют неправильное владение или разрешения. Было бы идеально, если бы вы могли выяснить, какие файлы вы изменили таким образом. Например, если вы могли бы выяснить, что это были все файлы в паре определенных папок, то можно было бы исправить полный объем недавних проблем, с которыми вы столкнулись.
Переустановка, безусловно, является вариантом, но особенно если все, что вы изменили, было владельцем (а не разрешениями, которые несколько сложнее реконструировать, поскольку они больше различаются), можно было бы просто рекурсивно установить разрешения обратно их первоначальным владельцам (вероятно, обычно root ) и полностью изменить ущерб.
Начало
sudo
работы снова - это первый шаг. Надеюсь, что вышеупомянутая техника позволит вам сделать это.источник