logo

Chmod komanda Linux/Unix ar piemēriem

Linux chmod komanda tiek izmantota, lai mainītu failu un direktoriju piekļuves atļaujas. Tas nozīmē mainīt režīmu . Tas nevar mainīt simbolisku saišu atļauju. Pat tas ignorē simboliskās saites, kas saskaras ar rekursīvu direktoriju šķērsošanu.

Iekš Linux failu sistēma, katrs fails ir saistīts ar konkrētu īpašnieku, un tam ir atļauja piekļūt dažādiem lietotājiem. Lietotāju klases var būt:

  • īpašnieks
  • grupas dalībnieks
  • Citi (visi pārējie)

Failu atļaujas operētājsistēmā Linux ir trīs veidu:

  • lasīt (r)
  • rakstīt (w)
  • izpildīt (x)

Īsa Chmod vēsture

Pirmkārt, komanda chmod tiek attēlota AT&T UNIX 1. versijā ar chmod sistēmas izsaukumu. Piekļuves kontroles saraksti tika iekļauti vairākās failu sistēmās, iekļaujot šos visizplatītākos režīmus, lai uzlabotu elastību, jo sistēmu veidi un lietotāju skaits pieauga.

Chmod versiju, kas sakārtota GNU coreutils, norādīja Džims Meijings un Deivids Makkenzijs. Šī komanda ir pieejama kā atsevišķa pakotne operētājsistēmai Microsoft Windows kā elementu UnxUtils vietējā Win32 portu kolekcijas pamata GNU Unix tipa utilītprogrammām. Arī komanda chmod ir nosūtīta uz IBM i OS.

Apskatīsim, kā mainīt faila atļauju, izmantojot komandu chmod.

Sintakse:

cik pilsētu ir Amerikas Savienotajās Valstīs

Komandas chmod pamata sintakse ir šāda:

 chmod 

Parasti tiek izmantotas šādas iespējas:

    -R:Tas apzīmē rekursīvu, t.i., objektu pievienošanu apakšdirektorijiem.-IN:Tas apzīmē detalizētu, displeja objektus, kas ir modificēti (nepārveidoti objekti netiek parādīti).

Mērķa objekts tiek ietekmēts, ja tiek minēta simboliska saite. Ar pašām simboliskajām saitēm tieši saistītie failu režīmi parasti netiek izmantoti.

Chmod atļaujas galvenā sastāvdaļa:

Piemēram, rwxr-x---

Visas trīs rakstzīmju grupas nosaka atļaujas visām klasēm:

    rwx:Trīs galējās kreisās rakstzīmes norāda faila īpašnieka atļaujas (t.i., lietotāja klasi).r-x:Trīs vidējās rakstzīmes norāda atļaujas grupai, kurai pieder fails (t.i., grupas klasei).---:Trīs galējās labās rakstzīmes norāda atļaujas citai klasei. Lietotāji, kas nav faila īpašnieki un grupas dalībnieki, nevar piekļūt failam.

Iespējas:

Komanda chmod atbalsta šādas komandrindas opcijas:

-c, --izmaiņas: Tas ir līdzīgs detalizētai opcijai, taču atšķirība ir tāda, ka par to tiek ziņots, ja ir veiktas izmaiņas.

-f, --kluss, --kluss: To izmanto, lai apspiestu kļūdu ziņojumus.

-v, -- runīgs: To izmanto, lai parādītu diagnostiku katram apstrādātajam failam.

---no-preserve-root: To izmanto, lai neapstrādātu atpakaļvērstās slīpsvītras simbolu ('/'), jo īpaši (noklusējums).

--saglabāt-sakne: Ja šī opcija tiek izmantota, tā nedarbosies rekursīvi uz slīpsvītras ('/').

datums uz virkni

--reference=RFILE: To izmanto, lai norādītu RFILE režīmu vai MODE vērtības.

-R, --rekursīvs: To izmanto, lai rekursīvi mainītu failus un direktorijus.

--palīdzība: To izmanto, lai parādītu palīdzības rokasgrāmatu, kurā ir īss lietošanas un atbalsta iespēju apraksts.

