OPERATIVSYSTEM OCH PRAKTISK LINUX Föreläsning 5 – Vecka INNEHÅLL Filer Filtyper Filändelser Accessrättigheter för filer
Filer När man jobbar med datorer hanterar man alltid filer Även om det man gör inte ser ut att vara relaterad till en fil, utförs ändå en mängd operation på ett antal filer T.ex. Om vi loggar in på en Linux-dator sker bl.a. följande filrelaterade händelser: Visa filen /etc/issue.net Hämta information från filerena /etc/passwd, etc/shadow och /etc/group Visa filen /etc/motd Kör filerna /etc/profile samt /etc/bashrc. Ovannämnda exempel är långtifrån alla filer som hanteras vid inloggning!
Filtyper Om man hör ordet ”fil” tänker man vanligtvis på en helt ”vanlig” fil som innehåller t.ex. text, bild eller en film osv. I själva verket finns det många olika typer av filer förutom de ”vanliga” filerna. I Linux finns, förutom vanliga filer, bl.a. följande filtyper: Kataloger Enhetsfiler Länkade filer Socket/rörledningsfiler
Kataloger Är den nästvanligaste filtypen En fil som innehåller information om vad som finns i filhierarkin, dvs. vilka filer som finns i katalogen Katalogernas uppgift är att ”sortera” filerna i undergrupper.
Enhetsfiler Används för att representera en enhet, t.ex. hårddisk, mus, nätverkskort... Dessa typer av filer finns placerade bl.a. i /dev katalogen Alla enheter som är kopplade till ett Linuxsystem hanteras som filer Det finns två olika typer av enhetsfiler Teckenfiler Blockfiler
Enhetsfiler Teckenfiler är enheter som hanterar strömmar av data som tangentbord, bildskärmar, serieportar och skrivare Om man skickar text till en teckenenhet kommer texten att komma fram i andra änden, t.ex. cp /etc/passwd /dev/lp0 skriver ut hela lösenordsfilen på den lokal skrivaren lp0 Blockfiler är enheter som hanterar rådata, såsom hårddiskar, disketter och bandstationer
Länkdade filer Används när det finns behov av att en och samma fil eller katalog finns representerad på två eller flera platser i filsystemet Finns två typer av länkar: Symboliska länkar Hårda länkar En symbolisk länk är en fil som innehåller en referens till en annan fil. När den symboliska länken manipuleras sker ändringar i den fil som länken pekar på
Hårda länkar En hård länk är lite mera komplicerad. Skapar en ytterligare äkta pekare till en redan existerande fil. Går endast att skapa hårda länkar till filer som befinner sej på samma filsystem och samma partition Symboliska länkar kan skapas till filer som är lagrade på alla sorters volymer, även nätverksfilsystem
Kommandon för hantering av länkar: ln Används för att skapa en länk, syntax: ln Om man skapar en länk enligt syntaxen ovan får man två orginalfiler, dvs. blir en hård länk till den fil pekar på En symbolisk länk skapas genom att sätta till flaggan –s: ln –s
Socket/rörledningsfiler Det är väldigt sällan man stöter på lokala sockets (datakanaler) eller rörledningar i filsystemet Socket-filer och rörledningsfiler är olika sorters filer men har i huvudsak samma funktionelitet De fungerar som befordrare av trafik mellan två processer. Exempel på program som använder sej av socket-filer är fönsterhanteraren X-windows och syslog
Filändelser Många operativsystem har en uppbyggnad med filnamn + filändelse, där filändelsen talar om vad det är för sorts fil T.ex. I Windows måste (i princip) alla filer ha en filändelse för att operativsystemet skall kunna veta i vilket program en viss fil skall öppnas I Linux finns det inget sådant tvång, man ger filer de ändelser som man anser de bör ha eller ingen filändelse alls Vissa program kräver dock att en fil skall ha en viss ändelse för att den skall kunna behandlas Sådana program är bl.a. gzip och gcc
Sökvägar Med sökväg menas en fils placering i filhierarkins katalogstruktur Sökvägen är helt enkelt en angivelse om var i filträdet som en fil befinner sig. En sökväg kan anges på två olika sätt Absolut Relativ
Absoluta sökvägar En absolut sökväg till en fil är alltid samma oavsett var i filhierarkin man befinner sig Detta beror på att en absolut sökväg alltid utgår från filsystemets rotkatalog (/)
Relativa sökvägar En relativ sökväg utgår alltid från den katalog man befinner sig i ”just nu” I en relativ sökväg benämns innevarande katalog med en punkt (.) och föregående katalog med två punkter (..) Exempel: pico../home/karlssoj/dagbok.txt I exemplet ovan öppnas filen dagbok.txt som finns en katalog uppåt (ett steg närmare /) och därifrån in i katalogen home och in i katalogen karlssoj Exempel2:./testskript (exekverar skriptet ”testskript” som finns i innevarande katalog)
Kommandon för navigering i filsystemet KommandoBetydelse lsLista filer i en katalog pwdVisar sökvägen till innevarande katalog duAnvänds för att visa storleken på filerna i en specifik katalog och underkataloger MkdirSkapa katalog rmdirTa bort en katalog mvFlytta/byta namn på fil/katalog cpKopiera fil/katalog rmTa bort fil/katalog
Accessrättigheter för filer Ibland är det viktigt att skydda viss information som finns lagrad på en dator Är speciellt viktigt när man arbetar i ett fleravnändarsystem som en Linux- eller Windowsmiljö
Accessrättigheter för filer I Linux styrs rättigheterna till filer och kataloger på tre olika nivåer: NivåBetydelse Ägare (user)En viss användare. Oftast den användare som skapat en fil/katalog Grupp (group)En grupp innehåller ett antal användare som av någon anledning anses ha ”gemensamma intressen”. Som standard hör alla ”vanliga” användare i Linux till gruppen ”users” Alla andra (others)Alla andra användare som varken är ägare till en filen i fråga eller inte hör till den grupp som filen tillhör. Det är viktigt att veta att alla demon- och serverprocesser som körs på en dator hör till denna grupp!
Accessrättigheter för filer Alla filer och kataloger i ett Linux-system tillhör en ägare och en grupp, till dessa kopplas sedan en upsättning rättigheter Rättigheterna avgör vad som vem får göra med en fil eller katalog Exempel (visar alla filer samt deras accessrättigheter som finns i katalogen /home/karlsoj/minkatalog): ls –l /home/karlssoj/minkatalog drwxr-xr-x 2 karlssoj users aug foton -rwxr-xr-x 2 root root aug skript
Accessrättigheter för filer Symboler (bokstäver) för filrättigheter Filrättighetsfälten för en fil/katalog: BokstavFilKatalog rFår läsasFår se innehållet wFår modifierasSkapa/ändra/ta bort filer/kataloger ur katalogen xFår exekverasRätt att ”ställa sig” i katalogen (cd katalog) -rwx D =katalog L =länk B =blockfil - =vanlig fil Anger användarens filrättigheter Anger gruppens filrättigheter Anger alla andras filrättigheter
Kommandon för hantering av filrättigheter: chmod Används för att ändra rättigheter för en fil eller katalog Syntax: chmod anges enligt föjande: Exempel: chmod u+r,g-r minfil.txt (sätter till läsrätigheter för användaren och tar bort läsrättigheter för gruppen) ÄgareBokstavAktivitetTecken ÄgareuLägga till+ GruppgTa bort- Alla andraoSpecificera= Allaf fältaSeparera satser,
Kommandon för hantering av filrättigheter: chown och chgrp chown byter ägaren av en fil/katalog, syntax: chown Exempel: chown karlssoj minfil.txt (sätter karlssoj som ägare till filen minfil.txt) chgrp byter byter gruppen som en fil/katalog tillhör syntax: chown Exempel: chgrp users minfil.txt (sätter users som grupp för filen minfil.txt)