Право власності на принаймні один із важливих ваших системних файлів невірно. Це погано; якщо це трапилося з багатьма системними файлами (можливо, ви запустили велику sudo chown
команду з -R
прапором в якийсь момент?), це може спричинити ряд інших системних помилок та нестабільності. Тож якщо ви нещодавно встановили Ubuntu , можливо, ви захочете перевстановити, як пропонує Адам Хіткот .
Але вам не доведеться перевстановлювати, щоб виправити цю проблему . Замість цього просто зафіксуйте право власності на цей файл. Якщо після цього ви отримаєте помилки щодо інших файлів, ви також можете їх виправити (хоча вам, можливо, доведеться сказати, що таке повідомлення про помилки, тому ми також можемо розповісти, як їх виправити).
sudo
не працює, але використовуючиsudo
це один з двох способів для адміністраторів виконувати дії , як корінь на Ubuntu. Інший - Polkit (який раніше називався PolicyKit).
Запустіть цю команду, яка використовує Polkit (via 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 не працює, щоб дозволити вам виконувати дії як root, вам доведеться перейти в режим відновлення та отримати кореневу оболонку. Для цього утримуйте клавішу Shiftпід час завантаження комп'ютера, щоб переконатися, що ви побачили меню завантаження GRUB. Виберіть запис, який містить режим відновлення слів (як правило, слід вибрати той, який знаходиться найближче до верху, у якому є ці слова). Тоді ви отримаєте меню, де у вас є ряд варіантів - виберіть варіант для переходу до кореневої оболонки.
Детальні інструкції щодо доступу до кореневої оболонки в режимі відновлення тут:
Щойно у вас є коренева оболонка, запустіть:
chown root /usr/lib/sudo/sudoers.so
Якщо ви отримаєте помилку про те, що файл або файлова система не змінюється, тоді перезавантажте його з переписанням:
mount -rw -o remount /
(Джерело для ідеї перерахунку та як це зробити: це здебільшого незв'язана відповідь .)
Потім, виконавши цю mount
команду, запустіть вищезгадану chown
команду ще раз і подивіться, чи працює вона.
Після закінчення режиму відновлення можна перезавантажити, виконавши:
reboot
sudo
слід працювати, або хоча б дати якусь іншу помилку.
Нарешті, зауважте, що зважаючи на вказані вами помилки, ймовірно, що багато файлів зараз мають неправильне право власності чи дозволи. Було б ідеально, якби ви могли зрозуміти, які файли ви модифікували таким чином. Наприклад, якщо ви могли зрозуміти, що це всі файли в декількох конкретних папках, можливо, можливо виправити повну міру останніх проблем, які у вас виникли.
Перевстановлення, безумовно, є варіантом, але особливо, якщо все, що ви змінили, було право власності (а не дозволи, які дещо складніше реконструювати, оскільки вони відрізняються більше), слід мати можливість просто повернути дозволи до рекурсивно до своїх початкових власників (напевно, зазвичай, root ) і повністю повернути шкоду.
Повторна sudo
робота - це перший крок. Сподіваємось, вищевказана методика дозволить вам це зробити.
pkexec
команду?