Datorrelaterade steg för steg guider

LINUX / UNIX Filrättigheter - chmod - chown - Så här fungerar det

Som nykommling i UNIX / LINUX miljö stöter man ofta på rättighetsbekymmer. För en van Windowsanvändare är detta ett mysterium, och många svär över operativsystemets struktur och dessa eländiga filrättigheter hit och dit, och du förstår säkert inte varför allt ska krånglas till så här. Men det är lite de som är hela grunden i UNIX / LINUX sägerhet, och det är inte så krångligt om man förstår sig på det hela. Där av har vi skrivit denna lilla enkla filrättighets guide, så att du enkelt framöver kommer förstå filrättigheterna och inte mins själv kunna dela ut dom och slippa allt krångel som du förmodligen upplevt om du läser den här guiden.

LINUX / UNIX Filrättigheter - Så här fungerar det.

chmod

Om du listar filerna i valfri katalog med komandot ls -l så får du en prydlig överskådlig lista av filerna och katalogerna i den aktuella katalogen. Om du sedan kikar på de enskilda filerna så är de tilldelade rättigheter enligt detta:

En fil i UNIX / LINUX tilldelas rättigheter på följande sätt:

Exempel på en listad fil:

-rwzrwxrwx 1 kalle root 30124 jul 13 19:42 filnamn.txt

i texten -rwxrwxrwx kan du se rättigheterna till filen. Det är uppdelat så här:

filrättighet |  1 |  grupp | storlek | datum | klockslag  filnamn.txt

Nu ska vi definiera vad -rwxrwxrwx betyder och det är inte raketforskning. ( - = inget | r = läsa | w = skriva | x = exekvera "köra" ) Du kan börja med att dela upp det hela i 4 delar så här: "- rwx rwx rwx" Det första vi ser i raden är "-" det definierar om det handlar om en katalog (directory) eller inte, och det är det ju inte så därför står det "-". Är det en katalog (directory) står det d. De nästkommande 3 teknena är ägarens rättigheter, och i detta fall får ägaren läsa, skriva & exekvera. De nästkommande 3 rwx definierar gruppens rättigheter. Det betyder att gruppmedlemmar i gruppen "kalle" och gruppen "root" får läsa, skriva & exekvera. De tre sista definierar "andra" altså utomstående som inte har en tilldelad grupp eller ett användarkonto på den aktuella maskinen, och i det här fallet får de också läsa, skriva & exekvera. För att ge en fil dessa rättigheter skriver man: chmod 777 filnamn.txt. Nu tänker du säker: "777" ?? första 7an är "ägarens rättigheter", nästa 7a är "gruppens rättigheter" och sista 7an är "andras rättigheter", och det fungerar så här:

r = 4
w = 2
x = 1

r+w+x = 4+2+1 = 7

Du kan tilldela alla filer i en katalog rättigheter samtidigt med kommandot chmod ### *. Du kan även tilldela alla filer och underkataloger i en katalog rättigheter med kommandot chmod -R ### /säkväg/till/katalogen. ### är dina önskade rättigheter enligt ovan.

chown

Om du listar filerna i valfri katalog med komandot ls -l så får du en prydlig överskådlig lista av filerna och katalogerna i den aktuella katalogen. Om du sedan kikar på de enskilda filerna så är de tilldelade rättigheter enligt detta:

En fil i UNIX / LINUX tilldelas gruppbehörighet på följande sätt:

Exempel på en listad fil:

-rwzrwxrwx 1 kalle root 30124 jul 13 19:42 filnamn.txt

i texten kalle root kan du se grupptillhörigheten till filen. Det är uppdelat så här:

filrättighet |  1 |  grupp | storlek | datum | klockslag  filnamn.txt

Nu ska vi titta på gruppbehörigheten som i detta fall är "kalle root" detta definierar att kalle och root är ägare av filen och är tilldelad rättighet till den. Detta är helt meningslöst om du gett filen rättigheterna 777 med chmod enligt ovan, då vi sagt till filen att "andra" får läsa, skriva och exekvera den. Men har vi däremot gett filen rättigheterna 770 enligt ovan så får ingen annan än ägaren eller en gruppmedlem i gruppen/grupperna kalle och root skriva läsa eller exekvera filen. Du definierar grupptillhörigheten på en fil med kommandot chown grupp:grupp filnamn du kan ge alla filer i en katalog gruppbehörighet med kommandor chown grupp:grupp * eller om du vill tilldela en hel katalog med alla underliggande kataloger och filer gruppbehörigheten skriver du chown -R grupp:grupp /sökväg/till/katalog.

Tips!

Du kan se alla grupper genom att editera filen /etc/group med tex. kommandot nano /etc/group
Alla användare tilldelas automatiskt en grupp med deras användarnamn.
Du kan skapa en ny grupp med kommandot: groupadd gruppnamn
Du kan tilldela en befintlig användare gruppbehörighet i en befintlig grupp med kommandot usermod -a -G gruppnamn användarnamn
Du kan lägga till en användare till flera grupper med kommandot usermod -a -G grupp,grupp,grupp,grupp användarnamn
Du kan ändra en användares primära grupp med kommandot usermod -g gruppnamn användarnamn
Du kan lista grupperna en specifik användare är medlem i med kommandot groups användarnamn

Dela sida på

Submit to FacebookSubmit to Google PlusSubmit to TwitterSubmit to LinkedIn

Copyright © 2015. All Rights Reserved.