To wydaje się być problemem z jajkiem kurzym. Najczęstszym zadaniem sudo
jest instalowanie i usuwanie oprogramowania.
sudo apt-get purge <appname>
Ale sudo
samo można usunąć.
sudo apt-get purge sudo # Do not run this command on production computers!
Tu przychodzi zabawa
ubuntu@ubuntu:~$ sudo
bash: /usr/bin/sudo: No such file or directory
Chociaż jest oczywiste, że nikt przy zdrowych zmysłach nie oczyści się sudo
(poza mną), można oszukać kogoś , kto uruchomi to polecenie (nie bezpośrednio, w trybie heksadecymalnym lub jakkolwiek to się nazywa), lub ktoś może SSH w przebraniu guru technologii i robić bałagan .
Czy jest więc sposób na ponowne zainstalowanie sudo?
sudo
software-installation
zarejestrowany użytkownik
źródło
źródło
root
użytkownika. Możesz wtedy użyćsu
lub zalogować się bezpośrednio jako root, jeśli masz fizyczny dostęp do komputera (ssh będzie na ogół skonfigurowany tak, aby odrzucał próby zalogowania się jako root).sudo
i nie ma „bezpiecznego rozruchu” lub odpowiednika. Jedyny sposób, jaki znam, to przejście doxda-dev
pełnego pakietu instalacyjnego d / la. Masz szczęście, że tak powiem, że nie masz tego ograniczenia.Odpowiedzi:
Mogę instalować aplikacje za pomocą:
Od
man pkexec
:Przypuszczam, że to też
pkexec apt-get install sudo
powinno działać.Edycja : teraz mogę potwierdzić: tak ,
sudo
można zainstalować za pomocąpkexec apt-get install sudo
:( kliknij aby powiększyć )
źródło
sudo apt-get install gksu ubuntu-minimal
. Ale lepiej sprawdź, które pakiety zostały usunięte w tym samym czasiesudo
.policykit-1
(od 12.04). Można go usunąć, ale kosztem usunięcia pakietów, których zwykle potrzebujesz w systemie stacjonarnym, takim jakgnome-core
iubuntu-desktop
(na serwerze, bardziej prawdopodobne jest, że nie będzie wymagany przez żaden niezbędny pakiet). Jednak, Radu, co decyduje o tym, że twoje konto może korzystaćpkexec apt-get …
? Czy jest to coś, co skonfigurowałeś, czy dzieje się to automatycznie, a jeśli tak, co decyduje o tym, że konto może to zrobić?sudo
grupy mogą korzystaćpkexec
. (Z mojego doświadczenia wynika, że dodawanie użytkowników do tej grupy nadajepkexec
umiejętności, a usuwanie ich z niej usuwapkexec
umiejętności; w ten sposóbpkexec
wydaje się, że umiejętności nadano tak samo, jaksudo
umiejętności w domyślnejsudoers
konfiguracji, co ma sens, ponieważ możliwośćsudo
ipkexec
jako root są głównie to, co czyni użytkownika administratorem Ubuntu.) Nie sądzę, że odinstalowaniesudo
usuniesudo
grupę. Ale ja nie całkowicie pewny moje przypuszczenia są prawdziwe we wszystkich rozsądnych warunkach.Zawsze możesz uruchomić system w trybie odzyskiwania , upuścić do roota i zainstalować go bez sudo.
źródło
passwd
. Uruchom ponownie normalnie, w wierszu polecenia wpiszsu
nowe hasło i uruchomapt-get install sudo
(bezsudo
Tak, ponowna instalacja
sudo
pakietu byłaby możliwa za pomocą metody chroot .Pierwsze uruchomienie z dysku Live Ubuntu.
Zamontuj wcześniej zainstalowaną partycję Ubuntu w dowolnym katalogu, w którym chcesz. W moim przypadku zamontowałem ją
/media/ubuntu
.Domyślnie nie można uzyskać połączenia z Internetem po chrootowaniu na partycję, dlatego uruchom poniższe polecenie, aby to działało.
Dzięki @Oli za ten wspaniały fragment kodu.
Teraz chroot w tym zamontowanym katalogu,
Zainstaluj
sudo
pakiet, uruchamiając,Teraz wyjdź z chrootowanego środowiska.
Wreszcie uruchom system Ubuntu, a teraz przetestuj swoje
sudo
polecenie, na pewno zadziała.źródło
Uruchom z dodatkowym parametrem
init=/bin/sh
w wierszu polecenia jądra. Spowoduje to przejście bezpośrednio do powłoki roota, z której można po prostu uruchomić,apt-get install sudo
a następnie uruchomić ponownie. Może być konieczne uruchomienie,/etc/init.d/networking start
aby najpierw uzyskać działające połączenie sieciowe. O wiele prostsze niż grzebanie w płytach CD z odzyskiwaniem lub na żywo, jeśli mnie o to poprosisz.źródło
Jeśli już ustawiłeś lub zaktualizowałeś
root
hasło do konta użytkownika za pomocą tego poleceniasudo passwd root
, nie musisz się martwić o usunięcie. Posudo
prostu zaloguj się na swojeroot
konto, a następnie zainstalujsudo
,Kliknij tutaj, aby powiększyć
źródło
su
na moim komputerze wyświetla „su:sudo
Teraz spróbuj,sudo passwd root
pozwoli to zaktualizować hasło do konta użytkownika root. Teraz ponownie zaloguj się do konta root uruchamiającsu
polecenie. Po zalogowaniu się będziesz mógł swobodnie wyczyścić sudo.sudo apt-get purge sudo
Teraz oczyść sudo przez. Zaloguj się na swoje konto root, aby ponownie zainstalować pakiet sudo, uruchamiającsu
iapt-get install sudo
sudo (i wszelkie inne uprawnienia roota) dotyczą tylko działającego systemu operacyjnego. Jeśli byłeś głupi i usunąłeś sudo (lub / usr / w tym przypadku) i nie masz alternatywnych jak pkexec, możesz po prostu uruchomić z czegoś innego, skopiować brakujące oprogramowanie i uruchomić ponownie.
Dostęp fizyczny niweczy wszelkie zabezpieczenia oprogramowania, jakie może mieć system.
źródło
Ten problem wydaje się być bardzo specyficzny dla Ubuntu. Jako użytkownik inny niż Ubuntu, nawet z początku nie rozumiałem, dlaczego sudo jest w jakiś sposób specjalnym przypadkiem (wiele dystrybucji domyślnie go nie instaluje).
W ogóle nie potrzebujesz sudo. To tylko leniwy skrót, który pozwala wykonać polecenie roota bez konieczności logowania się jako root. Jeśli jednak musisz zrobić coś więcej niż jedno polecenie, okropne jest ciągłe poprzedzanie wszystkiego sudo. Nie wspominając o tym, że używanie
sudo
powoduje, że użytkownicy ignorują sposób działania uprawnień i konta root. Znacznie bardziej sensowne jest po prostu logowanie się jako root, administrowanie systemem i wylogowywanie się. Zrobisz to,su
jeśli jesteś już zalogowany jako zwykły użytkownik. Lub możesz zalogować się bezpośrednio jako root.Oczywiście musisz
root
ustawić hasło, to rozsądna konfiguracja, w przeciwnym razie masz system podobny do systemu Windows, w którym są działania, których nikt nie może wykonać, i jesteś naprawdę zablokowany, jeśli jakośsudo
nie jest dostępny (wymaga pracy/etc/
, ustawienia$PATH
i innych rzeczy zamontowane - których możesz nie mieć, jeśli coś pójdzie nie tak na początku rozruchu).źródło
sudo
z Ubuntu, powinien również rozważyć ustawienie hasła roota (inne pytania wskazywały, jak to zrobić). Użytkownik, który nie dba o to, może nadal używać sudo.