Tilganger

Lese output fra ‘ls’

Det brukes tre grupper som har hver sine tilganger; owner, group og other. Owner er den brukeren som eier fila eller mappa, group er alle som er medlem av gruppa spesifisert og others er alle andre.

Hvis dere skriver inn ‘ls -lh’ i kommando linja etter dere har logget inn får dere opp noe som dette

 

[09:39] drift @ tihlde ~ $ ls -l
total 68K
drwx——  10  drift  staff  4.0K  Dec  11  06:27  Maildir
drwx——   2  drift  staff  4.0K  Dec  11  14:28  oppgaver
drwxr—-x   3  drift  staff  4.0K  Dec  11  14:28  public_html
drwxr–r-x   3  drift  staff  4.0K  Dec  11  14:28  public_jsp

 

Her ser dere fire mapper. Den første kolonnen er tilgangene på mappene, og i kolonne tre og fire ser dere ‘owner’ og ‘group’, mens den siste kolonnen er navnet på fila eller mappa. Det vi skal se på er den første kolonnen.

 

Det er tre bokstaver som spesifiserer rettigheter. W som betyr write eller skrive, R som betyr read eller lese og X som betyr executable eller kjørbar. Sistnevnte brukes på filer som kan kjøres, php, bash script eller lignende.

For hver rettighetsgruppe (owner, group, others) er det altså tre bokstaver. Vi ser på kolonne en i den siste linja for mappa public_jsp

 

Den første d’en bryr vi oss ikke noe om, men så kommer vi til tre bokstaver ‘rwx’. Dette betyr da altså at owner, eller eieren, har alle tre rettighetene, skrive, lese og kjøre.

De neste tre tegnene er for gruppen som er satt. I dette tilfellet er det gruppen ‘staff’. Men det er ikke noen bokstaver på disse, bare bindestreker og dette betyr da at gruppen ikke har noe rettigheter.

Så kommer det ‘r-x’ og dette er da rettighetene til ‘others’ som betyr alle andre. Her ser vi at ‘others’ har rettigheten Read og eXecute.

 

Sette eier og gruppe – chown og chgrp

Disse tre kommandoene kan vi bruke for å sette rettigheter på filer og mapper. chown er for å sette eier, chgrp er for å sette grupp, mens chmod er for å spesifisere rettighetene til eier, gruppe og andre.

Vi kan starte med å skifte eier på mappa ‘oppgaver’. Syntaksen er ‘chown ‘

 

[09:39] drift @ tihlde ~ $ chown -R joachimn oppgaver

 

Her settes eieren av mappa til ‘joachimn’ som er en bruker på serveren. Men vi brukte også ‘-R’ som betyr recursive. Dette vil da si at det samme skjer på alle undermapper og alle underfiler i mappa ‘oppgaver’. Hvis vi ikke hadde tatt med ‘-R’ (chown joachimn oppgaver) så ville brukeren joachimn bare blitt eier av denne mappa, men ingen av filene og mappene som muligens ligger i den. Vi kan se om det fungerte hvis vi gjør ‘ls -l’

 

[09:40] drift @ tihlde ~ $ ls -l
total 68K
drwx——  10  drift     staff  4.0K  Dec  11  06:27  Maildir
drwx——   2  joachimn  staff  4.0K  Dec  11  14:28  oppgaver
drwxr—-x   3  drift     staff  4.0K  Dec  11  14:28  public_html
drwxr–r-x   3  drift     staff  4.0K  Dec  11  14:28  public_jsp

 

Som du ser fungerte det ypperlig. Nå vil de tre første bokstavene av kolonne en (uten om ‘d’) på den andre linja si hvilke retigheter brukeren joachimn har og ikke lengre brukeren drift. chgrp fungerer på akkurat samme måte, men er altså for å sette gruppe og ikke eier.

 

Sette rettigheter – chmod

Denne kommandoen brukes altså for å sette hvilke rettigheter eier, gruppe og andre har. Det er to hovedmåter å bruke chmod på, symbolsk og absolutt. Syntaksen er den samme som med chgrp/chown og forskjellen på de to måtene å bruke chmod på er kun i det andre leddet; ‘chmod ‘

Symbolsk er å bruke bokstavene u, g og o som står for eier, gruppe og andre, i den rekkefølgen. Det er også en annen bokstav, a, som betyr alle de tre. Da kan gjøre er noe som

 

[09:41] drift @ tihlde ~ $ chmod u=wrx,g=rx,o=x oppgaver

 

Men dette er jo tungvindt siden man ofte ikke vil liste off hvilke rettigheter hver tilgangsgruppe skal ha. Hvis man bare skal legge til en rettighet så kan man gjøre

 

[09:42] drift @ tihlde ~ $ chmod o+x oppgaver

 

Noe som vil legge til kjøre-rettighet for ‘andre’. Det samme gjelder med minustegne. Så altså, hvis du bruker = tegnet så setter du rettighetene, mens med + og – kan du legge til eller ta vekk rettigheter.

 

Det finnes også en såkalt absolutt metode. Dette vil si bare tre tall.

 

[09:43] drift @ tihlde ~ $ chmod 755 oppgaver

 

Ikke tenk på tallet som sju hundre og femtien, men som 7-5-5. Det første sifferet er for eieren, så kommer gruppen og så kommer alle andre. Dette er en mer effektiv måte å sette rettighetene på. Hvert siffer fra 0-7 har en egen betydning. 7 betyr for eksempel ‘rwx’, eller allerettigheter. Så når 7 står først vil det si at eieren får alle rettigheter.

 

Det sies at 4 betyr r, 2 betyr w og 1 betyr x og hvis man da ser noe som ‘rwxr-xr-x’ så kan man da

Triplet for u: rwx => 4 + 2 + 1 = 7
Triplet for g: r-x => 4 + 0 + 1 = 5
Tripler for o: r-x => 4 + 0 + 1 = 5
Which makes : 755

Noe som selvsagt er riktig, men man lærer fort hva de forskjellige kombinasjonene blir.

 

Se også manualen for chmod; skriv ‘man chmod’ i terminalen.