Chown rekurencyjnie zmienił uprawnienia

34

Uruchomiłem polecenie chown w katalogu:

chown -R user:user {.,}*

{.,}*Jest używany mvi cpobejmuje zarówno ukryte i wymienione pliki. Teraz polecenie to przeszło i zmieniło te dwa pliki w moim katalogu, ale musiałem je przerwać, aby przestało działać, ponieważ działało. Teraz obawiam się, że zniknął i zmienił uprawnienia do innych plików i folderów, ponieważ nie wygasł.

nicoX
źródło

Odpowiedzi:

46

Używając {.,}*, podałeś zarówno ./i ../. Wraz z -Ropcją twoje chownpołączenie miało przeglądać cały system plików (i inne, prawdopodobnie zamontowane), przechodząc ../. W przypadku innych poleceń ten mały błąd może być śmiertelnie niebezpieczny, ale uwierz mi, nie jesteś pierwszy i nie będziesz ostatni ...

Ponieważ ta operacja jest dość ciężka, Twoje chownpołączenie zostało zawieszone, ponieważ miało wiele plików do przetworzenia. Sugeruję, abyś wrócił do katalogu, w którym wykonałeś połączenie i wrócił stopniowo, /aby zobaczyć, jakie zmiany zostały wprowadzone. Możesz być w stanie zastosować szybką poprawkę, wykonując:

chown root:root /* # Set ownership to root for all directories in /.
chown you:yourgroup /home/you -R # Take your home back.

W systemie Ubuntu /homekatalog jest przekazywany pierwszemu użytkownikowi (admin / sudo) zarejestrowanemu w systemie. Jeśli jesteś jedynym użytkownikiem, możesz chcieć:

chown you:yourgroup /home -R

Wystarczy proste chmod 755włączenie /home, nawet jeśli należy do roota.

Rzut oka na /(w tym same uprawnienia roota ls -ld /) również byłby dobrym miejscem do rozpoczęcia. Sugeruję, aby upewnić się, że /należy do roota, z ustawionymi uprawnieniami 755.

Jeśli chownustawiłeś bardzo określoną własność (użytkownik inny niż ty lub root, rzadka grupa, ...), możesz chcieć użyć finddo wyszukiwania chownplików -ed.

find / -user {username}
find / -group {groupname}

Niestety nie ma czegoś takiego jak undoto, co zrobiłeś. Linux naturalnie nie śledzi tych „przypadkowych” operacji.

Aby uzyskać więcej informacji na temat tego, co próbujesz osiągnąć, zapoznaj się z tym pytaniem SuperUser .

John WH Smith
źródło
Mój katalog główny wydaje się być dobry. Jest własnością root.
nicoX
Musiałeś wtedy zabić chownna czas, ale sprawdzaj dalej, przechodząc od katalogu, w którym został wykonany chown, do katalogu głównego.
John WH Smith
Czy problem polegał na tym, że użyłem flagi -R? I w jaki sposób możesz zmienić właściciela w jednym poleceniu zarówno dla plików ukrytych, jak i wymienionych na liście.
nicoX
2
Zobacz link, który dodałem na końcu mojej odpowiedzi. Problem -Rpolegał na tym, że przejrzałeś ..również rekurencyjnie , co ostatecznie doprowadziło cię do zmiany całego drzewa plików z /deep/directory/where/you/chownedna /.
John WH Smith