OSTRZEŻENIE - NIE URUCHAMIAJ WYMIENIONEGO KOMENDY
Wygląda więc na to, że zrobiłem coś głupiego, delikatnie mówiąc. Próbowałem zmienić uprawnienia do kilku plików w katalogu, z których wszystkie zaczynały się .
od odczytu / zapisu tylko dla sudo / root.
Wydaje mi się, że moja próba zmiany kilku plików naraz zrobiła coś okropnie globalnego. Będąc w katalogu (nie byłam w katalogu głównym), biegnąłem sudo chmod 600 .*
i dobrze, teraz piszę to z mojego telefonu ... W tej chwili mam otwarte okno terminala, ale jestem całkiem pewien, czy laptop pójdzie spać, jestem całkowicie skończony. Zabawne, że oznacza to, że pytanie jest pilne.
Aha, i wydaje się, że to zmieniło uprawnienia cholernie blisko wszędzie, jak się domyślam. Nie mogę nawet uruchomić poleceń ls
lub cd ..
. Próba błędu cd /home/brian
lub cd ~
podanie błędu bash: cd: /home/brian: Permission Denied
i każda próba sudo
polecenia mówi tylkobash: /usr/bin/sudo: Permission Denied
Obawiam się, że uruchomię się ponownie, nie mam pojęcia, czy coś jest wbudowane w odzyskiwanie po czymś tak głupim, ale pomyślałem, że spróbuję zapytać tutaj przed pogorszeniem sytuacji. Jestem całkiem nowym Linuksem, ponieważ mój główny system operacyjny przekonwertował i ostatnio trochę go popierałem, ale och, ten trochę mnie gryzie. Wszelkie przemyślenia na temat rzeczy do spróbowania byłyby niezmiernie docenione.
EDYCJA: Chciałem wyjaśnić, w jaki sposób / gdzie to polecenie zostało wykonane. Zostało to wykonane z /.atx $
dowolnego katalogu, ale więcej szczegółów poniżej.
Gdy byłem zalogowany jako moja zwykła nazwa użytkownika brian
, miałem otwarty terminal, /.atx
który zawierał trzy pliki tylko tekstowe typu konfiguracyjnego. Każda nazwa pliku zaczyna się od .
. Ten katalog / nazwa / pliki nie są częścią wspólnego pakietu, tylko arbitralny zestaw konfiguracji, które programowo poruszałem. Pliki zawierały informacje o ciągach połączenia z serwerem SQL i po prostu chciały je częściowo zasłonić.
źródło
/root
nie/
byłeś w nim, kiedy to zrobiłeś (z tego, co widzę w twoim pytaniu), co oznacza, że twój.*
globalny przechwycony/root
folder (.
odniesienia do bieżącego katalogu roboczego) wraz ze wszystkimi plikami / katalogami które zaczynają się od wiodącej kropki. Nie jestem pewien, czy istnieje sposób, aby to zmienić w systemie, ale prawdopodobnie można uruchomić komputer z USB na żywo i stamtąd cofnąć. Nie traktuj tego jednak jako 100% odpowiedzi, tylko myśl..*
twoje polecenie rozszerzyło się..
o katalog nadrzędny katalogu, w którym byłeś. Na przykład, gdybyś tam był,/home/brian
uprawnienia/home
byłyby ustawione na 600 i nie miałbyś uprawnienia do przeglądania/home
katalogu. Czy możesz w swoim otwartym terminalu wykonaćls -ld /*
Odpowiedzi:
Uff, rekonwalescencja tutaj była właściwie płynniejsza niż się spodziewałem i wszystko znów wydaje się być w całkiem niezłej formie.
Ogromne podziękowania dla @CharlesGreen za wyjaśnienie, w jaki sposób to polecenie rozszerzyło katalog. Również dzięki @Panther za informacje na temat przejścia do trybu odzyskiwania w przypadku nieco pokrewnego problemu. (jeśli oboje chcesz ponownie udostępnić swoje komentarze jako odpowiedzi, głosuję za nimi)
Na szczęście, w przeciwieństwie do połączonego postu, wydaje się, że miało to bardzo proste rozwiązanie. Wydaje się, kiedy wpadłem
sudo chmod 600 .*
polecenia tylko z jednego katalogu pod/
to rozszerzył.*
część aż do prawdziwych uprawnień zmieniających katalogu głównego.
z/
powodując co drugi uprawnienie do przewrócić.„Poprawka” polegała na tym, aby uruchomić komputer w trybie odzyskiwania, ponownie zamontować dysk w trybie odczytu / zapisu, przechodząc do głównego roota (
cd /
), a następniechmod +rx .
. Po ponownym uruchomieniu wszystko wygląda na normalne.Morał tej historii, wykonanie polecenia
.*
może przynajmniej czasami wpłynąć na katalog PONAD bieżący. Chciałem wpływać tylko na pliki, które zaczęły się od.
... ups.Ogromne podziękowania dla wszystkich, którzy skomentowali i pomogli.
źródło
..
pasuje do.*
glob..
lub..
jest rozszerzany.*
.Dla przyszłych czytelników, którzy mogą uznać to za przyjętą odpowiedź, istnieją obawy związane z
chmod +x
rozwiązaniem jako rozwiązaniem ogólnym. Wydaje się, że to konkretne pytanie było katalogiem osobistym użytkowników, więc niektóre z poniższych obaw mogą być niskie, ale jeśli zostało to zastosowane do serwera biznesowego i wpłynęło na wielu użytkowników lub inne katalogi danych, rozwiązanie nie jest sugerowane.Z drugiej strony krok ten pozwoliłby użytkownikowi odzyskać dostęp do plików, dzięki czemu można je skopiować na nośnik kopii zapasowej, aby zapobiec dalszej utracie. I na koniec dnia jest to główny cel podczas odzyskiwania danych.
Największym problemem jest to, że oryginalne pliki mogły mieć określone uprawnienia, których obecnie brakuje. Niektóre programy - szczególnie ssh - wymuszają uprawnienia do plików, aby dodatkowo zapewnić ich bezpieczeństwo i nie będą działać, jeśli
+rw
zezwolenie zostanie ustawione na jego folder i pliki.Innym problemem jest to, że jeśli zostanie to zastosowane w
/
folderze root ( ) rekurencyjnie, będą inne pliki, które mogą być otwarte dla każdego w systemie do przeglądania i modyfikowania. W otoczeniu biznesowym, w którym serwer może zawierać poufne dane (dane PCI / finansowe lub opieka zdrowotna / HIPAA), dostęp ten może prowadzić do ustaleń audytu i następstw.W środowisku osobistym / domowym odzyskiwanie jest prawdopodobnie całkowicie akceptowalne. Pamiętaj tylko, że niektóre rzeczy mogą zostać po cichu złamane lub działać dziwnie.
W środowisku biznesowym można użyć tego odzyskiwania do odzyskania dostępu do danych, ale ostatecznie każda taka dramatyczna zmiana powinna zostać rozwiązana poprzez ponowną instalację serwera i odzyskanie z kopii zapasowej.
( Masz aktualną kopię zapasową, prawda? ;-) )
źródło
/
i nie spadały kaskadowo do innych katalogów. Warto również zauważyć, że był to tylko mój osobisty laptop i chociaż mogłem stracić część dnia pracy (jeszcze nie pchałem git push), byłoby to bardzo kłopotliwe i irytujące, aby ponownie zainstalować mojego „użytkownika” związanego Aplikacje. Gdyby był to jakikolwiek serwer, generalnie zgodziłbym się, mniej czasu i wysiłku, aby po prostu wyczyścić / odbudować.