Android

Umask-kommando i linux

curso de linux desde cero,. Comando umask

curso de linux desde cero,. Comando umask

Indholdsfortegnelse:

Anonim

På Linux- og Unix-operativsystemer oprettes alle nye filer med et standard sæt tilladelser. umask hjælpeprogrammet giver dig mulighed for at se eller indstille oprettelsesmasken til filtilstand, der bestemmer tilladelsesbitene til nyligt oprettede filer eller mapper.

Det bruges af mkdir, touch, tee og andre kommandoer, der opretter nye filer og mapper.

Linux tilladelser

Inden vi går videre, lad os kort forklare Linux-tilladelsesmodellen.

I Linux er hver fil tilknyttet en ejer og en gruppe og tildelt tilladelsesadgangsrettigheder for tre forskellige klasser af brugere:

  • filsejeren. gruppemedlemmene. alle andre.

Der er tre tilladelsestyper, der gælder for hver klasse:

  • læsetilladelsen. skrivetilladelsen. udfør tilladelsen.

Dette koncept giver dig mulighed for at specificere, hvilke brugere der har tilladelse til at læse filen, skrive til filen eller køre filen.

Hvis du vil se filtilladelser, skal du bruge kommandoen 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

Det første tegn repræsenterer den filtype, der kan være almindelig fil ( - ), bibliotek ( d ), symbolsk link ( l ) eller enhver anden speciel filtype.

De næste ni tegn repræsenterer tilladelserne, tre sæt på tre tegn hver. De første sæt viser ejertilladelser, den anden gruppe tilladelser, og det sidste sæt viser alle andre tilladelser.

Tegn r med en oktalværdi på 4 står for læst, w med en oktalværdi på 2 for skrivning, x med en oktalværdi på 1 for udførelse af tilladelse og ( - ) med en oktalværdi på 0 uden tilladelser.

Der er også tre andre specielle filtilladelsestyper: setuid , setgid og Sticky Bit .

I eksemplet ovenfor ( rwxr-xr-x ) betyder det, at ejeren har læst, skrevet og udført tilladelser ( rwx ), gruppen og andre har læst og udført tilladelser.

Hvis vi repræsenterer filtilladelserne ved hjælp af en numerisk notation, kommer vi op på tallet 755 :

  • Ejer: rwx = 4+2+1 = 7 Gruppe: rx = 4+0+1 = 5 Andet: rx = 4+0+1 = 5

Når de er repræsenteret i numerisk notation, kan tilladelser have tre eller fire oktale cifre (0-7). Det første ciffer repræsenterer de særlige tilladelser, og hvis det udelades, betyder det, at der ikke er angivet nogen særlige tilladelser på filen. I vores tilfælde er 755 det samme som 0755 . Det første ciffer kan være en kombination af 4 for setuid , 2 for setgid og 1 for Sticky Bit .

Filtilladelser kan ændres vha. chmod kommandoen og ejerskab vha. chown kommandoen.

Forståelse umask

Som standard er Linux-systemer standardoprettelsestilladelser 666 for filer, hvilket giver læse- og skrivetilladelse til bruger, gruppe og andre og 777 for mapper, hvilket betyder at læse, skrive og udføre tilladelse til bruger, gruppe og andre. Linux tillader ikke, at der oprettes en fil med udførte tilladelser.

Standardoprettelsestilladelser kan ændres ved hjælp af umask værktøjet.

umask påvirker kun det aktuelle shell-miljø. På de fleste Linux-distributioner indstilles den standarddækkende pam_umask.so i pam_umask.so eller /etc/profile filen.

For at se den aktuelle maskeværdi skal du blot skrive umask uden nogen argumenter:

umask

Outputet vil omfatte

022

umask værdien indeholder tilladelsesbits, der IKKE vil blive indstillet på de nyligt oprettede filer og mapper.

Som vi allerede har nævnt, er standardoprettelsestilladelser for filer 666 og for mapper 777 . For at beregne tilladelsesbitene til de nye filer trækkes umask-værdien fra standardværdien.

For at beregne, hvordan uname 022 vil påvirke nyligt oprettede filer og mapper, skal du for eksempel bruge:

  • Filer: 666 - 022 = 644 . Ejeren kan læse og ændre filerne. Gruppe og andre kan kun læse filerne.Kataloger: 777 - 022 = 755 Ejeren kan cd ind i biblioteket og liste læse, ændre, oprette eller slette filerne i biblioteket. Gruppe og andre kan cd ind i biblioteket og liste og læse filerne.

Du kan også vise maskeværdien i symbolsk notation ved hjælp af indstillingen -S :

umask -S

u=rwx, g=rx, o=rx

I modsætning til den numeriske notation indeholder den symboliske notationsværdi de tilladelsesbits, der vil blive indstillet på de nyligt oprettede filer og mapper.

Indstilling af maskeværdien

Filoprettelsesmasken kan indstilles vha. Octal eller symbolisk notation. For at gøre ændringerne permanente skal du indstille den nye umask værdi i en global konfigurationsfil som /etc/profile , som vil påvirke alle brugere eller i en brugers shell-konfigurationsfiler som ~/.profile , ~/.bashrc eller ~/.zshrc som påvirker kun brugeren. Brugerfilerne har forrang for de globale filer.

Før du foretager ændringer i umask værdien, skal du sørge for, at den nye værdi ikke udgør en potentiel sikkerhedsrisiko. Værdier, der er mindre restriktive end 022 bør bruges med stor forsigtighed. F.eks. Betyder umask 000 , at enhver vil have læst, skrevet og udført tilladelse til på alle nyligt oprettede filer.

Lad os sige, at vi vil indstille mere restriktive tilladelser for de nyligt oprettede filer og mapper, så andre ikke kan cd til katalogerne og læse filer. De tilladelser, vi ønsker, er 750 for mapper og 640 for filer.

For at beregne umask værdien trækkes blot de ønskede tilladelser fra standardtypen:

Umask-værdi: 777-750 = 027

Den ønskede umask værdi repræsenteret i numerisk notation er 027 .

Hvis du vil indstille den nye værdi systemmæssigt permanent, skal du åbne filen /etc/profile med din teksteditor:

sudo nano /etc/profile

og ændre eller tilføj følgende linje i begyndelsen af ​​filen:

/ Etc / profile

umask 027

For ændringer, der træder i kraft, skal du køre følgende source eller logout og logge ind:

source /etc/profile

For at bekræfte de nye indstillinger opretter vi en ny fil og bibliotek ved hjælp af mkdir og 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

En anden måde at indstille filoprettelsesmasken er ved at bruge den symboliske notation. For eksempel er umask u=rwx, g=rx, o= det samme som umask 027 .

Konklusion

I denne vejledning har vi forklaret Linux-tilladelser og hvordan man bruger umask kommandoen til at indstille tilladelsesbitene til nyligt oprettede filer eller mapper.

For mere information, skriv man umask i din terminal.

umask terminal