21
OPERATIVSYSTEM OCH PRAKTISK LINUX Föreläsning 5 – Vecka 47 2010 INNEHÅLL Filer Filtyper Filändelser Accessrättigheter för filer

OPERATIVSYSTEM OCH PRAKTISK LINUX Föreläsning 5 – Vecka 47 2010

  • Upload
    odeda

  • View
    31

  • Download
    2

Embed Size (px)

DESCRIPTION

INNEHÅLL Filer Filtyper Filändelser Accessrättigheter för filer. OPERATIVSYSTEM OCH PRAKTISK LINUX Föreläsning 5 – Vecka 47 2010. 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 - PowerPoint PPT Presentation

Citation preview

OPERATIVSYSTEM OCH PRAKTISK LINUX

Föreläsning 5 – Vecka 47 2010

INNEHÅLLFilerFiltyperFiländelserAccessrä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 <orginalfil> <länk-fil>

Om man skapar en länk enligt syntaxen ovan får man två orginalfiler, dvs.

<länk-fil> blir en hård länk till den fil <orginalfil> pekar på

En symbolisk länk skapas genom att sätta till flaggan –s:

ln –s <orginalfil> <länk-fil>

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

Kommando Betydelse

ls Lista filer i en katalog

pwd Visar sökvägen till innevarande katalog

du Används för att visa storleken på filerna i en specifik katalog och underkataloger

Mkdir Skapa katalog

rmdir Ta bort en katalog

mv Flytta/byta namn på fil/katalog

cp Kopiera fil/katalog

rm Ta 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 1024 7 aug 15.22 foton

-rwxr-xr-x 2 root root 102432 5 aug 11.11 skript

Accessrättigheter för filer

Symboler (bokstäver) för filrättigheter

Filrättighetsfälten för en fil/katalog:

Bokstav Fil Katalog

r Får läsas Får se innehållet

w Får modifieras Skapa/ändra/ta bort filer/kataloger ur katalogen

x Får exekveras Rätt att ”ställa sig” i katalogen (cd katalog)

- rwx rwx rwx

D =katalogL =länkB =blockfil- =vanlig fil

Anger användarens filrättigheter

Anger gruppens filrättigheter

Anger alla andras filrättigheter

Kommandon för hantering av filrättigheter:chmodAnvänds för att ändra rättigheter för en fil eller katalog

Syntax: chmod <rättigheter> <fil>

<rättigheter> 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)

Ägare Bokstav Aktivitet Tecken

Ägare u Lägga till +

Grupp g Ta bort -

Alla andra o Specificera =

Allaf fält a Separera satser ,

Kommandon för hantering av filrättigheter:chown och chgrpchown byter ägaren av en fil/katalog, syntax: chown <ägare> <fil>

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 <ägare> <fil>

Exempel: chgrp users minfil.txt (sätter users som grupp för filen

minfil.txt)