I dette kapitel, vi vil diskutere i detaljer om tilladelse og adgang tilstande i Unix. Fil ejerskab er en vigtig komponent i Uni., der giver en sikker metode til lagring af filer., Hver fil i Uni.har følgende attributter −
-
Ejertilladelser − ejerens tilladelser bestemmer, hvilke handlinger ejeren af filen kan udføre på filen.
-
Gruppetilladelser − gruppens tilladelser bestemmer, hvilke handlinger en bruger, der er medlem af gruppen, som en fil tilhører, kan udføre på filen.
-
andre (verden) tilladelser − tilladelserne for andre angiver, hvilken handling alle andre brugere kan udføre på filen.,
Tilladelse Indikatorer
Mens du bruger ls -l kommandoen, der viser forskellige oplysninger, der er relateret til en fil tilladelse som følger −
$ls -l /home/amrood-rwxr-xr-- 1 amrood users 1024 Nov 2 00:10 myfiledrwxr-xr--- 1 amrood users 1024 Nov 2 00:10 mydir
Her, at den første kolonne repræsenterer forskellige adgang tilstande, dvs, den tilladelse, der er forbundet med en fil eller en mappe.
tilladelserne er opdelt i grupper på tre, og hver position i gruppen angiver en bestemt tilladelse i denne rækkefølge: Læs (r), skriv (.), udfør (.) −
Filadgangstilstande
tilladelserne for en fil er den første forsvarslinje i sikkerheden for et uni. – system., De grundlæggende byggesten i Uni.tilladelser er læse, skrive og udføre tilladelser, som er beskrevet nedenfor −
Læs
giver mulighed for at læse, dvs. se indholdet af filen.
skriv
giver mulighed for at ændre eller fjerne indholdet af filen.
e .ecute
bruger med e .ecute tilladelser kan køre en fil som et program.
Directory Access Modes
Directory access modes er opført og organiseret på samme måde som enhver anden fil., Der er nogle få forskelle, der skal nævnes −
Læs
adgang til en mappe betyder, at brugeren kan læse indholdet. Brugeren kan se på filnavne inde i mappen.
skriv
adgang betyder, at brugeren kan tilføje eller slette filer fra mappen.
Udfør
udførelse af en mappe giver ikke rigtig mening, så tænk på dette som en traverse tilladelse.
en bruger skal have e .ecute-adgang til bin-mappen for at kunne udføre kommandoen ls eller cd ‘ en.,
ændring af tilladelser
for at ændre fil-eller mappetilladelserne bruger du kommandoen chmod (change mode). Der er to måder at bruge chmod på — den symbolske tilstand og den absolutte tilstand.
brug af chmod i symbolsk tilstand
den nemmeste måde for en nybegynder at ændre fil-eller mappetilladelser er at bruge den symbolske tilstand. Med symbolske tilladelser kan du tilføje, slette eller specificere det tilladelsessæt, du ønsker, ved at bruge operatørerne i følgende tabel.
Sr. Nr., | Chmod operatør & Beskrivelse |
---|---|
1 |
+ Tilføjer udpeget tilladelse(r) til en fil eller mappe. |
2 |
fjerner de udpegede tilladelser fra en fil eller mappe. |
3 |
= angiver de udpegede tilladelser. |
Her er et eksempel ved hjælp af testfile., Kører ls -1 på testfile viser, at filen er tilladelser er som følger −
$ls -l testfile-rwxrwxr-- 1 amrood users 1024 Nov 2 00:10 testfile
Så hvert eksempel chmod kommando fra den foregående tabel, er at køre på testfile, efterfulgt af ls –l, så kan du se den tilladelse ændringer −
Her er hvordan du kan kombinere disse kommandoer på en enkelt linje, −
$chmod o+wx,u-x,g = rx testfile$ls -l testfile-rw-r-xrwx 1 amrood users 1024 Nov 2 00:10 testfile
Bruger chmod med Absolut Tilladelser
Den anden måde at ændre tilladelser med chmod kommandoen er for at bruge et nummer for at angive hvert sæt af tilladelser til filen.,
hver tilladelse tildeles en værdi, som den følgende tabel viser, og summen af hvert sæt tilladelser giver et tal for det pågældende sæt.
Her er et eksempel ved hjælp af testfilen. Kører ls -1 på testfile viser, at filen er tilladelser er som følger −
$ls -l testfile-rwxrwxr-- 1 amrood users 1024 Nov 2 00:10 testfile
Så hvert eksempel chmod kommando fra den foregående tabel, er at køre på testfile, efterfulgt af ls –l, så du kan se de ændringer af tilladelser −
Skiftende Ejere og Grupper
Mens du opretter en konto på Unix, det tildeler en ejer-ID og gruppe-ID for hver bruger., Alle tilladelser, der er nævnt ovenfor, tildeles også baseret på ejeren og grupperne.
To kommandoer der er tilgængelige for at ændre ejer og gruppe af filer −
-
chown − Den chown kommandoen står for “change owner” og bruges til at ændre ejer af en fil.
-
chgrp − kommandoen chgrp står for “change group” og bruges til at ændre gruppen af en fil.
ændring af ejerskab
kommandoen cho .n ændrer ejerskabet af en fil., Den grundlæggende syntaks er som følger –
$ chown user filelist
værdien af brugeren kan enten være navnet på en bruger på systemet eller bruger-id (uid) af en bruger på systemet.
følgende eksempel hjælper dig med at forstå konceptet −
$ chown amrood testfile$
ændrer ejeren af den givne fil til brugerens amrood.
Bemærk − superbrugeren, root, har den ubegrænsede evne til at ændre ejerskabet af enhver fil, men normale brugere kan kun ændre ejerskabet af de filer, de ejer.,
ændring af Gruppeejerskab
chgrp-kommandoen ændrer gruppeejerskabet af en fil. Den grundlæggende syntaks er som følger −
$ chgrp group filelist
værdien af gruppen kan være navnet på en gruppe på system-eller gruppe-ID (GID) af en gruppe på systemet.følgende eksempel hjælper dig med at forstå konceptet –
$ chgrp special testfile$
ændrer gruppen af den givne fil til en særlig gruppe.
Suid-og SGID-filtilladelse
ofte når en kommando udføres, skal den udføres med særlige privilegier for at udføre sin opgave.,
som et eksempel, når du ændrer din adgangskode med kommandoen pass .d, gemmes din nye adgangskode i filen /etc/Shado..
som almindelig bruger har du ikke læse-eller skriveadgang til denne fil af sikkerhedsmæssige årsager, men når du ændrer din adgangskode, skal du have skrivetilladelsen til denne fil. Dette betyder, at pass .d-programmet skal give dig yderligere tilladelser, så du kan skrive til filen /etc/Shado..
yderligere tilladelser gives til programmer via en mekanisme kendt som Set User ID (SUID) og Set Group ID (SGID) bits.,
Når du udfører et program, der har SUID-bit aktiveret, arver du tilladelserne for det pågældende programs ejer. Programmer, der ikke har SUID bit-Sættet, køres med tilladelserne fra den bruger, der startede programmet.
Dette er også tilfældet med SGID. Normalt kører programmer med dine gruppetilladelser, men i stedet ændres din gruppe kun for dette program til gruppens ejer af programmet.
Suid-og SGID-bitene vises som bogstavet “S”, hvis tilladelsen er tilgængelig., SUID ” s ” bit vil være placeret i tilladelsesbitene, hvor ejernes eksekverings tilladelse normalt findes.
for eksempel viser kommandoen −
$ ls -l /usr/bin/passwd-r-sr-xr-x 1 root bin 19031 Feb 7 13:47 /usr/bin/passwd*$
, at SUID-biten er indstillet, og at kommandoen ejes af roden. Et stort bogstav S i eksekveringspositionen i stedet for små bogstaver angiver, at eksekveringsbit ikke er indstillet.,
Hvis klistrede lidt er aktiveret på den mappe, filerne kun kan fjernes, hvis du er en af de følgende brugere −
- ejeren af sticky mappe
- ejeren af filen er fjernet
- superbruger, root
for At indstille SUID-og SGID bits til en mappe, kan du prøve følgende kommando
$ chmod ug+s dirname$ ls -ldrwsr-sr-x 2 root root 4096 Jun 19 06:45 dirname$