Jak powinienem poprawić właścicieli i uprawnienia w folderze użytkownika OS X?

9

Mój problem polega na tym, że poważnie zniszczyłem wszystkich właścicieli i uprawnienia w moim folderze użytkownika i podfolderach i powoduje wiele problemów podczas korzystania z wielu aplikacji.

Początkowa przyczyna była taka, że ​​zmieniłem nazwę użytkownika, postępując zgodnie z instrukcjami obsługi Apple pod adresem http://support.apple.com/kb/HT1428

Po skonfigurowaniu nowego użytkownika Mozy backup nie będzie już tworzył kopii zapasowych, a wiele moich aplikacji nie mogło się automatycznie zaktualizować. Aplikacja zwykle zaczynała działać ponownie, jeśli usunąłem program naruszający zasady i ponownie go zainstalowałem. Myślałem, że dzieje się tak, ponieważ uprawnienia były nieprawidłowe i znalazłem miejsca, w których GetInfo wskazało, że uprawnienia odnoszą się do starego użytkownika. Czasami okno dialogowe mówiło po prostu „Pobieranie” nazwy użytkownika i nigdy nie było aktualizowane do niczego innego.

Uruchomiłem Onyx „napraw uprawnienia” i Narzędzie dyskowe „Napraw uprawnienia” bez żadnych wyników. Dzięki opcji „Uprawnienia do naprawy” ciągle wyświetla ostrzeżenia informacyjne o nieoczekiwanych listach ACL, ale informacje, które mogłem znaleźć w Internecie, nie sądziły, że mogą powodować takie problemy.

Próbowałem rekurencyjnie uruchamiać niektóre skrypty wiersza poleceń w folderach użytkowników (zarówno zalogowanych jako root, jak i sudo). chmod dostał wiele błędów dotyczących błędnego właściciela plików. pokazane później dały mi inne błędy (nie pamiętam dokładnie, jakie były). W przypływie paniki kliknąłem prawym przyciskiem myszy cały folder użytkownika i postanowiłem zastosować jego uprawnienia do wszystkich dzieci.

Z tego, co mogę powiedzieć, kiedy to zrobiłem, ustawiłem wszystko na Odczyt i Zapis dla tego użytkownika i Tylko do odczytu dla „ wszystkich ” i „ pracowników ”. Teraz mam gorzej niż wcześniej. Firefox się zawiesił i nie może nawet zaktualizować własnych ustawień, więc przy każdym uruchomieniu wyświetla „Czy chcesz przywrócić te karty”, nawet po wielokrotnym powtarzaniu „Rozpocznij nową sesję”.

Zasadniczo wszystko w moim folderze użytkownika jest zepsute w odniesieniu do właściciela i uprawnień i muszę wiedzieć, co to powinno być. Kim powinien być właściciel plików w każdym katalogu (pliki do pobrania, aplikacje itp.) I jakie powinny być uprawnienia? Biorąc pod uwagę te uprawnienia i właścicieli, jaki jest najlepszy sposób na ustawienie ich w porządku?

Widziałem pytanie podobne do tego przy Resetowaniu uprawnień użytkownika do domyślnego trybu, ale dotyczy ono tylko uprawnień, a nie właścicieli, co już było problemem.

Nie jestem pewien, czy ponowne zainstalowanie systemu operacyjnego na kopii, którą mam teraz, naprawiłoby wszystko i jestem bliski skontaktowania się z pomocą techniczną Apple, jeśli nie będę w stanie dowiedzieć się niczego w ciągu kilku najbliższych dni. Dziękuję za wszelką pomoc.

cisellis
źródło
Czy przynajmniej zorientowałeś się, jak to się stało? Co konkretnie jest nie tak? ACL, metadane lub tradycyjne uprawnienia UNIX. Trudno jest objąć wszystko jedną odpowiedzią - zwłaszcza w razie potrzeby zresetować niezmienne bity.
bmike
Aby ułatwić rozwiązywanie problemów, zainstalowałbym system operacyjny na dysku zewnętrznym, uruchomiłem z niego i zamontowałem dysk „problemowy”, aby zignorować uprawnienia i sprawdzić, czy rsync lub coś pozwoli ci przywrócić pliki do czystszego stanu. Następnie możesz usunąć użytkownika i skopiować rzeczy z powrotem - szanując listę ACL nowego użytkownika i uprawnienia do folderów w ~ - ostrożnie przenosząc zawartość, ~/Library/a nie ~/Librarysiebie.
bmike
Nie jestem pewien, oprócz tego, co napisałem powyżej. Doceniam sugestie, ale nie jestem zaawansowanym użytkownikiem. Jeśli jest to bardziej skomplikowane niż kilka linii poleceń lub narzędzi, po prostu zrezygnuję i przywrócę dane z kopii zapasowej Time Machine.
cisellis
Dobry plan. W razie potrzeby możesz uzyskać pomoc technika po przywróceniu kopii zapasowej - zazwyczaj możesz mieć krótką listę rzeczy, które są przestarzałe lub których brakuje. Cieszę się, że masz kopię zapasową :-)
bmike