-- versija: To izmanto, lai parādītu informāciju par versiju.

Faila atļaujas sintakse

Ja esat jauns lietotājs, jūs varat sajaukt ar dažāda veida burtiem, kas tiek izmantoti faila atļaujas iestatīšanai. Tātad, pirms turpināt ar chmod komandu, sapratīsim faila atļaujas sintaksi.

Lai iestatītu faila vai direktorija atļauju, mums ir jānorāda šādas lietas:

  • Kurš: Kas mēs esam. (lietotājs)
  • Kas: kādas izmaiņas mēs veiksim (piemēram, pievienosim vai noņemsim atļauju)?
  • Kura: kura no atļaujām?

Atļaujas paziņojums tiek attēlots tādos rādītājos kā u+x, u-x. Kur “u” apzīmē “lietotājs”, “+” apzīmē pievienošanu, “-” apzīmē noņemšanu, “x” apzīmē izpildāmo failu (kas).

pārvēršot int par virkni

Lietotāja vērtība var būt:

u: faila īpašnieks

g: grupas dalībnieks

o: citi

a: viss

Atļauju veidi var būt r, w un x.

Atļauju iestatīšana un atjaunināšana

Lai iestatītu faila atļauju, izpildiet atļaujas paziņojumu ar komandu chmod. Piemēram, mēs vēlamies iestatīt lasīšanas un rakstīšanas atļaujas visiem faila Demo.txt lietotājiem un grupām. Mums ir jānodod atļaujas paziņojums 'u=rw,go=rw Demo.txt' ar komandu chmod. Lai parādītu faila atļauju, izpildiet tālāk norādīto komandu:

 ls -l Demo.txt 

Iepriekš minētā komanda parādīs faila pašreizējās faila atļaujas 'Demo.txt' failam.

Lai mainītu atļauju, izpildiet tālāk norādīto komandu:

 chmod u=rw,go=rw Demo.txt 

Apsveriet tālāk norādīto izvadi:

Linux chmod komanda

No iepriekš minētās izvades faila Demo.txt piekļuves atļauja ir mainīta.

Atļauju iestatīšana vairākiem failiem

Mēs varam iestatīt atļauju vairākiem failiem vienlaikus, izmantojot komandu chmod. Lai mainītu vairāku failu faila atļaujas, norādiet faila modeli ar komandu chmod. Piemēram, ja vēlamies iestatīt lasīšanas un rakstīšanas atļauju visiem teksta failiem, norādiet *. txt raksts ar komandu chmod.

Lai skatītu visa teksta faila atļaujas no pašreizējā darba direktorija, izpildiet tālāk norādīto komandu:

 ls -l *.txt 

Tajā tiks uzskaitīti visi teksta faili ar to atļaujas režīmu. Apsveriet tālāk norādīto izvadi:

Linux chmod komanda

No iepriekš minētās izvades daudziem failiem ir tikai lasīšanas atļauja citiem lietotājiem.

Lai iestatītu lasīšanas un rakstīšanas atļauju citiem lietotājiem, izpildiet tālāk norādīto komandu:

 chmod o+w *.txt 

Tas iestatīs lasīšanas un rakstīšanas atļaujas citiem teksta failu lietotājiem. Apsveriet tālāk norādīto izvadi:

Alise Manjonoka
Linux chmod komanda

Ciparu stenogrāfija

Mēs varam izmantot skaitliskās vērtības, nevis burtus, lai norādītu atļaujas. Lai norādītu atļauju, tiek izmantota trīsciparu vērtība. Kreisais galējais cipars apzīmē īpašnieku (u), bet vidējais cipars apzīmē grupas dalībniekus (g). Labākais cipars apzīmē pārējos (o).

Šajā tabulā ir parādīti cipari un to atļaujas:

Cipari Atļaujas
000 Nav atļaujas
001 Izpildīt atļauju
010 Rakstīšanas atļauja
011 Rakstīšanas un izpildes atļaujas
100 Lasīšanas atļauja
101 Lasīt un izpildīt atļaujas
110 Lasīšanas un rakstīšanas atļaujas
111 Lasīšanas, rakstīšanas un izpildes atļaujas

