logo

„Chmod“ komanda „Linux“ / „Unix“ su pavyzdžiais

Linux chmod komanda naudojama failų ir katalogų prieigos leidimams pakeisti. Tai reiškia pakeisti režimą . Tai negali pakeisti simbolinių nuorodų leidimo. Netgi jis nepaiso simbolinių nuorodų, atsirandančių per rekursinį katalogo perėjimą.

Viduje Linux failų sistema, kiekvienas failas yra susietas su konkrečiu savininku ir turi prieigą prie skirtingų vartotojų. Vartotojų klasės gali būti:

  • savininkas
  • grupės narys
  • Kiti (visi kiti)

„Linux“ failų leidimai yra trijų tipų:

  • skaityti (r)
  • rašyti (w)
  • vykdyti (x)

Trumpa Chmod istorija

Pirma, komanda chmod pateikiama AT&T UNIX 1 versijoje su chmod sistemos iškvietimu. Prieigos valdymo sąrašai buvo įtraukti į kelias failų sistemas, įtraukiant šiuos dažniausiai naudojamus režimus, siekiant padidinti lankstumą, nes sistemų tipai ir vartotojų skaičius augo.

Chmod versiją, išdėstytą GNU coreutils, nurodė Jimas Meyeringas ir Davidas MacKenzie. Ši komanda pateikiama kaip atskiras „Microsoft Windows“ paketas kaip „UnxUtils“ vietinio „Win32“ prievadų rinkinio, kuriame yra pagrindinių GNU Unix tipo paslaugų, elementas. Be to, komanda chmod buvo išsiųsta į IBM i OS.

Pažiūrėkime, kaip pakeisti failo leidimą naudojant komandą chmod.

Sintaksė:

kaip naudotis mysql darbastaliu

Pagrindinė chmod komandos sintaksė yra tokia:

 chmod 

Paprastai naudojamos šios parinktys:

    -R:Tai reiškia rekursyvų, ty pridėti objektus į pakatalogius.-IN:Tai reiškia daugžodžiavimą, rodyti modifikuotus objektus (nepakeisti objektai nerodomi).

Tikslinis objektas turi įtakos, jei minima simbolinė nuoroda. Failų režimai, tiesiogiai susiję su simbolinėmis nuorodomis, paprastai nenaudojami.

Pagrindinis chmod leidimo komponentas:

Pavyzdžiui, rwxr-x---

Visos trijų simbolių grupės nurodo leidimus visoms klasėms:

    rwx:Kairieji trys simboliai nurodo failo savininko teises (ty vartotojo klasę).r-x:Trys viduriniai simboliai nurodo grupės, kuriai priklauso failas, teises (ty grupės klasei).---:Trys dešinieji simboliai nurodo kitos klasės teises. Naudotojai, kurie nėra failo savininkai ir grupės nariai, negali pasiekti failo.

Galimybės:

Komanda chmod palaiko šias komandų eilutės parinktis:

-c, --pakeitimai: Tai panašu į daugiažodį variantą, tačiau skirtumas tas, kad apie tai pranešama, jei buvo atliktas pakeitimas.

-f, --tylus, --tylus: Jis naudojamas klaidos pranešimams slopinti.

-v, --verbose: Jis naudojamas kiekvieno apdoroto failo diagnostikai rodyti.

---neišsaugoti-šaknis: Jis naudojamas neapdoroti pasvirojo brūkšnio simbolio („/“), ypač (numatytasis).

--išsaugoti šaknį: Jei ši parinktis naudojama, ji neveiks rekursyviai pasviruoju brūkšniu („/“).

--reference=RFILE: Jis naudojamas norint nurodyti RFILE režimą arba MODE reikšmes.

-R, --rekursyvus: Jis naudojamas failams ir katalogams keisti rekursyviai.

--pagalba: Jis naudojamas žinyno vadovei, kuriame trumpai aprašomas naudojimas ir palaikymo parinktys, rodyti.

