Kao početnik u Linuxu, naučit ćete o dopuštenjima i vlasništvu povezanim s datotekom i direktorijima. Operativni sustavi slični Linuxu/Unixu omogućuju vam postavljanje kombinacije od devet bitova dopuštenja kako biste spriječili druge korisnike od nepotrebnog pristupa datotekama/direktoriju. Slično ovim su posebna dopuštenja za izvršne datoteke poznate kao set UID, set GID i sticky bits.

Razumijevanje posebnih dopuštenja može biti pomalo neodoljivo za buduće administratore Linuxa. Ovdje ćete naučiti malo pozadine o uobičajenim dopuštenjima datoteka i objasniti kako se one razlikuju od posebnih dopuštenja. Također demonstriramo SetID, GetID i funkcionalnost sticky bitova s ​​primjerima za sveobuhvatno razumijevanje.

Uobičajene dozvole za Linux datoteke

Linux koristi chmod naredba dodijeliti/promijeniti čitanje (r=4), napiši (w=2), i izvrši (x=1) dopuštenja za datoteke i mape. To jest, devet gore spomenutih bitova odnosi se na tri glavne kategorije grupa dopuštenja. Prva tri su za korisnika koji je vlasnik datoteke, drugi skup je za grupu dodijeljenu datoteci/direktoriju, a posljednja tri predstavljaju sve ostale korisnike.

instagram viewer

Na primjer, obična datoteka će sve vrste dozvola za sve kategorije korisnika prikazati kao -rwxrwxrwx. Dok - u zamjeni slova predstavlja odsutnost te dozvole. Sada chmod naredba koristi brojeve i slova za promjenu dopuštenja na sljedeći način:

sudo chmod 755 datoteka #za rwxr-xr-x 
sudo chmod 644 datoteka #za rw-r--r-- 
sudo chmod a-w datoteka #za r-xr-xr-x 
sudo chmod a+x datoteka #za --x--x--x

Posebna dopuštenja za Linux datoteke

The setuid bit predstavlja dopuštenje za izvršnu datoteku koju mogu pokrenuti drugi korisnici uz ovlaštenje vlasnika. Na primjer, kada korisnik maks pokreće naredbu vi kao korisnik Ivan, imat ćete dopuštenja za čitanje/pisanje Ivan.

Da biste identificirali datoteke sa setuidom, koristite ls zapovjediti i potražiti s bit umjesto izvršnog bita x, kako slijedi.

Postavite UID bit

The setuid bit predstavlja dopuštenje za izvršnu datoteku koju mogu pokrenuti drugi korisnici uz ovlaštenje vlasnika. Na primjer, kada korisnik maks pokreće naredbu vi kao korijen, on će imati dopuštenja za čitanje/pisanje korijen. Da biste identificirali datoteke sa setuidom, koristite ls zapovjediti i potražiti s bit umjesto izvršnog bita x, kako slijedi:

ls -la /etc/passwd 
-rwsr-xr-x 1 korijen root 88464 14. prosinca 12:46 passwd

Neki drugi primjeri su:

ls -la /bin/gpasswd
-rwsr-xr-x 1 korijen root 88464 14. srpnja 15:08 gpasswd
ls -la /bin/su
-rwsr-xr-x 1 korijen root 67816 21. srpnja 2020. su
ls -la /newgrp
-rwsr-xr-x 1 korijen root 44784 14. srpnja 15:08 newgrp
ls -la /bin/sudo
-rwsr-xr-x 1 korijen root 166056 19. siječnja 2021. sudo

Da biste postavili bit setuid za izvršne datoteke, koristite naredbu chmod kako slijedi:

chmod u+s /etc/passwd

Da biste uklonili dopuštenje za izvršavanje datoteka od korisnika ili vlasnika koji nisu root:

chmod u-s /etc/passwd

Postavite GID bit

Kao što je objašnjeno, set uid bit kontrolira pristup datoteci drugim korisnicima, dok setgid (GID) bit stvara kolaborativne direktorije. To znači da je svaka datoteka stvorena unutar tog direktorija dostupna grupi direktorija. Stoga svim članovima grupe omogućuje pokretanje izvršnih datoteka bez vlasničkog prava i štiti ih od drugih korisnika.

Slijedite ove korake da biste stvorili suradnički direktorij u vašem Linux sustavu:

Stvorite grupu pomoću groupadd naredba s ID-om grupe 415 za suradnju:

groupadd -g 415 administratora

Za dodavanje koristite naredbu usermod Ivangrupi za pristup datoteci/izvršenje.

usermod -aG administratori john

Koristiti mkdir naredba za stvaranje direktorija:

mkdir /tmp/collaborative_dir

