Hur man ändrar ägare rekursivt på Linux

Chown är ett kommando på Linux som används för att ändra ägaren till en uppsättning filer eller kataloger.

Chown har flera alternativ och används ofta för att ändra den grupp som äger filen.

I vissa fall kan du dock behöva ändra ägaren till en katalog med alla filer i den.

För det kan du behöva använda ett av alternativen i chown-kommandot : recursive chown.

I den här handledningen får du lära dig hur du kan använda chown-kommandot rekursivt för att ändra mappar och filers behörigheter rekursivt.

Innehållsförteckning

Chown rekursivt

Det enklaste sättet att använda kommandot chown rekursivt är att exekvera ”chown” med ”-R”-alternativet för rekursivt och ange den nya ägaren och de mappar som du vill ändra.

$ chown -R <owner> <folder_1> <folder_2> ... <folder_n>

Om du till exempel vill ändra ägaren till kataloger och filer som finns i en viss användares hemkatalog skriver du

$ chown -R user /home/user

Note : om du behöver en komplett guide om chown-kommandot så har vi skrivit en utförlig guide om filbehörigheter i Linux.

Chown User and Group Recursively

För att ändra användaren och gruppen som äger kataloger och filer måste du exekvera ”chown” med alternativet ”-R” och ange användaren och gruppen separerade med kolon.

$ chown -R <user>:<group> <folder_1> <folder_2> ... <folder_n>

Till exempel, låt oss säga att du vill ändra användaren som äger filerna till ”user” och gruppen som äger filerna till ”root”.

För att uppnå detta skulle du köra följande kommando

$ chown -R user:root /home/user

Grattis, du har lyckats använda kommandot ”chown” rekursivt för att byta ägare på din server!

Chown rekursivt med hjälp av find

Ett annat sätt att använda kommandot ”chown” rekursivt är att kombinera det med kommandot ”find” för att hitta filer som matchar ett givet mönster och ändra deras ägare och grupper.

$ find <path> -name <pattern> -exec chown <user>:<group> {} \;

Till exempel kan vi säga att du vill ändra ägaren till alla TXT-filer som finns i en viss katalog på din server.

För det första är det mycket rekommenderat att utföra kommandot ”find” ensamt för att verifiera att du matchar rätt filer.

I det här exemplet ska vi matcha alla TXT-filer i den aktuella användarens hemkatalog.

$ find /home/user -name *.txt

När du nu har försäkrat dig om att du riktar in dig på rätt filer kan du binda det med ”chown” för att rekursivt ändra behörigheter.

$ find /home/user -name *.txt -exec chown user {} \;

Som du kan se ändrades ägaren till TXT-filerna, men ingen av de andra filerna och katalogerna ändrades.

Var försiktig med rekursivt chown

På Linux är det definitivt att utföra kommandon som chown, chmod eller rm : det finns ingen återvändo.

Som en följd av detta måste du vara mycket försiktig så att du inte utför några kommandon som skadar ditt system.

Denna punkt illustreras i föregående avsnitt : vi körde kommandot find ensamt och försäkrade oss om att det var rätt resultat.

Därefter utförde vi kommandot chown för att rekursivt ändra filernas behörigheter från det föregående kommandot.

En tumregel : om du inte är säker på resultatet av ett kommando, dela upp det i mindre bitar tills du är säker på att du inte exekverar något skadligt.

Slutsats

I den här handledningen har du lärt dig hur du kan exekvera kommandot chown rekursivt på ditt system.

Du lärde dig att du kan åstadkomma det genom att använda alternativet ”-R” eller genom att kombinera det med kommandot find.

Linuxbehörigheter är ett brett ämne : vi uppmuntrar dig verkligen att ta en titt på vår kompletta guide om Linuxbehörigheter om du vill lära dig mer.

Om du är intresserad av Linux-systemadministration har vi ett helt avsnitt om detta på webbplatsen, så se till att kolla in det!

Lämna en kommentar