Operativni sistemi - 016 - (chmod) Numerički prikaz privilegija
Sadržaj:
Na operacijskim sustavima Linux i Unix sve se nove datoteke stvaraju sa zadanim skupom dozvola. Uslužni program
umask
omogućuje vam pregledavanje ili postavljanje maske za stvaranje načina datoteke koja određuje bitove dozvola za novo kreirane datoteke ili mape.
Koriste ga mkdir, touch, tee i druge naredbe koje stvaraju nove datoteke i mape.
Linux dozvole
Prije nego što nastavimo dalje, ukratko objasnimo model dozvola za Linux.
U Linuxu je svaka datoteka povezana s vlasnikom i skupinom te joj je dodijeljena prava pristupa dozvole za tri različite klase korisnika:
- vlasnik datoteke.članovi grupe. svi drugi.
Postoje tri vrste dozvola koje se primjenjuju na svaku klasu:
- dozvola za čitanje.dozvola za pisanje.izvršenje dopuštenja.
Ovaj koncept omogućuje vam da odredite koji korisnici smiju čitati datoteku, pisati je ili izvršavati.
Za pregled dozvola za datoteke, upotrijebite naredbu
ls
:
ls -l dirname
drwxr-xr-x 12 linuxize users 4.0K Apr 8 20:51 dirname | | | | | | | | | | | | +-----------> Group | | | | +-------------------> Owner | | | +----------------------------> Others Permissions | | +-------------------------------> Group Permissions | +----------------------------------> Owner Permissions +------------------------------------> File Type
Prvi znak predstavlja vrstu datoteke koja može biti uobičajena datoteka (
-
), direktorij (
d
), simbolička veza (
l
) ili bilo koja druga posebna vrsta datoteke.
Sljedećih devet znakova predstavljaju dopuštenja, tri skupa po tri znaka. Prvi setovi prikazuju vlasnička dopuštenja, drugi skupna dopuštenja, a drugi skup dopušta sve ostale.
Znak
r
s oktalnom vrijednošću od
4
označava čitanje,
w
s oktalnom vrijednošću
2
za pisanje,
x
s oktalnom vrijednošću
1
za dozvolu izvršenja i (
-
), oktalnom vrijednošću od
0
za nedozvoljenje.
Postoje i tri druge posebne dozvole za datoteke:
setuid
,
setgid
i
Sticky Bit
.
U gornjem primjeru (
rwxr-xr-x
) znači da je vlasnik pročitao, napisao i izvršio dozvole (
rwx
), grupa i ostali su pročitali i izvršili dozvole.
Ako dopuštamo datoteke pomoću numeričke oznake, doći ćemo do broja
755
:
- Vlasnik:
rwx
=4+2+1 = 7
Grupa:rx
=4+0+1 = 5
Ostalo:rx
=4+0+1 = 5
Kada su prikazani numeričkim oznakama, dozvole mogu imati tri ili četiri oktalne znamenke (0-7). Prva znamenka predstavlja posebna dopuštenja a ako je izostavljena znači da u datoteci nisu postavljena posebna dopuštenja. U našem slučaju
755
je isto kao i
0755
. Prva znamenka može biti kombinacija
4
za
setuid
,
2
za
setgid
i
1
za
Sticky Bit
.
Dopuštenja datoteka mogu se mijenjati pomoću naredbe
chmod
i vlasništva pomoću naredbe
chown
.
Razumijevanje umaska
U Linux sustavima zadane dozvole za stvaranje su za datoteke
666
, što daje dozvolu za čitanje i pisanje za korisnike, grupu i druge, i
777
za direktorije, što znači čitanje, pisanje i izvršavanje dozvola za korisnike, grupe i drugi. Linux ne dopušta stvaranje datoteke s dozvolama za izvršavanje.
Zadana dopuštenja za stvaranje mogu se izmijeniti pomoću uslužnog programa
umask
.
umask
utječe samo na trenutno okruženje školjke. U većini distribucija Linuxa zadana vrijednost
pam_umask.so
na cijelom
pam_umask.so
postavljena je u
pam_umask.so
ili
/etc/profile
.
Da biste pogledali trenutnu vrijednost maske, jednostavno upišite
umask
bez ikakvih argumenata:
umask
Izlaz će uključivati
022
Vrijednost
umask
sadrži bitove dozvole koji se NE postavljaju na novo stvorene datoteke i mape.
Kao što smo već spomenuli, zadana dozvola za stvaranje datoteka su
666
a za direktorije
777
. Da biste izračunali bitove dozvole novih datoteka od zadane vrijednosti oduzmu se umask vrijednost.
Na primjer, za izračunavanje kako će
uname 022
utjecati na novo stvorene datoteke i mape, koristite:
- Datoteke:
666 - 022 = 644
. Vlasnik može čitati i mijenjati datoteke. Grupe i drugi mogu čitati samo datoteke.Direkcije:777 - 022 = 755
Vlasnik može ući u direktorij i na popisu čitati, mijenjati, kreirati ili brisati datoteke u direktoriju. Grupe i ostali mogu secd
u imenik te popisivati i čitati datoteke.
Također možete prikazati vrijednost maske u simboličkim zapisima pomoću opcije
-S
:
umask -S
u=rwx, g=rx, o=rx
Za razliku od numeričke notacije, vrijednost simboličke notacije sadrži dopuštene bitove koji će biti postavljeni na novo stvorene datoteke i mape.
Postavljanje vrijednosti maske
Maska za stvaranje datoteke može se postaviti oktalnom ili simboličkom notacijom. Da bi promjene
umask
trajne, postavite novu
umask
vrijednost u globalnoj konfiguracijskoj datoteci poput
/etc/profile
file koja će utjecati na sve korisnike ili u konfiguracijskim datotekama ljuske korisnika poput
~/.profile
,
~/.bashrc
ili
~/.zshrc
koje utječe samo na korisnika. Korisničke datoteke imaju prednost nad globalnim datotekama.
Prije izmjene
umask
vrijednosti provjerite da nova vrijednost ne predstavlja potencijalni sigurnosni rizik. Vrijednosti manje restriktivne od
022
treba koristiti s velikim oprezom. Na primjer,
umask 000
znači da će svatko čitati, pisati i izvršavati dopuštenje za sve novo stvorene datoteke.
Recimo da želimo postaviti restriktivnija dopuštenja za novo stvorene datoteke i mape kako drugi ne bi mogli
cd
ove u mape i čitanje datoteka. Dozvole koje tražimo su
750
za direktorije i
640
za datoteke.
Za izračunavanje
umask
vrijednosti jednostavno oduzmite željena dopuštenja od zadanih:
Umask vrijednost:
777-750 = 027
Željena
umask
vrijednost prikazana u numeričkim zapisima je
027
.
Da biste trajno postavili novu vrijednost sustava, otvorite datoteku
/etc/profile
sa svojim uređivačem teksta:
sudo nano /etc/profile
i promijenite ili dodajte sljedeći redak na početku datoteke:
/ Etc / profile
umask 027
Da bi promjene stupile na snagu pokrenite sljedeću
source
naredbu ili odjava i prijavite se:
source /etc/profile
Za potvrdu novih postavki stvorit ćemo jednu novu datoteku i mapu koristeći
mkdir
i
touch
:
mkdir newdir
touch newfile
drwxr-x--- 2 linuxize users 4096 Jul 4 18:14 newdir -rw-r----- 1 linuxize users 0 Jul 4 18:14 newfile
Drugi način za postavljanje maske za stvaranje datoteka je korištenjem simboličke notacije. Na primjer
umask u=rwx, g=rx, o=
isto je kao i
umask 027
.
Zaključak
U ovom smo vodiču objasnili dopuštenja za Linux i kako pomoću
umask
naredbe postaviti bitove dozvola za novo kreirane datoteke ili mape.
Za više informacija upišite
man umask
u svoj terminal.
Chmod naredba u Linuxu (dopuštenja datoteka)

U Linuxu pristup datotekama upravlja se putem dozvola, atributa i vlasništva datoteka. Ovaj je vodič opisao kako pomoću naredbe chmod mijenjati dozvole pristupa datotekama i mapama.
Chgrp naredba u linuxu (promjena grupa)

U Linuxu je svaka datoteka povezana s vlasnikom i skupinom te ima dopuštenja koja određuju koji korisnici mogu čitati, pisati ili izvršavati datoteku. Naredba chgrpc mijenja vlasništvo grupe nad datotekama.
Cp naredba u Linuxu (kopiranje datoteka)

cp je uslužni program za kopiranje datoteka i mapa u Unix i Linux sustavima.