Nie mogłem zalogować się na swoje konto „admin” i Alt+ Ctrl+ F1pokazał, że wszystkie moje pliki były własnością mojego „standardowego” użytkownika. Dziwny.
Więc ostrożnie zmieniłem /home/admin
i zrobiłem
sudo chown -R admin:admin *
(i .*
też).
Wspaniały.
Wtedy nie mogłem się zalogować jako „standardowy” użytkownik i okazuje się, że wszystkie pliki /home/standard
były teraz własnością „administratora”.
Całkiem humorystyczne. Dlaczego to się dzieje?
sudo chown -R standard:standard /home/standard/*
zrobił to samo, zmienił się /home/admin
również /home/standard
.
Jestem bardziej zdezorientowany niż zwykle, ponieważ próbowałem uaktualnić do 15.04 i to prawie zniszczyło mój komputer, więc przywracam 14.04, proszę o cierpliwość.
command-line
chown
DavidP
źródło
źródło
ls -l /home
powieszOdpowiedzi:
Przyczyną tego problemu jest uruchomienie:
Wiemy, że
.
wskazuje bieżący katalog i..
wskazuje katalog nadrzędny. Po uruchomieniu polecenia za pomocą.*
, oznacza to po prostu, że pasuje do dowolnego ukrytego pliku w bieżącym katalogu (oznaczonym za pomocą.
), samego katalogu bieżącego (.
), katalogu nadrzędnego (..
). Po prostu umieść wszystko po.
(*
oznacza 0 lub więcej znaków). W rezultacie katalog macierzysty wraz ze wszystkimi jego katalogami potomnymi zostajechown
przeniesiony doadmin:admin
.Spójrz na ten test:
Aby przywrócić z powrotem, musisz ponownie przejść
chown
do katalogów, których dotyczy problem.Nie jestem pewien, jaki był twój plan, ale oto kilka pomysłów:
Do
chown
dowolnego katalogu rekurencyjnie (w tym ukrytych plików):Aby
chown
tylko pliki (w tym pliki ukryte) w tym katalogu (a nie sam katalog):Do
chown
tylko nie ukrytych plików (bez samego katalogu):źródło
Myślę, że jest to parametr „. *” Dla plików; pasujące do wszystkiego zaczynającego się od „.”, w tym „.” oraz pliki „..”. „..” to katalog nadrzędny, który zawiera wszystko pod nim.
Najlepszym sposobem jest utworzenie kopii zapasowej jednego folderu i określenie rzeczywistego folderu, który chcesz zmienić (/ home / admin).
źródło