Simboliskie režīmi

Arī komanda chmod pieņem smalkāku simbolisko apzīmējumu, kas ļauj mainīt konkrētus režīmus. Simboliskais režīms sastāv no trim elementiem, kas tiek apvienoti, lai izveidotu vienu teksta virkni:

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

Programma chmod izmanto operatoru, lai noteiktu, kā jāsakārto faila režīmi. Tālāk norādītie operatori ir apstiprināti:

Operators Apraksts
+ Tas pievienotajām klasēm pievieno aprakstīto.
- Tas noņem aprakstīto režīmu no aprakstītajām klasēm.
= Tas nozīmē, ka aprakstītie režīmi ir jāizveido tādi paši režīmi aprakstītajām klasēm.

Režīmi norāda, kuras atļaujas tiks noņemtas vai piešķirtas no aprakstītajām klasēm. Ir galvenokārt trīs izplatīti režīmi, kas ir saistīti ar kopējām atļaujām:

Vārds Režīms Apraksts
lasīt r Tas nolasa failu vai uzskaita direktorija saturu.
rakstīt In Tas raksta direktorijā vai failā.
izpildīt x Tas atkārto direktoriju koku vai izpilda failu.
īpašs izpildījums X Tā nav atļauja, bet tā vietā to var izmantot, nevis x. Tas izmanto izpildes atļaujas direktorijiem, neskatoties uz to pašreizējām atļaujām, un izmanto izpildes atļaujas failam, kuram ir iestatīts vismaz izpildes atļauju bits. Tas ir noderīgi, ja tiek izmantots ar operatoru '+' un bez izpildes atļaujas iestatīšanas, kas notiktu, ja mēs vienkārši izmantotu chmod -R a+rx ., savukārt mēs varam ieviest chmod -R a+rx . ar x drīzāk.

Vairākas modifikācijas var aprakstīt, izolējot vairākus simboliskos režīmus kopā ar komatiem. Komanda chmod pārbaudīs umask ja lietotājs nav norādīts.

Īpašie režīmi

Arī komanda chmod var mainīt direktorija vai faila īpašos režīmus un papildu atļaujas. Simboliskie režīmi izmanto “s”, lai norādītu režīmu setgid un setuid, un “t”, lai norādītu lipīgo režīmu. Režīms tiek izmantots tikai pareizajām klasēm, neskatoties uz to, vai citas klases ir minētas vai nē.

Gandrīz visas operētājsistēmas skaitliski atbalsta īpašā režīma specifikāciju, īpaši oktālos, bet dažas to neatbalsta. Šīm sistēmām var piemērot tikai simboliskos režīmus.

Daži komandrindas piemēri:

Pavēli Apraksts
chmod a+r publicComments.txt Tas pievienos lasīšanas atļauju katrai klasei (t.i., grupai, īpašniekam un citiem).
chmod a-x publicComments.txt Tas noņems katras klases izpildes atļauju.
chmod a+rx viewer.sh Tas katrai klasei pievienos izpildes un lasīšanas atļaujas.
chmod u=rw, g=r, o=internalPlan.txt Tas iestatīs rakstīšanas un lasīšanas atļaujas lietotājam, ser lasīšanas atļaujas grupai un noraidīs piekļuvi citiem.
chmod -R u+w, go-w dokumenti Tas ietvers rakstīšanas atļauju direktoriju dokumentos un katra tā satura īpašniekam un dzēš rakstīšanas atļauju citiem un grupai.
chmod and=rw groupAgreements.txt Tas iestatīs rakstīšanas un lasīšanas atļaujas grupai un lietotājam.
chmod 664 global.txt Tas iestatīs rakstīšanas un lasīšanas atļaujas grupai un lietotājam un piešķirs lasīšanas atļauju citiem.
chmod 744 Show_myCV.sh Tas iestatīs lietotāja izpildes, rakstīšanas un lasīšanas atļaujas un piešķir lasīšanas atļauju grupai un citiem.