Odpowiedzi:

10

Pierwszym krokiem, który zalecam, jest próba zresetowania uprawnień do folderu domowego za pomocą narzędzia Resetuj hasło w programie Lion Recovery. (Pomimo nazwy narzędzia, tak naprawdę nie resetujesz żadnych haseł.)

Zresetowanie uprawnień do folderu domowego za pomocą narzędzia Resetuj hasło spowoduje zresetowanie zarówno właściciela, jak i uprawnień.

  1. Uruchom ponownie komputer Mac przytrzymując +, Raby uruchomić w programie Lion Recovery, co spowoduje przejście do ekranu narzędzi naprawczych.

  2. Otwórz Terminal z menu Narzędzia.

  3. W Terminalu resetpasswordotwórz, aby otworzyć narzędzie Resetuj hasło.

  4. Wybierz ikonę dysku twardego u góry, a następnie wybierz użytkownika z menu rozwijanego poniżej. Nie resetuj hasła tutaj.

  5. W dolnej części okna, w obszarze „Resetuj uprawnienia do katalogu domowego i listy kontroli dostępu” kliknij przycisk „Resetuj”. Może to chwilę potrwać, jeśli w folderze domowym znajduje się wiele plików.

To powinno rozwiązać problemy z uprawnieniami dla większości aplikacji. Możliwe jednak, że masz kilka aplikacji, które zapisywały pliki ze specjalnymi uprawnieniami, które różnią się od domyślnych uprawnień użytkownika (takich jak preferencje lub pliki obsługi aplikacji). W przypadku tych aplikacji może być konieczne usunięcie ich preferencji lub ponowna instalacja aplikacji.

Jeśli zresetowanie uprawnień do folderu domowego nie działa, może być konieczne przywrócenie z kopii zapasowej lub przeniesienie danych na dysk zewnętrzny.

joelseph
źródło
Próbuję tego teraz. Do tej pory działał przez około 12 godzin. Mam dużo plików: P
cisellis
To nie zadziałało. Operacja trwała ponad 48 godzin, zanim się poddałem i wyłączyłem. W pewnym momencie mogło się skończyć, ale nie było sposobu, aby powiedzieć.
cisellis
3

Uruchomić to

cd $HOME
{ sudo chflags -R nouchg,nouappnd ~ $TMPDIR.. ; \
sudo chown -R $UID:staff ~ $_ ; \
sudo chmod -R -N ~ $_ ; \
sudo chmod -R 755 ~ $_ ; \
sudo chmod 700 Desktop Documents Downloads Dropbox Library Movies Music Pictures Sites $_ ; \
sudo chmod 777 Public ; \
sudo chmod 733 Public/Drop\ Box ; \
} 2> /dev/null
Davidcondrey
źródło
Dokładnie tego szukałem! Działa, jeśli możesz zalogować się do danego użytkownika, a ten użytkownik jest także administratorem. Co powiesz na naprawę katalogu domowego innego użytkownika z innego konta? (użytkownik z problemami z uprawnieniami może, ale nie musi być administratorem)
nie
Uruchom ponownie komputer za pomocą kombinacji klawiszy startowych Cmd + R, aby otworzyć Narzędzie naprawy, otwórz Terminal w menu Narzędzia, użyj polecenia resetpassword, wybierz dysk twardy i odpowiednie konto użytkownika z rozwijanego menu, które się otworzy, wybierz zresetuj, aby zresetuj uprawnienia do katalogu domowego i listy ACL wybranego konta użytkownika.
davidcondrey
2

Twoje problemy są w zasadzie takie same. Nie ma standardu uprawnień do plików w katalogu domowym, wszystkie zależą od ich wykorzystania.

Naprawianie aplikacji i skryptów uprawnień oraz instalacji systemu operacyjnego w ogóle nie powinno wpływać na obszar użytkownika, z wyjątkiem może zmiany uprawnień w katalogu domowym. Instalacje systemu operacyjnego i większość skryptów uprawnień do naprawy porównuje uprawnienia i właścicieli z wymaganiami wymaganymi do czystej instalacji, a nie ma to normalnych użytkowników. Gdyby tak było, uważałbym to za poważny błąd.

Rozwiązaniem jest zmiana właściciela plików, tj. Użycie chown w katalogu domowym. Właścicielem powinna być nowa nazwa właściciela.

Nie ma ogólnego sposobu na odzyskanie uprawnień, ponieważ poszczególne pliki zależą od aplikacji, a wszystkie aplikacje mogą być różne.