Koristiti chgrp naredba za dodjelu imenika administratori skupina:

chgrp administratori /tmp/collaborative_dir

Koristiti chmod naredba za promjenu dozvole direktorija u 2775. 2 bit uključuje postavljeni gid, 7 za dodjeljivanje punog rwx korisniku i grupi, dok 5 (r-w) za ostale.

chmod 2775 /tmp/collaborative_dir

Na kraju promijenite svoj korisnički račun u Ivan i stvoriti datoteku u direktoriju za suradnju kako biste provjerili dopuštenja datoteke.

su - Ivan
dodirnite /tmp/collaborative_dir/file.txt

Naredba su vam može dati pogrešku u autentifikaciji. U ovom slučaju upišite sudo su naredbu za prebacivanje na root i ponovno pokretanje su - Ivan za promjenu korisničkog računa

Sada navedite dopuštenja za provjeru GID bita(a) postavljenih za direktorij i novostvorenu datoteku.

ls -ld /tmp/collaborative_dir /tmp/collaborative_dir/file.txt 

U tipičnom scenariju, datoteci koju je kreirao john bit će dodijeljena grupa john. Budući da kreirate datoteku unutar postavljenog GID direktorija bitova, ona dodjeljuje dopuštenja za administratori grupa, tako da svatko tko pripada grupi, voli korisnika chris, imat će pristup tome.Povezano: Kako stvoriti nove datoteke na Linuxu pomoću dodira

Sticky Bits

Za razliku od SID i GID bitova, sticky bitovi se razlikuju po funkcionalnosti jer štite datoteke i direktorije od preimenovanja i brisanja od strane drugih korisnika. Redovito dopuštenje datoteke omogućuje svakom korisniku s pristupom za pisanje da izbriše ili preimenuje datoteku. Dok sa postavljenim sticky bitom, to nije moguće osim ako ste root korisnik ili vlasnik datoteke.

Idealan scenarij za korištenje ljepljivih bitova je direktorij dostupan svim korisnicima za stvaranje datoteke. Na primjer, koristite ls -ld naredba za provjeru \tmp dozvole direktorija, kako slijedi:

Možete primijetiti da je ljepljivi komadić t zamjenjuje izvršni bit x. Slijedite dani skup uputa za stvaranje ograničenog imenika za brisanje:

Sada stvorite drugi direktorij u /tmp mapa:

mkdir /tmp/novi_dir

Promijenite dopuštenja datoteke u 1777 za postavljanje ljepljivog bita (t) i puni pristup imeniku:

chmod 1777 /tmp/new_dir

Sada kopirajte bilo koju datoteku iz /etc mapu u /tmp/new_dir i promijenite svoja dopuštenja u 666:

cp /etc/ /tmp/new_dir
chmod 666 /tmp/new_dir/services

Navedite imenik i sav njegov sadržaj za pregled dopuštenja:

ls -ld /tmp/new_dir /tmp/new_dir/services

Možete primijetiti sticky bit umjesto bita za izvršavanje, što znači da samo root ili korisnik john može izbrisati datoteku, budući da se datoteka nalazi unutar sticky bit direktorija.

Razumijevanje posebnih dopuštenja datoteka u Linuxu

Članak pokazuje kako postaviti ove bitove za poboljšanje suradnje na zajedničkim datotekama i direktorijima te ih zaštititi od neovlaštenog pristupa, izvršenja i brisanja. Čak i ako ne stvarate datoteke/direktorije s ovim bitovima, razumijevanje posebnih dopuštenja datoteka korisno je u mnogim situacijama, posebno u rješavanju problema ili kao administrator sustava. Dok, nerazumna upotreba ovih bitova može uzrokovati razne sigurnosne ranjivosti.

Kako sačuvati dopuštenja datoteka tijekom kopiranja datoteka u Linuxu

Želite li zadržati dopuštenja datoteka tijekom kopiranja datoteka na Linuxu? Evo kako to učiniti koristeći cp i rsync.

Pročitajte dalje

UdioCvrkutE-mail
Povezane teme
  • Linux
  • Upravljanje datotekama
  • Linux
O autoru
Rumaisa Niazi (Objavljena 3 članka)

Rumaisa je slobodni pisac u MUO. Prošla je dug put od matematičara do entuzijasta za informacijsku sigurnost i radi kao analitičar SOC-a. Njezini interesi uključuju čitanje i pisanje o novim tehnologijama, distribucijama Linuxa i svemu oko informacijske sigurnosti.

Više od Rumaise Niazi

Pretplatite se na naše obavijesti

Pridružite se našem biltenu za tehničke savjete, recenzije, besplatne e-knjige i ekskluzivne ponude!

Kliknite ovdje za pretplatu