-- versija: Jis naudojamas versijos informacijai rodyti.

Failo leidimo sintaksė

Jei esate naujas vartotojas, galite susipainioti dėl skirtingų raidžių tipų, naudojamų nustatant failo leidimą. Taigi, prieš tęsdami toliau su komanda chmod, supraskime failo leidimo sintaksę.

Norėdami nustatyti failo ar katalogo leidimą, turime nurodyti šiuos dalykus:

java rūšiavimo eilutės
  • Kas: kas mes esame. (Vartotojas)
  • Ką: kokius pakeitimus ketiname atlikti (pvz., pridėti arba pašalinti leidimą)?
  • Kuris: kuris iš leidimų?

Leidimo pareiškimas vaizduojamas tokiais rodikliais kaip u+x, u-x. Kai „u“ reiškia „vartotoją“, „+“ reiškia pridėti, „-“ reiškia pašalinti, „x“ reiškia vykdomąjį failą (kuris).

pvr pilna forma

Vartotojo vertė gali būti:

u: failo savininkas

g: grupės narys

o: kiti

a: viskas

Leidimų tipai gali būti r, w ir x.

Leidimų nustatymas ir atnaujinimas

Norėdami nustatyti failo leidimą, vykdykite leidimo teiginį naudodami komandą chmod. Pavyzdžiui, norime nustatyti skaitymo ir rašymo leidimą visiems failo „Demo.txt“ naudotojams ir grupėms. Turime perduoti leidimo teiginį „u=rw,go=rw Demo.txt“ su komanda chmod. Norėdami parodyti failo leidimą, vykdykite toliau pateiktą komandą:

 ls -l Demo.txt 

Aukščiau pateikta komanda parodys dabartinį failo „Demo.txt“ failo leidimą.

Norėdami pakeisti leidimą, vykdykite toliau pateiktą komandą:

 chmod u=rw,go=rw Demo.txt 

Apsvarstykite toliau pateiktą išvestį:

Linux chmod komanda

Atsižvelgiant į aukščiau pateiktą išvestį, „Demo.txt“ prieigos leidimas pasikeitė.

Kelių failų leidimų nustatymas

Naudodami komandą chmod galime nustatyti leidimą keliems failams vienu metu. Norėdami pakeisti kelių failų leidimą, nurodykite failo šabloną naudodami komandą chmod. Pavyzdžiui, jei norime nustatyti skaitymo ir rašymo leidimą visiems tekstiniams failams, nurodykite *. txt šabloną su chmod komanda.

Norėdami peržiūrėti viso teksto failo iš dabartinio darbo katalogo leidimą, vykdykite toliau pateiktą komandą:

 ls -l *.txt 

Jame bus išvardyti visi tekstiniai failai su jų leidimo režimu. Apsvarstykite toliau pateiktą išvestį:

Linux chmod komanda

Iš aukščiau pateiktos išvesties daugelis failų turi tik skaitymo leidimą kitiems vartotojams.

Norėdami nustatyti skaitymo ir rašymo teises kitiems vartotojams, vykdykite toliau pateiktą komandą:

 chmod o+w *.txt 

Jis nustatys skaitymo ir rašymo leidimą kitiems tekstinių failų naudotojams. Apsvarstykite toliau pateiktą išvestį:

Linux chmod komanda

Skaičių stenografija

Norėdami nurodyti teises, vietoj raidžių galime naudoti skaitines reikšmes. Leidimui nurodyti naudojama triženklė reikšmė. Kairysis skaitmuo žymi savininką (u), o vidurinis skaitmuo – grupės narius (g). Dešinysis skaitmuo reiškia kitus (o).

Šioje lentelėje pateikti skaitmenys ir jų teisės:

Skaičiai Leidimai
000 Nėra leidimo
001 Vykdyti leidimą
010 Rašymo leidimas
011 Rašymo ir vykdymo leidimai
100 Leidimas skaityti
101 Skaityti ir vykdyti leidimus
110 Skaitymo ir rašymo leidimai
111 Skaityti, rašyti ir vykdyti leidimus

