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:
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:
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:
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:
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
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. |