Hvordan sette rettigheter på filer

Har du noe lurt å dele med oss? NB. Dette er ikke et support forum.

Hvordan sette rettigheter på filer

Innleggav ak » ons 09.02.2005 23:02

Hvis du vil vite hvilke rettigheter en fil har skriver du "ls -alh" i et terminal vindu, det som følger er en typisk utskrift av /home

Kode: Merk alt
total 32K
drwxr-xr-x   3 root root  4.0K Nov 14 12:10 .
drwxr-xr-x  21 root root  4.0K Sep 23 00:31 ..
drwx------  64 ak   users 8.0K Feb  9 15:31 ak
drwxr-xr-x   2 root root  4.0K Jul 31  2004 ftp


Det første man ser er at ak er en fil med eiergruppe users og eier ak. At det dreier seg om en spesiell fil, et directory ser man på første bokstav i rettighetene (d for directory):
Kode: Merk alt
drwx------ 64 ak   users


Deretter følger det 9 tegn / og eller binde-streker. r står for read (lese), w for write (skrive) og x for execute (eksekver). De tre første tegnene, etter d, betyr at eieren (ak) kan lese,skrive og eksekvere. De følgende tre bindestrekene betyr at eier-gruppen (users) ikke har noen rettigheter. De siste tre bindestrekene betyr at verden (world), det vil si alle andre, ikke har noen rettigheter. Tallet 64 betyr at ak inneholder 62 vanlige filer og to spesial-filer.

Ser vi derimot på ftp:
Kode: Merk alt
drwxr-xr-x 2 root root

Her er det root som er eier, og den eneste som kan skrive. Merk at root uansett kan gå i alle directoryer og endre rettigheter, uansett hvem som er eier. Deretter står det at gruppe root har lov til å eksekvere og lese, noe som er overflødig, men greit siden alle filer må ha en eier-gruppe. Til slutt har verden lov til å eksekvere og lese. Merk at man må kunne eksekvere en katalog for å se dens innhold.

Legg merke til at ftp inneholder 2 filer, selv om katalogen egentlig er tom. dette er fordi katalogen alltid inneholder "." og "..", som brukes for å navigere i treet.

Å endre gruppe og eier er lett:
chown nyeier filnavn
chgrp gruppenavn filnavn
Les chown som "change owner" og chgrp som "change group". Vil du gjøre det rekursivt på et directory så legger du på -R bakerst. Du kan også slå to fluer i en smekk:
chown nyeier:nygruppe filnavn

chmod står for "change mode" og det finnes mange måter å bruke dette programmet på, alle godt dokumentert med "man chmod". Den mest effektive, dersom du er komfortabel med binære tall, er dog å brukes bits.

Mini-introduksjon til binære tall:
001 = 1 , 010 = 2 , 100 = 4 (Husk at 2^0 = 1, 2^1 = 2 , 2^2 = 4)
deretter kan du kombinere disse som vanlig:
1 + 2 = 001 + 010 = 011 = 3
1 + 4 = 001 + 100 = 101 = 5
2 + 4 = 010 + 100 = 110 = 6
3 + 4 = 011 + 100 = 111 = 7

Se nå på "drwxr-xr-x", som kan deles opp slik: "d rwx r-x r-x"
Ignorer bokstavene, for de vil alltid stå på samme sted. Bare se på hvilke plasser det ikke er -.

"rwx r-x r-x" kan derfor skrives som "111 101 101", som igjen er "7 5 5"

Hvis jeg vil sette rettighetene slik de er på "ftp" over kan jeg derfor skrive
chmod 755 filnavn

Ønsker jeg at gruppen bare skal ha lese tilgang må jeg se på r-- = 100 = 4, altså
chmod 745 filnavn

Skjønt det siste er meningsløst, siden alle vil være medlemmer av "verden" uansett og dermed ha 5 = 101 = r-x.

Oppsumert, de viktigste markert med *:
0 = ingen rettigheter*
1 = execute
2 = write
3 = write,execute
4 = read*
5 = read,execute*
6 = read,write*
7 = read,write,execute*

Og som du kanskje har skjønt, så dekker dette alle alternativene :)

Administrator
Brukerens avatar
medlem i 236 måneder
 

Returner til Tips og triks / Favoritter



Hvem er i Forumene

Registrerte brukere: Google [Bot]