Simboliniai režimai

Be to, komanda chmod priima smulkesnį simbolinį žymėjimą, kuris leidžia keisti konkrečius režimus. Simbolinis režimas susideda iš trijų elementų, kurie sujungiami į vieną teksto eilutę:

 $ chmod [references] [operator] [modes] file... 

Programa chmod taiko operatorių, kad nustatytų, kaip turėtų būti išdėstyti failų režimai. Toliau nurodyti operatoriai yra patvirtinti:

operatorius apibūdinimas
+ Ji prideda aprašytą prie aprašytų klasių.
- Jis pašalina aprašytą režimą iš aprašytų klasių.
= Tai reiškia, kad aprašyti režimai turi būti sukurti tuos pačius režimus aprašytoms klasėms.

Režimai nurodo, kurie leidimai bus pašalinti arba suteikti iš aprašytų klasių. Iš esmės yra trys įprasti režimai, susiję su bendrais leidimais:

vardas Režimas apibūdinimas
skaityti r Jis skaito failą arba išvardija katalogo turinį.
rašyti Į Jis rašo į katalogą arba failą.
vykdyti x Jis atkuria katalogų medį arba vykdo failą.
specialus vykdymas X Tai nėra leidimas, bet gali būti naudojamas, o ne x. Jis naudoja vykdymo leidimus katalogams, nepaisant jų dabartinių leidimų, ir naudoja vykdymo leidimus failui, kuriame nustatytas bent vykdymo leidimų bitas. Tai naudinga, jei naudojama su „+“ operatoriumi ir nenustačius vykdymo leidimo, kuris atsitiktų, jei naudotume tik chmod -R a+rx ., tuo tarpu galime įdiegti chmod -R a+rx . su x verčiau.

Kelias modifikacijas galima apibūdinti išskiriant kelis simbolinius režimus kartu su kableliais. Komanda chmod patikrins umask jei vartotojas nenurodytas.

latekso sąrašas

Specialūs režimai

Be to, komanda chmod gali pakeisti specialius režimus ir papildomus katalogo ar failo leidimus. Simboliniai režimai taikomi „s“, kad nurodytų „setgid“ ir „setuid“ režimus, ir „t“, kad būtų nurodytas lipnus režimas. Režimas naudojamas tik tinkamoms klasėms, nepaisant to, ar paminėtos kitos klasės, ar ne.

Beveik visos operacinės sistemos skaitmeniniu būdu palaiko specialaus režimo specifikaciją, ypač aštuntaine, tačiau kai kurios to nepalaiko. Šioms sistemoms galima pritaikyti tik simbolinius režimus.

Kai kurie komandinės eilutės pavyzdžiai:

komandą apibūdinimas
chmod a+r publicComments.txt Tai pridės kiekvienos klasės (ty grupės, savininko ir kitų) skaitymo leidimą.
chmod a-x publicComments.txt Tai pašalins kiekvienos klasės vykdymo leidimą.
chmod a+rx viewer.sh Tai pridės kiekvienos klasės vykdymo ir skaitymo teises.
chmod u=rw, g=r, o=vidinisPlanas.txt Jis nustatys vartotojo rašymo ir skaitymo teises, grupės skaitymo teises ir atmes prieigą kitiems.
chmod -R u+w, go-w docs Tai apims rašymo leidimą į katalogo dokumentus ir kiekvieną jo turinį savininkui ir ištrins rašymo leidimą kitiems ir grupei.
chmod and=rw groupAgreements.txt Jis nustatys grupės ir vartotojo rašymo ir skaitymo teises.
chmod 664 global.txt Jis nustatys grupės ir vartotojo rašymo ir skaitymo teises ir suteiks skaitymo leidimą kitiems.
chmod 744 Show_myCV.sh Jis nustatys vykdymo, rašymo ir skaitymo teises vartotojui ir suteiks skaitymo leidimą grupei ir kitiems.