Jak zmienić właściciela na bieżącego użytkownika w folderze i folderach wewnątrz mojego katalogu domowego?
12
Za pomocą sudo nautilusutworzyłem niektóre foldery i chcę pozbyć się na nich uprawnień roota. Ale mam wiele i chcę to zrobić dla całego katalogu i jego folderów.
Jak więc zezwolić na odczyt / zapis aktualnemu użytkownikowi do wszystkich plików i folderów w określonym katalogu znajdującym się w domu?
Aby przywrócić szkody wyrządzone przy użyciu sudo nautilus, powinieneś zostać właścicielem wszelkich katalogów (i ich zawartości), które są własnością root.
Możesz findto zrobić, ponieważ ma test, aby znaleźć tylko pliki należące do określonego użytkownika.
W ten sposób znajdziesz wszystkie katalogi w twoim domu należące do roota:
sudo find ~ -type d -user root
Następnie możesz powtórzyć findpolecenie i dodać akcję, którą chcesz wykonać - rekurencyjnie zmieniając własność wszystkich znalezionych katalogów i ich zawartości do bieżącego użytkownika:
-exec wykonaj następujące polecenie na tym, co znaleziono
sudo chown -R rekurencyjnie zmieniaj właściciela
$USER aktualny użytkownik
: również zmień grupę na konkretnego użytkownika
Bardziej efektywnie, można pominąć -type d, aby znaleźć pliki dowolnego typu należące do korzeni, a także pominięcie -Rjak findzrobi rekursji dla ciebie, działając na wszystkie pliki
Musisz uruchomić swoją za findpomocą sudo( sudo find ...), aby sprawdzić rootposiadane podkatalogi z 0700zabezpieczeniami i wszystko pod nimi. To samo dotyczy naprawy.
waltinator,
„bronić się przed tym, co prawdopodobne” czy „bronić się przed tym, co jest możliwe”? Twój wybór.
waltinator
@waltinator na pewno :) dzięki za wzmiankę o tym, bym mógł poprawić Po prostu staram się nie używać, sudodopóki nie będzie potrzebna
Zanna
10
Uruchamianie narzędzi graficznych, podobnie nautilusjak rootzostało uznane za niebezpieczne z tego powodu, między innymi (ukryte funkcje, możliwość dyskretnego fragmentów programu realizowanego od kto wie gdzie, ...).
Nie masz problemu z „pozwoleniem”, masz problem z „własnością”.
Aby znaleźć wszystkie pliki należące do root(naprawdę należącego do kogokolwiek innego):
sudo find $HOME \! -user $USER
Aby zmienić własność z powrotem na ciebie, możesz
sudo chown -R $(id -u):$(id -g) $HOME
ale to zmieni własność wszystkich plików do i poniżej $HOME
sudo find $HOME \! -user $USER >/tmp/list-of-files
# edit the list of files, and delete file files you don't want to chown
nano /tmp/list-of-files
xargs sudo chown $(id -u):$(id -g) </tmp/list-of-files
Daje to możliwość dostosowania listy plików, które nie należą do Ciebie, i których własność zostanie zmieniona.
To, co musisz zrobić, to zmienić własność folderu z użytkownika root (i grupy) na innego użytkownika (i grupę), którego chcesz.
Wyobraź sobie, że chcesz pracować na / home / randomFolder i że użytkownik, któremu chcesz zarządzać własnością, to vitor-abella , to po prostu wykonaj to jako root:
find
pomocąsudo
(sudo find ...
), aby sprawdzićroot
posiadane podkatalogi z0700
zabezpieczeniami i wszystko pod nimi. To samo dotyczy naprawy.sudo
dopóki nie będzie potrzebnaUruchamianie narzędzi graficznych, podobnie
nautilus
jakroot
zostało uznane za niebezpieczne z tego powodu, między innymi (ukryte funkcje, możliwość dyskretnego fragmentów programu realizowanego od kto wie gdzie, ...).Nie masz problemu z „pozwoleniem”, masz problem z „własnością”.
Aby znaleźć wszystkie pliki należące do
root
(naprawdę należącego do kogokolwiek innego):Aby zmienić własność z powrotem na ciebie, możesz
ale to zmieni własność wszystkich plików do i poniżej
$HOME
Daje to możliwość dostosowania listy plików, które nie należą do Ciebie, i których własność zostanie zmieniona.
źródło
To, co musisz zrobić, to zmienić własność folderu z użytkownika root (i grupy) na innego użytkownika (i grupę), którego chcesz.
Wyobraź sobie, że chcesz pracować na / home / randomFolder i że użytkownik, któremu chcesz zarządzać własnością, to vitor-abella , to po prostu wykonaj to jako root:
Może być trochę czasu, jeśli jest dużo plików i podfolderów, ale potem powinieneś być na dobrej drodze.
Twoje zdrowie.
źródło
$(id -u):$(id -g)
zamiast prosić OP o wyobrażenie sobie i$HOME/randomFolder
.