Android

Umask naredba u Linuxu

Operativni sistemi - 016 - (chmod) Numerički prikaz privilegija

Operativni sistemi - 016 - (chmod) Numerički prikaz privilegija

Sadržaj:

Anonim

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 se cd 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.

umask terminal