Jak naprawić plik / etc / sudoers na OSX High Sierra

0

Jak się tu dostałem

Po utworzeniu kopii zapasowej danych zainstalowałem dysk SSD. Zainstalowałem OSX Maverick (ponieważ mój laptop ma około 2014 r.), A następnie zacząłem kopiować moje dane z użytkownika 2 do użytkownika 1 (ponieważ mój użytkownik po instalacji systemu operacyjnego nie pasował do użytkownika o tej samej nazwie, który zapisał dane w kopii zapasowej danych).

Potem zacząłem naprawiać własności plików, ale zrobiłem coś naprawdę złego: wpadłem sudo chmod -R user-1:staffw /etci zmienił własność /etc/sudoers. A gdy własność pliku jest uszkodzona, nie można go przywrócić.

Co próbowałem

Zrobiłem rozruch w trybie pojedynczego użytkownika i stwierdziłem, że system plików jest zamontowany tylko do odczytu.

Uruchomiłem się w trybie odzyskiwania i okazało się, że OSX nie oferuje już „Napraw uprawnienia do dysku” w Narzędziu dyskowym .

Uruchomiłem się w trybie odzyskiwania i okazało się, że nie mogę przywrócić pojedynczego pliku z kopii zapasowej Time Machine, ponieważ tryb odzyskiwania pozwala tylko na brukowanie komputera za pomocą wszystkich danych Time Machine.

Próbowałem wykonać zwykły rozruch, ale zajmuje to 30 minut i chociaż pasek postępu mówi, że się zakończył, system operacyjny nigdy nie pojawia się ponownie.

Pytanie

Jak mam to zrobić

  1. wyświetlić monit użytkownika w zapisywalnym systemie plików, dzięki czemu mogę ustawić własność na /etc/sudoerslub
  2. dostać się do Findera, aby naprawić własność

i może uda mi się ponownie uruchomić laptopa?

Niestety nie mogę zalogować się jako root przy użyciu tego exploita, ponieważ nie mogę wyświetlić okna dialogowego dotyczącego logowania.


Później 21.01.2018

Natknąłem się na to pytanie i udało mi się mount -uw / && chmod 0 /etc/sudoers, ale nadal nie mogę się uruchomić. Może to być coś innego spowodowanego przez chown -R.

Później: kiedy uruchamiam się w trybie gadatliwym (Command-V), pojawia się nieskończony zwój komunikatu o błędzie „Awaria procesu X: opendirectoryd. Tworzy się zbyt wiele zwłok”. To wygląda fatalnie. Być może będę musiał ponownie zainstalować system operacyjny i moją kopię zapasową.

użytkownik20342
źródło

Odpowiedzi:

3

Istnieje wyjście (dzięki https://astrails.com/blog/2009/09/29/how-to-fix-a-hosed-etc-sudoers-file-on-mac-osx ):

  • być zalogowanym z konta z uprawnieniami administratora
  • w terminalu uruchom, open etc/aby zobaczyć ten katalog z Findera
  • wybierz plik sudoers
  • uzyskaj jego informacje ( Cmd+ I)
  • kliknij, +aby dodać uprawnienia
  • przyznaj swoje konto z prawami do odczytu i zapisu
  • vi /etc/sudoers i napraw swój bałagan
  • :w! zapisać (ponieważ wciąż jest to „tylko do odczytu”)
  • następnie uruchom, sudo visudoaby przywrócić odpowiednie prawa do tego pliku.
akim
źródło
0

Musisz przywrócić całą hierarchię / etc do jej właściwej własności. Jest to głównie root: koło, ale jest kilka wyjątków. Możesz to naprawić w trybie pojedynczego użytkownika po ponownym zamontowaniu woluminu głównego w celu uzyskania dostępu do zapisu:

mount -uw /
chown -R root:wheel /etc
chown -R root:_lp /etc/cups
chown _lp:admin /etc/cups/certs
chown root:admin /etc/cups/certs/*
chown root:operator /etc/dumpdates    # It's ok if this file doesn't exist

Zauważ, że kolejność wykonywania jest ważna, ponieważ późniejsze chowns zastępują wcześniejsze.

Gordon Davisson
źródło
Trochę zszedłem tą drogą. Spojrzałem na komputer Mac działający poprawnie i grep -v wheelzobaczyłem tylko cupskatalog, zobaczyłem, że mój laptop nie ma cupsi właśnie to zrobił chmod -R 0 /etc. Brak przyjemności. Teraz układam i ponownie instaluję kopię zapasową Time Machine. Mam nadzieję na najlepsze.
user20342
1
W rzeczywistości powinna również działać lokalna ponowna instalacja z Recovery, aby zachować dane użytkownika (choć w tym momencie może to nie być korzystne). BTW, przegapiłeś założenie grupy wraz z właścicielem.
Gordon Davisson,