Efektywny identyfikator to nie 0, czy sudo jest zainstalowane root setuid?


1

Skopiowałem plik o nazwie zrzut klasy do mojego /usr/bin folder, wtedy ani Terminal.app, ani iTerm2 nie działają poprawnie na moim MacBooku. Coś jest nie tak z sudo dowództwo.

Oto co zrobiłem na podstawie wyszukiwania w Internecie:

sudo 
sudo: effective uid is not 0, is sudo installed setuid root?
type sudo
sudo is hashed (/usr/bin/sudo)
ls -@@eil /usr/bin/sudo
1485457 -rwxrwxrwx  1 root  wheel  168448  7  9  2016 /usr/bin/sudo
md5 /usr/bin/sudo
MD5 (/usr/bin/sudo) = 7d986f7707c0f11264989cd7105ea80d

Czy ktoś wie, jak mogę to zrobić sudo znowu pracować?


1
Uciekłeś chmod na /usr, /usr/bin lub /usr/bin/sudo przed? Uprawnienia wyglądają bardzo źle - oto co otrzymuję ls -@@eil: 101580151 -r-s--x--x 1 root wheel 360K 14 Sep 01:56 /usr/bin/sudo*
John N

Czy masz w systemie partycję odzyskiwania? Z sudo nie działa, musisz go uruchomić chmod komenda wraca do normalnego stanu
nohillside

Tak, uciekłem sudo chmod 777 /usr/bin/class-dump nadać class-dump.app więcej mocy. Co się tyczy ls -@@eil, Nie wiem do czego służy wynik.
Jeremy

Czy partycja odzyskiwania oznacza użycie narzędzia dyskowego? Próbowałem funkcji awaryjnej, ale nic się nie stało.
Jeremy

Odpowiedzi:


2
  • Uruchom do trybu odzyskiwania ( cmd R ) / Tryb odzyskiwania Internetu ( alt cmd R ).

  • Uzyskaj nazwę głównego woluminu systemowego: df
    Zazwyczaj jest to „Mounted on” - nazwa urządzenia disk0s2 (np. Macintosh HD) - po prostu sprawdź rozmiary.

  • Wchodzić chmod 4511 /Volumes/Name_Of_Sys_Vol/usr/bin/sudo

    Zastąp Name_Of_Sys_Vol przez nazwę woluminu znalezioną w poprzednim poleceniu. Jeśli nazwa zawiera spacje, usuń je za pomocą \. Przykład:

    chmod 4511 /Volumes/Macintosh\ HD/usr/bin/sudo
    
  • Sprawdź z ls -l /Volumes/Name_Of_Sys_Vol/usr/bin/sudo które powinny dać:

    -r-s--x--x  1 root  wheel  168448  7  9  2016 /Volumes/Name_Of_Sys_Vol/usr/bin/sudo
    

W Sierra z włączonym SIP nie byłbyś w stanie zmodyfikować uprawnień sudo do 777. Dlatego zakładam, że Sierra nie jest zainstalowana lub SIP jest wyłączony.

Jeśli Sierra jest zainstalowana, a SIP jest włączony, musisz ją wyłączyć przed zastosowaniem zmian w sudo.


To działa! Teraz polecenie sudo może działać poprawnie. Dzięki!
Jeremy
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.