Dlatego jedynym sposobem jest przywrócenie z kopii zapasowej przed zmianą - wykonaj zmiany zgodnie z notatkami Apple, a następnie przejrzyj wszystkie pliki. Lub spójrz na każdy pojedynczy plik i ustal, jakie uprawnienia powinien on mieć - dla większości plików twój katalog domowy powinien być do odczytu / zapisu dla właściciela i nic (lub tylko do odczytu) dla innych. Katalogi będą również musiały uzyskać uprawnienia do wykonania, aby można je było wyświetlić na liście. Aplikacje będą wymagały innych uprawnień.

użytkownik151019
źródło
Dobrze. Właśnie sprawdziłem mój katalog domowy i tak wiele 777katalogów i się martwiłem.
nyxee
@nyxee, który jest dziwny Spodziewałbym się 755 lub 700
użytkownik151019
bardzo .... Zacznę edycję uprawnień jeden po drugim bardzo powoli ..
nyxee
1

Z kilkoma użytkownikami mieliśmy te same problemy. Po bezskutecznym wypróbowaniu wszystkiego, co dotyczy ustalania uprawnień, znaleźliśmy rozwiązanie. Dla jasności problematycznym użytkownikiem jest John Doe, a konto użytkownika (i katalog domowy) nazywa się „johndoe”.

  1. Upewnij się, że użytkownik root jest włączony. Wyloguj
  2. Zaloguj się jako root i zrób kopię zapasową folderu domowego johndoe (utworzenie kopii zapasowej folderu domowego jest opcjonalne, ale zdecydowanie zalecane, jeśli coś pójdzie nie tak)
  3. Otwórz Preferencje systemowe / Użytkownicy i grupy
  4. Usuń użytkownika johndoe - zostaniesz zapytany, co zrobić z katalogiem domowym johndoe
  5. WAŻNE: Wybierz NIE, aby usunąć katalog
  6. Przejdź do / Users i zauważ, że nazwa folderu johndoe została zmieniona na „john doe (usunięty)”; zmień nazwę katalogu domowego z powrotem na „johndoe”
  7. Wróć do Preferencji systemowych / Użytkowników i grup i ponownie utwórz konto Johna Doe
  8. WAŻNE: upewnij się, że nazwa konta użytkownika to „John Doe” lub dokładnie to, co nazwałeś katalogiem domowym w kroku 6
  9. Zostaniesz zapytany, czy katalog domowy o tej nazwie już istnieje i czy chcesz skorzystać z istniejącego katalogu domowego
  10. Wybierz tak
  11. Uruchom ponownie i zaloguj się jako John Doe
pocho
źródło
Po prostu chcę Ci podziękować. Działało
Steve Samuels
0

Dodaję jedną odpowiedź, aby rozwiązać wszystko. Cokolwiek zrobiłem z uprawnieniami, było to całkowicie przekręcone. Próbowałem pierwszej odpowiedzi, uruchamiając się w trybie odzyskiwania i resetując uprawnienia za pomocą metody resetowania hasła, ale działało to przez 48 godzin, zanim go zabiłem i nie miało zauważalnego efektu. Próbowałem przywrócić z Time Machine, ale to też wybuchło i nie udało mi się przywrócić kopii zapasowej.

Skończyło się tworzenie kopii zapasowej wszystkiego ręcznie na dysku zewnętrznym, formatowanie całego dysku i ponowna instalacja Lion, ponowna instalacja wszystkiego ręcznie oraz kopiowanie moich danych osobowych, takich jak biblioteka iPhoto i biblioteki iTunes, z powrotem ręcznie. iPhoto musiał naprawić bibliotekę, ale działał dobrze i nie miałem problemów. iTunes nie mógł dodać żadnej muzyki do biblioteki, dopóki nie użyłem Narzędzia dyskowego do naprawy uprawnień ponownie. Ponieważ skopiowałem tylko katalog iTunes Media, a nie katalog macierzysty, wydawało się, że wszystko naprawiło.

Morał tej historii: Zapomnij o Apple, nie zmieniaj nazw użytkowników.

cisellis
źródło
0

To wcale nie jest problem z uprawnieniami! Nic, co zrobisz z uprawnieniami, nie naprawi tego, ponieważ uprawnienia są już ustawione na odczyt / zapis, co jest tak liberalne, jak to tylko możliwe.

To problem właściciela; system jest zdezorientowany, kto jest właścicielem pliku i nie może rozwiązać problemu z dylematem. Dodaj siebie jako nowego właściciela, daj sobie uprawnienia do odczytu / zapisu, a następnie usuń obrażającego użytkownika „pobierającego”.

Gib Henry
źródło
0

Funkcja resetowania uprawnień narzędzia dyskowego nie wpływa na katalog domowy, więc tutaj nie będzie działać. Ale ma także drugie , ukryte narzędzie do resetowania uprawnień do katalogu domowego. Używasz go z terminala, w ten sposób:

diskutil resetUserPermissions / $(id -u)

(Źródło: https://support.apple.com/en-us/HT203538 )

SilverWolf - Przywróć Monikę
źródło