Własność co najmniej jednego z ważnych plików systemowych jest nieprawidłowa. To zła rzecz; jeśli tak się stało z wieloma plikami systemowymi (być może w pewnym momencie uruchomiłeś duże sudo chownpolecenie z -Rflagą?), może to spowodować szereg innych błędów systemowych i niestabilności. Więc jeśli niedawno zainstalowałeś Ubuntu , możesz chcieć zainstalować ponownie, jak sugeruje Adam Heathcote .
Ale nie trzeba ponownie instalować, aby rozwiązać ten problem . Zamiast tego po prostu napraw własność tego pliku. Jeśli później pojawią się błędy dotyczące innych plików, możesz je również naprawić (chociaż być może będziesz musiał powiedzieć nam, jakie są komunikaty o błędach, abyśmy mogli również powiedzieć ci, jak je naprawić).
sudonie działa, ale przy użyciusudo jest jeden z dwóch sposobów dla administratorów do wykonywania czynności, jak korzeń na Ubuntu. Drugi to Polkit (który nazywał się PolicyKit).
Uruchom to polecenie, które używa Polkit (via pkexec), aby zmienić własność /usr/lib/sudo/sudoers.soback to root(tj. Uid 0):
pkexec chown root /usr/lib/sudo/sudoers.so
Następnie spróbuj użyć sudoponownie. Możesz uruchomić coś tak trywialnego jak i sprawdzić, czy pojawi się komunikat o błędzie.sudo ls
Na koniec polecam uruchomić, historyaby odsłonić wszystkie uruchomione polecenia. Mam nadzieję, że wyświetli się lista wszystkich uruchomionych poleceń, które zmieniły uprawnienia. Zakładając, że sudoteraz działa, zalecam opublikowanie nowego pytania, w tym danych wyjściowych history, aby uzyskać pomoc w cofnięciu wszystkich dokonanych zmian własności i uprawnień do plików.
Jeśli pkexecnie działa albo ...
Próbowałeś pkexeci to nie działało. Ponieważ sudoani Polkit nie działa, aby umożliwić wykonywanie działań jako root, będziesz musiał uruchomić system w trybie odzyskiwania i uzyskać powłokę root. Aby to zrobić, przytrzymaj Shiftpodczas uruchamiania komputera, aby mieć widoczne menu rozruchowe GRUB. Wybierz pozycję, która zawiera tryb odzyskiwania słów (ogólnie, powinieneś wybrać ten najbliższy górze, która ma te słowa). Następnie pojawi się menu, w którym masz wiele opcji - wybierz opcję upuszczenia do powłoki root.
Szczegółowe instrukcje dotyczące uzyskiwania dostępu do powłoki roota w trybie odzyskiwania znajdują się tutaj:
Po utworzeniu powłoki roota uruchom:
chown root /usr/lib/sudo/sudoers.so
Jeśli pojawi się błąd związany z niemożnością modyfikacji pliku lub systemu plików, ponownie podłącz go do odczytu:
mount -rw -o remount /
(Źródło pomysłu ponownego zamontowania i jak to zrobić: ta w większości niezwiązana odpowiedź .)
Następnie po uruchomieniu tego mountpolecenia chownponownie uruchom powyższe polecenie i sprawdź, czy działa.
Po zakończeniu trybu odzyskiwania możesz ponownie uruchomić komputer, uruchamiając:
reboot
sudopowinien wtedy działać, a przynajmniej dać inny błąd.
Na koniec należy pamiętać, że biorąc pod uwagę pokazane błędy, prawdopodobnie wiele plików ma niewłaściwe prawa własności lub uprawnienia. Byłoby idealnie, gdybyś mógł dowiedzieć się, które pliki zmodyfikowałeś w ten sposób. Na przykład, jeśli zorientujesz się, że wszystkie pliki znajdują się w kilku określonych folderach, może być możliwe poprawienie pełnego zakresu ostatnio występujących problemów.
Ponowna instalacja jest zdecydowanie opcją, ale zwłaszcza jeśli wszystko, co zmieniłeś, to własność (a nie uprawnienia, które są nieco trudniejsze do zrekonstruowania, ponieważ różnią się bardziej), powinno być możliwe po prostu przywrócenie uprawnień rekurencyjnie ich pierwotnym właścicielom (prawdopodobnie zwykle root) ) i całkowicie odwrócić szkody.
Pierwsze sudodziała ponownie jest pierwszym krokiem. Mam nadzieję, że powyższa technika pozwoli ci to zrobić.
pkexecpolecenie?