Przypadkowo wykonałem polecenie chown -R root / podczas próby zmiany uprawnień do publicznego folderu mojej aplikacji railsowej. Wierzyłem, że to zmieniło uprawnienia do wszystkich moich folderów w katalogu /. Więc moje pytanie brzmi: jak niebezpieczne jest to, w rzeczywistości byłoby lepsze pytanie, czy można to cofnąć?
linux
unix
permissions
filesystems
chmod
użytkownik1938700
źródło
źródło
find
wszystkie pliki należące do katalogu głównego, w których grupa nie jest odpowiednia, i wyświetl je wszystkim użytkownikom pasującym do grupy. Rejestruj awarie i usuwaj je indywidualnie.Odpowiedzi:
Jednym ze sposobów na złagodzenie problemu tutaj (nie można go rozwiązać, ale pomóc ci wyjść z dziury) jest uruchomienie procesu w podobnym systemie w celu zebrania odpowiednich praw własności do plików. Rozumiem, że szanse na dokładne dopasowanie są nieco niewielkie, ale jeśli oba O / S są na tym samym poziomie z zainstalowanymi podobnymi pakietami, możesz mieć szczęście.
Po zebraniu uprawnień do pliku możesz uruchomić proces we własnym systemie, aby odczytać pliki i uprawnienia / prawa własności z dobrego i zastąpić je w twoim. Mam kilka małych domowych aplikacji na Linuksa, które właśnie to robią.
Na przykład
RWX * UID * GID * inne rzeczy * katalog * nazwa pliku
źródło
Przede wszystkim zatrzymaj polecenie, jeśli nadal działa!
Teraz wszystko będzie należeć do roota, co jest dość problematyczne.
Powinieneś spróbować przywrócić informacje z najnowszej kopii zapasowej.
Ważne jest również, aby nie restartować systemu przed sprawdzeniem wszystkich uruchomionych aplikacji i uruchomieniem ich przez użytkownika podczas rozruchu. Jeśli to zrobisz, niektóre z nich mogą nie zostać poprawnie uruchomione z powodu problemów z uprawnieniami.
Powodzenia.
źródło
Bardzo i niezupełnie.
„Bardzo” w tym sensie, że jeśli polecenie rzeczywiście zostało wykonane, twoje bezpieczeństwo jest zepsute. Nie wiesz teraz, które ścieżki mają właścicieli i komu należy zezwolić.
„Niezupełnie” w tym sensie - czy na pewno byłeś rootem, kiedy to zrobiłeś i czy polecenie dobiegło końca? Jeśli anulowałeś go, jak tylko go zobaczysz, możesz mieć szczęście, a naprawa może być niska. Jeśli nie byłeś rootem, to polecenie nie powinno być w stanie tego zrobić, chyba że zrobiłeś coś podobnego
sudo ...
.Nie ma na to jednego lekarstwa. Jeśli masz kopię zapasową, możesz ją przywrócić. Może być konieczne sprawdzenie własności kopii zapasowej i zastosowanie ich. Jeśli korzystasz z kontrolera rootkitów (powiedzmy rkhunter), może on zawierać listę najbardziej podstawowych własności i być może będzie w stanie go naprawić. (Niezbyt prawdopodobne).
źródło
Przynajmniej w Fedorze komenda RPM ma opcje
--setperms
i--setugids
za ich pomocą można naprawić większość plików należących do systemu, takich jakrpm --setugids -a
. Aby (nieco) naprawić pliki dla każdego użytkownika, możesz zrobić dla każdego z nichchown -R user /home/user
. Prawdopodobnie pozostaną resztki, które nie zostały naprawione przez powyższe, szczególnie jeśli masz jakiś serwer (web, ftp, inne), będą musiały być przetwarzane jeden po drugim.Prawdopodobnie inne dystrybucje mają podobne mechanizmy. Lub wykonaj pełne odświeżenie (tj. Zainstaluj wszystko od nowa, jakby to było jakoś uszkodzone. OK, to było jakoś uszkodzone).
[Tak, jest to po raz kolejny dość okrutny sposób nauczania niczego niepodejrzewających użytkowników uniksowego podejścia do każdego polecenia przed naciśnięciem ENTER i oszczędnego korzystania z roota . Uważaj się za nauczonego.]
źródło
setuid
isetgid
uprawnienia należy ustawić ręcznie.rpm
nie przywróci ich.Jeśli używasz systemu OSX Apple oferuje funkcję przywracania w Narzędziach dyskowych, aby rozwiązać ten bardzo problem. Jeśli używasz dystrybucji Linux, jestem całkiem pewien, że będziesz musiał ręcznie przywrócić wszystkie uprawnienia. W obu przypadkach uderz w ręce i nie rób tego więcej
źródło
Niestety nie wiem, jak to cofnąć, ale prawdopodobnie możesz zostawić pliki systemowe jako własność root i przywrócić wszystkie pliki w $ HOME, które są Twoją własnością (i zrobić to samo dla wszystkich użytkowników system). W tym momencie możesz naprawić uprawnienia i / lub właściciela dla każdego pliku, który nie znajduje się w katalogu $ HOME, który go potrzebuje, gdy się pojawi. Tak, to jest ból, ale nie sądzę, że można to łatwo naprawić. Tak i tak bym zrobił.
źródło
Powiedziałbym, że jak mówisz, jesteś „pieprzony”. Najlepszym sposobem (i najbardziej wydajnym) jest ponowna instalacja i przywracanie krytycznych elementów z dobrych kopii zapasowych. Niestety nie jest to sytuacja, która generalnie ma szybkie rozwiązanie ze szczęśliwym zakończeniem. Powodzenia!
źródło