4Jul
Če že nekaj časa uporabljate Linux( in celo OS X), boste verjetno naleteli na napako »dovoljenj«.Toda kaj točno so, in zakaj so to potrebne ali koristne? Poglejmo si notranji videz.
Uporabniški dovoljenja
Nazaj v dnevu so bili računalniki masivni stroji, ki so bili neverjetno dragi. Da bi kar najbolj izkoristili, so bili priključeni več računalniških terminalov, ki so mnogim uporabnikom omogočili hkratno opravljanje svoje dejavnosti. Obdelava in shranjevanje podatkov je bil opravljen na stroju, medtem ko so bili terminali sami malo več kot sredstvo za pregledovanje in vnos podatkov.Če pomislite na to, je precej, kako dostopamo do podatkov na "oblaku";poglejte v sistem Amazon MP3 MP3, Gmail in Dropbox. Opazili boste, da je vse, kar je mogoče storiti na lokalni ravni, vse shranjeno na daljavo.
( Slika: Zenith Z-19 "dumb" terminal; kredit: ajmexico)
Za to morajo posamezni uporabniki imeti račune. Morali bi imeti razdelek skladiščnega prostora, ki jim je dodeljen, in jim je treba dovoliti zagon ukazov in programov. Vsakdo dobi posebna »uporabniška dovoljenja«, ki narekujejo, kaj lahko in ne morejo storiti, kjer v sistemu delajo in nimajo dostopa in katerih datoteke lahko spreminjajo in jih ne morejo spremeniti. Vsak uporabnik je tudi v različne skupine, ki dodeljujejo ali omejujejo nadaljnji dostop.
Dostop do datotek
V tem čudnem večuporabniškem svetu smo že nastavili meje glede tega, kaj uporabniki lahko naredijo. Kaj pa kaj dostopajo? No, vsaka datoteka ima nabor dovoljenj in lastnika. Oznaka lastnika, ki je običajno vezana ob ustvarjanju datoteke, razglasi, kateri uporabnik pripada, in samo ta uporabnik lahko spremeni dovoljenja za dostop.
V svetu Linuxa so dovoljenja razdeljena v tri kategorije: branje, pisanje in izvajanje. Dostop "Read" omogoča ogled vsebine datoteke, dostop do "pisanja" omogoča spreminjanje vsebine datoteke in "izvršitev" omogoča, da zažene niz navodil, kot je skript ali program. Vsaka od teh kategorij se uporablja za različne razrede: uporabnik, skupino in svet."Uporabnik" pomeni lastnika, "skupina" pomeni vsakega uporabnika, ki je v isti skupini kot lastnik, in "svet" pomeni vsakogar in vse.
Mape lahko omejite tudi s temi dovoljenji. Na primer, lahko drugim osebam v svoji skupini omogočite ogled imenikov in datotek v domači mapi, ne pa kogar koli zunaj vaše skupine. Verjetno boste želeli omejiti dostop do "pisati" samo sebi, razen če delate na nekem projektu v skupni rabi. Prav tako lahko ustvarite skupni imenik, ki vsem omogoča ogled in spreminjanje datotek v tej mapi.
Spreminjanje dovoljenj v Ubuntu
GUI
Če želite spremeniti dovoljenja za datoteko, ki jo imate v Ubuntu, samo z desno miškino tipko kliknite datoteko in pojdite na »Properties«.
Spremenite lahko, ali lahko lastnik, skupina ali drugi berejo in zapisujejo,samo branje ali ničesar. Polje lahko tudi potrdite, da omogočite izvedbo datoteke, kar bo omogočilo istočasno za lastnika, skupine in druge.
ukazna vrstica
To lahko storite tudi prek ukazne vrstice. Pojdite v imenik z datotekami v njem in vnesite naslednji ukaz, če si želite ogledati vse datoteke na seznamu:
ls -al
Poleg vsake datoteke in imenika boste videli poseben razdelek, ki opisuje dovoljenja, ki jih ima. Izgleda takole:
-rwxrw-r-
r pomeni »branje«, w pomeni »napisati« in x pomeni »izvršitev«. Imeniki se bodo začeli z "d "namesto" - ".Opazili boste tudi, da je 10 presledkov, ki imajo vrednost. Najprej lahko prezrete, potem pa je 3 nizov 3. Prvi sklop je za lastnika, drugi sklop je za skupino, zadnji pa je za svet.
Če želite spremeniti dovoljenja datoteke ali imenika, si oglejte osnovno obliko ukaza chmod.
chmod [class] [operator] [dovoljenje] datoteka
chmod [ugoa] [+ ali -] [rwx] datoteka
To se morda zdi zapleteno, a verjemite mi, to je precej enostavno. Najprej si oglejmo razrede:
- u: To je za lastnika.
- g: To je za skupino.
- o: To je za vse ostale.
- a: To bo spremenilo dovoljenja za vse navedeno.
Nato operaterji:
- +: znak plus bo dodal dovoljenja, ki sledijo.
- -: Znak minus bo odstranil dovoljenja, ki sledijo.
še vedno z mano? Zadnji del je enak, ko smo preverili dovoljenja datoteke:
- r: Omogoča dostop do branja.
- w: Omogoča dostop do pisanja.
- x: omogoča izvajanje.
Zdaj, dajmo skupaj. Recimo, da imamo datoteko z imenom "todo.txt", ki ima naslednja dovoljenja:
-rw-rw-r-
To pomeni, da lahko lastnik in skupina berejo in napišeta, svet pa lahko prebere le.Želimo spremeniti dovoljenja za to:
-rwxr--
To pomeni, da ima lastnik popolna dovoljenja in skupina lahko prebere. To lahko storimo v treh korakih. Najprej bomo uporabniku dodali dovoljenje za izvršitev.
chmod u + x todo.txt
Potem bomo odstranili dovoljenje za zapis za skupino.
chmod g-w todo.txt
Nazadnje bomo odstranili bralna dovoljenja za vse druge uporabnike.
chmod o-r todo.txt
Lahko jih tudi kombiniramo v en ukaz, tako:
chmod u + x, g-w, o-r todo.txt
Vidite, da je vsak razdelek ločen z vejicami in ni presledkov.
Tukaj je nekaj uporabnih dovoljenj:
- -rwxr-xr-x: Lastnik ima popolna dovoljenja, skupini in drugi uporabniki lahko preberejo vsebino datoteke in izvršijo.
- -rwxr-r-: Lastnik ima popolna dovoljenja, skupini in drugi uporabniki lahko preberete le datoteko( uporabno, če vam ni všeč drugim, da si ogledate vaše datoteke.
- -rwx--: Lastnik ima vsa dovoljenja, vsi ostali nimajo
- -rw-rw--: Lastnik in skupina lahko berejo in pišeta( uporabna za sodelovanje s člani skupine).
- -rw-r-r-: Lastnik lahko bere in piše, skupine in drugi uporabniki lahko le
- -rw ---: Lastnik lahko bere in piše, vsi ostali nimajo( koristen za shranjevanje osebnih datotek).
Obstaja še nekaj drugih stvari, ki jih lahko naredite zchmod - kot setuid in setgid - vendar so malo poglobljeni in večina uporabnikov jih dejansko ne bo treba uporabljati.
Root ali Super-User in sistemske datoteke
Danes ne vedno zaganjamo sisteme, kiimam več uporabnikov. Zakaj bi še vedno skrbeli dovoljenja?
No, Unix innjeni izvedeni izdelki - Linux, OS X, med drugim - prav tako razlikujejo stvari, ki jih upravlja uporabnik, stvari, ki jih upravljajo skrbniki ali administratorske pravice, in stvari, ki jih upravlja sam sistem. Kot takšne stvari, ki so sestavni del sistema, potrebujejo administratorske pravice ali dostop do njih. Na ta način, ničesar ne poškodujete.
V sistemu Ubuntu lahko spremenite sistemske datoteke, ki jih uporabljate "sudo" ali "gksudo", da pridobite enakovredne pravice skrbnika. V drugih distros preklopite na »root« ali »superuporabnik«, ki dejansko naredi isto stvar, dokler se ne odjavite.
Zavedajte se, da lahko v obeh okoliščinah spreminjanje dovoljenj za datoteke povzroči, da programi ne delujejo, nenamerno spreminjajo lastništvo datotek na root uporabnika( namesto lastnika) in sistem manj varen( z dodeljevanjem večih dovoljenj).Kot taka je priporočljivo, da ne spremenite dovoljenj za datoteke - zlasti sistemske datoteke - razen če je to potrebno ali veste, kaj počnete.
Dovoljene so datoteke, ki zagotavljajo osnovni sistem varnosti med uporabniki. Učenje, kako delujejo, vam lahko pomaga nastaviti osnovno skupno rabo v večuporabniškem okolju, zaščititi »javne« datoteke in vam povedati, kdaj gre kaj narobe s sistemsko lastno datoteko.
Mislite, da lahko stvari razložite lažje? Imate popravek?Želite spomniti na stare dni? Odločite se in komentirajte svoje misli.