Ubuntu chmod komandas. Chmod: mainiet atļaujas

Mūsu dokumentācijā par umask komandu. Tajā ir ietverts visaptverošs apraksts par to, kā definēt un norādīt faila atļaujas.

Kopumā chmod komandām ir šāda forma:

chmod iespējas atļaujas faila nosaukums

ja nē iespējas ir norādīti, chmod maina faila atļaujas, ko norāda faila nosaukums norādītajām atļaujām atļaujas.

atļaujas definē atļaujas faila īpašniekam ("lietotājam"), grupas dalībniekiem, kam pieder fails ("grupa") un jebkuram citam ("citiem"). Ir divi veidi, kā attēlot šīs atļaujas: ar simboliem (burtciparu rakstzīmēm) vai ar oktālajiem cipariem (cipariem 0 cauri 7 ).

Pieņemsim, ka esat faila ar nosaukumu īpašnieks mans fails, un vēlaties iestatīt tā atļaujas, lai:

  1. uz u ser var r galva, w rituāls un e x ecute to;
  2. jūsu locekļi g rinda-var r ead un e x ecute to; un
  3. o tur var tikai r izlasi to.

Šī komanda veiks šādu triku:

Chmod u=rwx,g=rx,o=r mans fails

Šajā piemērā tiek izmantots simbolisks atļauju apzīmējums. Burti u, g, un o pastāvēt par" lietotājs", "grupai", un " cits".vienādības zīme(" = ") nozīmē "iestatīt atļaujas tieši šādi" un burti " r", "w", un " x" apzīmē attiecīgi "lasīt", "rakstīt" un "izpildīt". Komati atdala dažādas atļauju klases, un starp tām nav atstarpes.

Šeit ir līdzvērtīga komanda, izmantojot oktālo atļauju apzīmējumu:

Chmod 754 myfile

Šeit ir skaitļi 7 , 5 , un 4 katrs atsevišķi pārstāv lietotāja, grupas un citu atļaujas šādā secībā. Katrs cipars ir skaitļu kombinācija 4 , 2 , 1 , un 0 :

  • 4 apzīmē "lasīt",
  • 2 apzīmē "rakstīt",
  • 1 apzīmē "izpildīt" un
  • 0 apzīmē "nav atļaujas".

Tātad 7 ir atļauju kombinācija 4 +2 +1 (lasīt, rakstīt un izpildīt), 5 ir 4 +0 +1 (lasīt, nerakstīt un izpildīt), un 4 ir 4 +0 +0 (lasīt, nerakstīt un neizpildīt).

Sintakse

chmod[ IESPĒJA]... REŽĪMS[,REŽĪMS]... FILE...chmod[ IESPĒJA]... OCTAL-MODE FILE...chmod[ IESPĒJA]... --atsauce= RFILA FAILS...

Iespējas

-c, -- izmaiņas

Patīk -- daudzrunīgs, bet sniedz detalizētu izvadi tikai tad, kad faktiski tiek veiktas izmaiņas.

-f, -- kluss, -- kluss

Klusais režīms; apspiest lielāko daļu kļūdu ziņojumu.

-v, -- daudzrunīgs

runīgs režīms; izvada diagnostikas ziņojumu katram apstrādātajam failam.

--no-saglabāt-sakne

Parādiet palīdzības ziņojumu un izejiet.

Faila īpašnieks.

cerības personāls

Grupa, kurai pieder fails.

03. februāris 15:36

Fails "s mtime (datums un laiks, kad fails tika pēdējo reizi mainīts).

fails.txt

Faila nosaukums.

Piemēri

chmod 644 fails.htm

Iestatiet atļaujas fails.htm uz "īpašnieks var lasīt un rakstīt; grupa var tikai lasīt; citi var tikai lasīt".

Chmod -R 755 myfiles

rekursīvi ( -R) Mainiet direktorija atļaujas mani faili, un visas tajā esošās mapes un faili, lai ieslēgtu režīmu 755 : lietotājs var lasīt, rakstīt un izpildīt; grupas dalībnieki un citi lietotāji var lasīt un izpildīt, bet nevar rakstīt.

Chmod u=rw example.jpg

Mainiet īpašnieka atļaujas example.jpg lai īpašnieks varētu lasīt un rakstīt failu. Nemainiet atļaujas grupai vai citiem.

Chmod u+s compope.txt

Iestatiet bitu "Set-User-ID". compope.txt, lai ikviens, kurš mēģina piekļūt šim failam, to darītu tā, it kā būtu faila īpašnieks.

Chmod u-s compope.txt

Pretējs iepriekš minētajai komandai; atceļ SUID bita iestatīšanu.

Chmod 755 file.cgi

Iestatiet atļaujas fails.cgi"Lasīt, rakstīt un izpildīt īpašnieks" un "lasīt un izpildīt grupa un visi pārējie".

Chmod 666 fails.txt

Iestatiet atļauju fails.txt lai "lasa un raksta visi.".

Chmod a=rw fails.txt

Izpilda to pašu, ko iepriekš minētā komanda, izmantojot simbolisku apzīmējumu.

saistītās komandas

čown- Mainīt failu vai direktoriju īpašumtiesības.
getfacl- Parādīt failu piekļuves kontroles sarakstus.
ls- Norādiet direktorija vai direktoriju saturu.

Mainiet faila atļaujas

Sintakse:

chmod[-fv] [-R [-H | -L | -P]] režīma fails ... chmod[-fv] [-R [-H | -L | -P]] [-a | +a | =a] .ACE fails ... chmod[-fhv] [-R [-H | -L | -P]] [ ACL_Option] failu ...

Parametri:

-R Rekursija. Izmanto mapēm. Maina tiesības ne tikai uz norādīto objektu, bet arī uz visu tajā ligzdoto objektu
-R-H Sekojiet simboliskajām saitēm komandrinda. Simboliskās saites pēc noklusējuma netiek apstrādātas.
-R -L Visas simboliskās saites tiks apstrādātas
-R -P Saites koks netiks apstrādāts. Noklusējuma iestatījums.
-v Runājošs. Parāda visus modificētos failus
-v -v ļoti runīgs režīms. Vecās un jaunās atļaujas tiks parādītas oktālā (ciparu) un alfabētiskā displeja režīmā
-f nerādīt diagnostikas ziņojumus, ja nav iespējams mainīt faila atļaujas
ACL_Option(ACL — piekļuves kontroles saraksti lietotāju grupām) ACL_manipulation_options

Piekļuves tiesības:

Atļaujas var norādīt alfabētiskā kodā vai ciparu veidā oktālā sistēma rēķināšana

Pārvaldība, izmantojot ciparu autorizāciju:

Tiesību pārvaldībai tiek izmantoti trīs biti

  • pirmā ir lasīšanas tiesības
  • otrā ir tiesības rakstīt
  • trešā ir tiesības izpildīt izpildi
pamazām Numurs Burtu kods tiesību apraksts
000 0 nekādu tiesību
001 1 tiesības izpildīt
010 2 tikai rakstīšanas tiesības
011 3 tiesības ierakstīt un izpildīt
100 4 tikai lasāmas tiesības
101 5 tiesības lasīt un izpildīt
110 6 lasīšanas un rakstīšanas atļauja bez izpildes
111 7 Visas tiesības

Šīs failu atļaujas ir iestatītas trīs piekļuves veidiem:

  • īpašniekam
  • grupai
  • citiem

Rezultātā komanda izskatās šādi:

chmod 444 USD fails — tikai lasīšanas atļauja visiem

755 USD chmod fails - īpašniekam ir visas tiesības (7), citi lietotāji tikai lasa un izpilda (5)

$ chmod 066 fails - īpašniekam nav tiesību uz failu (0), visiem pārējiem ir tiesības lasīt un rakstīt bez izpildes

Pārvaldība, burtiski norādot piekļuves tiesības:

Formāts tiesību norādīšanai pēc rakstzīmju koda

[kurš...][[+-=][tiesības...]...][,...]

PVO ir rakstzīmju kombinācija "ugoa" norādot uz lietotājiem kuru atļaujas piekļūt failam vai mapei tiks mainītas

  • u lietotāja īpašnieks
  • g lietotāju grupa
  • o citi lietotāji
  • a (visi) visiem, līdzīgi kā ugo

Komanda chmod tiek izmantota, lai mainītu failu vai direktoriju atļaujas.

Uz Linux un citiem Unix līdzīgiem operētājsistēmas katram failam ir noteikumu kopums, kas nosaka, kas un kā var piekļūt šim failam. Šos noteikumus sauc par failu atļaujām vai failu režīmiem. Komandas nosaukums chmod nozīmē "mainīt režīmu" un tiek izmantots, lai noteiktu, kā failam tiek piekļūts.

Kopumā chmod komandas izskatās šādi:

chmod atļauju opciju faila nosaukums

Ja parametrus nav norādīts, chmod maina faila atļaujas, kas norādītas faila nosaukums punktā norādītajām atļaujām atļaujas.

Atļaujas definēt piekļuves tiesības faila īpašniekam ("lietotājam"), grupas dalībniekiem, kam pieder fails ("grupa") un visiem pārējiem ("citiem"). Ir divi veidi, kā attēlot šīs atļaujas: izmantojot simbolus (burtciparu rakstzīmes) vai astoņus skaitļus (skaitļus no 0 līdz 7).

Pieņemsim, ka jums pieder fails ar nosaukumu myfile un vēlaties iestatīt tā atļaujas, lai:

  1. lietotājs ( u ser) varētu lasīt ( r lasīt), rakstīt ( w rituāls) un izpildīt ( x ecute) viņu;
  2. grupas biedri ( g rinda) var lasīt ( r lasīt) un izpildīt ( x ecute) viņu;
  3. kā arī citi ( o tur) var tikai lasīt ( r ead) viņu.

Šī komanda izskatīsies šādi:

chmod u=rwx,g=rx,o=r mans fails

Šajā piemērā tiek izmantots simbolisks atļauju ieraksts. Burti u, g un o apzīmē lietotāju, grupu un citus. Vienlīdzības zīme ("=") nozīmē "iestatīt šādas atļaujas", un burti "r", "w" un "x" nozīmē attiecīgi "lasīt", "rakstīt" un "izpildīt". Atdaliet komatus dažādas nodarbības atļaujas, un starp tām nav atstarpes.

Šeit ir līdzvērtīga komanda, izmantojot oktālo atļauju apzīmējumu:

chmod 754 myfile

Šeit cipari 7, 5 un 4 katrs atsevišķi apzīmē lietotāja, grupas un citu atļaujas šādā secībā. Katrs cipars ir skaitļu 4, 2, 1 un 0 kombinācija:

  • 4 nozīmē "lasīt",
  • 2 nozīmē "rakstīt",
  • 1 nozīmē "izpildīt",
  • 0 nozīmē "nav atļaujas".

Tātad 7 ir atļauju kombinācija 4 + 2 + 1 (lasīt, rakstīt un izpildīt), 5 ir 4 + 0 + 1 (lasīt, nerakstīt un izpildīt), un 4 ir 4 + 0 + 0 (lasīt, nē). rakstīt un neizpildīt).

Sintakse chmod

chmod ... MODE [, MODE]... FILE... chmod ... OCTAL-MODE FILE... chmod ... --reference=RFILE FILE...

chmod opcijas

-c, -- izmaiņas Tāpat kā --verbose, bet rada detalizētu izvadi tikai tad, kad faktiski tiek veiktas izmaiņas.

-f, -- kluss, -- kluss Klusuma režīms; apspiest lielāko daļu kļūdu ziņojumu.

-v, -- daudzrunīgs Detaļu režīms; izvada diagnostikas ziņojumu katram apstrādātajam failam.

--no-saglabāt-sakne Neapstrādājiet "/" (saknes direktoriju) nekādā īpašā veidā, kas ir noklusējuma iestatījums.

--konservēt-sakne Nestrādājiet rekursīvi ar "/".

--atsauce=RFILE Iestatiet atļaujas, lai tās atbilstu RFILE faila atļaujām, ignorējot norādīto MODE.

-R, --rekursīvs Rekursīvi mainiet failus un direktorijus.

-- palīdzēt Parādiet palīdzības ziņojumu un izejiet.

-- versija Parādiet informāciju par versiju un izejiet.

Tehniskais apraksts

chmod maina katra norādītā FILE faila režīmu atbilstoši MODE, kas var būt vai nu veikto izmaiņu simbolisks attēlojums, vai oktāls skaitlis, kas attēlo bitu modeli jaunā režīma bitiem.

Simboliskā režīma formāts:

[[+-=]...]

kur perms ir nulle vai vairāki burti no kopas r, w, x, X, s un t, vai viens burts no kopas u, g un o. Varat norādīt vairākus rakstzīmju režīmus, atdalot tos ar komatiem.

Burtu u, g, o un vadīklu kombinācija, kas mainīs lietotāju piekļuvi failam: lietotājs, kuram tas pieder (u), citi lietotāji faila grupā (g), citi lietotāji, kas nav faila grupā ( o) vai visiem lietotājiem (a). Ja neviens no tiem nav dots, efekts ir tā, it kā tiktu dots a, bet umask iestatītie biti netiek ietekmēti.

Operators (+) liek atlasītajiem faila režīma bitiem pievienot katra faila esošajiem faila režīma bitiem; "-" izraisa to dzēšanu; un "=" izraisa to pievienošanu un liek noņemt nepieminētos bitus, izņemot to, ka netiek ietekmēti nemaināmie lietotāja iestatītie direktoriju biti un grupu identifikatori.

Burti r, w, x, X, s un t izvēlas faila režīma bitus ietekmētajiem lietotājiem: lasīt (r), rakstīt (w), izpildīt (x), izpildīt tikai tad, ja fails ir direktorijs vai tam jau ir atļauja. izpildei kādam lietotājam (X), izpildot, iestatiet lietotāja vai grupas ID, ierobežotās dzēšanas karogu vai fiksētu bitu (t). Direktorijiem X un X izpildes opcijas nosaka atļauju skatīt direktorija saturu.

Viena vai vairāku šo burtu vietā varat norādīt vienu no burtiem u, g vai o: atļaujas, kas piešķirtas lietotājam, kuram pieder fails (u), atļaujas, kas piešķirtas citiem lietotājiem, kuri ir faila grupas dalībnieki (g ), un lietotājiem piešķirtās atļaujas, kas nav iekļautas nevienā no divām iepriekšējām kategorijām (o).

Ciparu režīms ir viens līdz četri oktālie cipari (0-7), ko iegūst, pievienojot bitus ar vērtībām 4, 2 un 1. Tiek pieņemts, ka trūkstošie cipari ir sākuma nulles. Pirmais cipars atlasa doto lietotāja id (4) un dotās grupas id (2) un ierobežotos dzēšanas vai lipīgos atribūtus (1). Otrais cipars izvēlas piekļuves tiesības lietotājam, kuram pieder lasīšanas (4), rakstīšanas (2) un izpildes (1) darbības; trešais atlasa atļaujas citiem faila grupas lietotājiem ar vienādām vērtībām; un ceturtā daļa citiem lietotājiem, kas nav faila grupā, ar tādām pašām vērtībām.

chmod nekad nemaina simbolisko saišu atļaujas; chmod sistēmas izsaukums nevar mainīt viņu atļaujas. Taču tā nav problēma, jo simboliskās saites atļaujas nekad netiek izmantotas. Tomēr katrai komandrindā norādītajai simboliskajai saitei chmod maina atļaujas norādītajā failā. Turpretim chmod ignorē simboliskās saites, kas radušās rekursīvās direktoriju pārvietošanās laikā.

Setuid un Setgid biti

chmod notīra parastā faila set-group-ID bitu, ja faila grupas ID neatbilst lietotāja spēkā esošajam grupas ID vai vienam no lietotāja papildu grupas ID, ja vien lietotājam nav atbilstošu privilēģiju. Papildu ierobežojumi var izraisīt set-user-ID un set-group-ID bitu ignorēšanu režīmā MODE vai RFILE. Šī darbība ir atkarīga no pamatā esošā chmod sistēmas izsaukuma politikas un funkcionalitātes. Ja rodas šaubas, pārbaudiet sistēmas darbību.

chmod saglabā direktorija bitus set-user-ID un set-group-ID, ja vien nav norādīts citādi. Varat iestatīt vai notīrīt bitus ar simboliskiem režīmiem, piemēram, u+s un g-s, un varat iestatīt (bet ne notīrīt) bitus ar ciparu režīmu.

Ierobežotas noņemšanas karogs (vai "lipīgs bits")

Ierobežotās dzēšanas karodziņš jeb lipīgais bits ir viens bits, kura interpretācija ir atkarīga no faila veida. Tas neļauj dzēst vai pārdēvēt failu direktorijā lietotājiem, kuriem fails vai direktorijs nepieder; to sauc par ierobežotas dzēšanas karodziņu direktorijai, un tas parasti ir atrodams globāli rakstāmajos direktorijos, piemēram, /tmp. Parastajiem failiem dažās vecākās sistēmās šis bits saglabā programmas teksta attēlu mijmaiņas ierīcē, tāpēc tas tiek ielādēts ātrāk startēšanas laikā; to sauc par lipīgo bitu.

Kā skatīt faila atļaujas

Ātrs un vienkāršs veids, kā uzskaitīt failu atļaujas, ir ar komandas ls opciju garais saraksts (-l). Piemēram, lai skatītu faila file.txt atļaujas, varat izmantot komandu:

Ls -l fails.txt

Kas parādīs izvadi, kas izskatās šādi:

chmod piemēri

chmod 644 fails.htm

Iestata atļaujas failam file.htm “īpašnieks var lasīt un rakstīt; grupa var tikai lasīt; citi var tikai lasīt."

Chmod -R 755 myfiles

Rekursīvi (-R) maina atļaujas myfiles direktorijam un visām tā mapēm un failiem uz režīmu 755. Lietotājs var lasīt, rakstīt un izpildīt; grupas dalībnieki un citi lietotāji var lasīt un izpildīt, bet nevar rakstīt.

Chmod u=rw example.jpg

Maina faila example.jpg īpašnieka atļaujas, lai īpašnieks varētu lasīt un rakstīt failu. Nemaina atļaujas grupai vai citiem.

Chmod u+s compope.txt

Iestata faila comphope.txt bitu Set-User-ID, lai ikviens, kurš mēģina piekļūt šim failam, darītu to tā, it kā būtu faila īpašnieks.

Chmod u-s compope.txt

Pretējs iepriekš minētajai komandai; notīra SUID bitu

Chmod 755 file.cgi

Iestata faila file.cgi atļaujas "lasīt, rakstīt un izpildīt īpašnieks" un "lasīt un izpildīt pēc grupas un visiem pārējiem".

Chmod 666 fails.txt

Iestata faila file.txt atļauju "lasīt un rakstīt ikviens".

Chmod a=rw fails.txt

Izpilda to pašu, ko iepriekš minētā komanda, izmantojot simbolisku apzīmējumu.

Saistītās komandas

čown- Mainiet failu vai direktoriju īpašnieku.
getfacl- Rādīt failu piekļuves kontroles sarakstus.
ls- Norādiet direktorija vai direktoriju saturu.

(Sākotnējā faila atļauju vērtība ir rwxrwxrwx — pilnīga kontrole ikvienam) Atsaukt atļauju izpildīt failu visiem lietotājiem un grupām:

$ chmod a-x fails(rw-rw-rw-)

Atcelt grupas un citu lietotāju rakstīšanu failā:

$ chmod go-w fails (rw-r–r–)

Faila izpildes atļauja no īpašnieka:

$ chmod u+x fails (rwxr–r–)

Piešķirot grupai tādas pašas piekļuves tiesības kā faila īpašniekam:

$ chmod g=u fails (rwxrwxr–)

Atceliet grupas lietotāju un citu lietotāju lasīšanu un rakstīšanu failā:

$ chmod go-rw fails (rwx-x-)

Piemēri komandas chmod izmantošanai absolūtajā režīmā

Atļauja lasīt, rakstīt, izpildīt faila failu visiem lietotājiem un grupām (pilna kontrole):

$ chmod 777 fails (rwxrwxrwx)

Lasīšanas un rakstīšanas atļauju iestatīšana īpašniekam, grupai un citiem lietotājiem:

$ chmod 666 fails (rw-rw-rw-)

Pilnas faila piekļuves iestatīšana īpašniekam un tikai lasīšanas piekļuve grupai un citiem lietotājiem:

$ chmod 744 fails (rwxr-r-)

Pilnas piekļuves failam iestatīšana faila īpašniekam un piekļuves liegšana grupai un citiem lietotājiem:

$ chmod 700 fails (rwx--)

Iestatiet lasīšanas/rakstīšanas atļaujas faila īpašniekam un tikai lasīšanas atļaujas grupai un citiem:

$ chmod 644 fails (rw-r–r–)

Iestatiet lasīšanas un rakstīšanas atļaujas faila un tā grupas īpašniekam un liedziet piekļuvi citiem:

$ chmod 640 fails (rw-r--)

Failu piekļuves iestatīšana ar lasīšanas atļauju visiem lietotājiem un grupām:

$ chmod 444 fails (r–r–r–)

Failu atļaujas lasīt, rakstīt, izpildīt īpašnieks un lasīt, izpildīt pēc grupas un citas:

$ chmod 755 fails (rwxr-xr-x)

Atļaujot lasīt un izpildīt piekļuvi failam lietotājam un citiem, kā arī liegt piekļuvi grupai:

$ chmod 505 fails (r-x-r-x)

Ja vēlaties piešķirt atļaujas visiem failiem pašreizējā direktorijā, vienkārši ievietojiet * (zvaigznīti) aiz piešķirtajām atļaujām:

chmod 755*

Šīs komandas izpildes rezultātā īpašnieks saņems visas tiesības (lasīt, modificēt, izpildīt) uz visiem failiem pašreizējā direktorijā, savukārt grupa un citi lietotāji saņems tikai lasīšanas un izpildes tiesības. Ja vēlaties, lai jūsu darbības tiktu izplatītas rekursīvi (ieskaitot visus apakšdirektorijus), izmantojiet opciju -R:

$ chmod -R 777 *

Iepriekš minētās komandas rezultāts būs rekursīvi "šķērsot" visus pašreizējā direktorija apakšdirektorijus un piešķirt pilnu piekļuvi visiem lietotājiem un grupām. Šajā rakstā ir apskatīti tikai daži komandas chmod izmantošanas piemēri. Ja vēlaties uzzināt vairāk par komandas chmod darbību un Linux atļaujām, skatiet šo rakstu.

Mainīt atļaujas tikai direktorijiem (rekursīvi)

$ atrast /path/to/base/dir -type d -exec chmod 755 () +

$ chmod 755 $ (atrast /path/to/base/dir -type d)

$ chmod 755 `atrast /ceļš/uz/bāze/dir -type d`

$ atrast /ceļš/uz/bāze/dir -type d -print0 | xargs -0 chmod 755

Mainīt atļaujas tikai failiem (rekursīvi)

$ atrast /path/to/base/dir -type f -exec chmod 644 () +

$ chmod 644 $ (atrast /path/to/base/dir -type f)

$ chmod 0755 `atrast ./ -type f`

$ atrast /ceļš/uz/bāze/dir -type f -print0 | xargs -0 chmod 644

Chmod sintakse mapēm un failiem

Vispirms sapratīsim Chmod problēmas būtību, lai saprastu, ko tieši un kā mēs konfigurējam. Tātad sāksim. Atļaujas ir sadalītas Chmod failiem un Chmod direktorijiem. Tie ir apzīmēti vienādi, bet nozīmē nedaudz atšķirīgi.

Piekļuves tiesības (Chmod) failiem ir sadalītas:

    r - tiesības lasīt datus.

    w - tiesības mainīt saturu (rakstīt - tikai mainīt saturu, bet ne dzēst).

    x - tiesības izpildīt failu.

Pakavēsimies nedaudz vairāk par faila izpildes tiesībām. Fakts ir tāds, ka operētājsistēmā Linux (Unix) var izpildīt jebkuru failu. To, vai tas ir izpildāms fails, nosaka nevis tā paplašinājums (paplašinājuma jēdziens nav iekļauts failu sistēma Unix), un atļaujām Chmod. Ja failam ir iestatīta “X” atļauja (chmod x), tas nozīmē, ka to var palaist izpildei.

Tagad par piekļuves tiesībām (Chmod) mapei (direktorijā):

    r - tiesības lasīt direktoriju (jūs varat lasīt direktorija saturu, t.i., iegūt tajā esošo objektu sarakstu)

    w - tiesības mainīt direktorija saturu (jūs varat izveidot un dzēst objektus šajā direktorijā, un, ja jums ir rakstīšanas atļauja, varat izdzēst pat tos failus, kas jums nepieder)

    x - tiesības, kas ļauj ievadīt direktoriju (šīs tiesības vienmēr tiek pārbaudītas vispirms, un pat tad, ja jums ir visas nepieciešamās tiesības uz objektu, kas ir aprakts dziļi direktoriju ķēdē, bet jums nav “X” tiesību piekļūstiet vismaz vienam direktorijam ceļā uz šo failu, jūs nekad to nenokļūsit)

V Linux sistēmas(Unix) visas šīs tiesības piešķir datora galvenais administrators, kuram piekļuvi iegūst, ievadot paroli. Un, ja lielākajai daļai objektu ir tikai lasīšanas piekļuves tiesības (Chmod), tad uz šāda datora vīrusiem praktiski nebūs ko darīt. viņi nevarēs ne tur ierakstīt sevi, ne tad piepildīties. Tieši šis rezultāts mums ir jāsasniedz, iestatot piekļuves tiesības (Chmod) mūsu vietnes objektiem.

Chmod sintakse lietotāju grupām

Pašas atļaujas (Chmod) ir iedalītas trīs kategorijās atkarībā no tā, kas piekļūst objektam:

    "lietotājs" - u (tiešais faila īpašnieks)

    "grupa" - g (tās pašas grupas dalībnieks ar īpašnieku)

    "pasaule" - o (visi pārējie)

Serveris nosaka, kurai lietotāju grupai jūs piederat, kad izveidojat savienojumu ar serveri. Kad, piemēram, izveidojat savienojumu ar serveri, izmantojot FTP, jūs piesakāties ar savu lietotājvārdu (un paroli), un serveris pēc tam piešķir jūs grupai “user” (“u)”. Citi lietotāji, kuri arī izveido savienojumu ar serveri, izmantojot FTP, tiks piešķirti grupai “group” (“g”), un lietotājs, kurš ierodas jūsu vietnē, izmantojot savu pārlūkprogrammu, ietilpst grupā “pasaule” (“o”).

Trīs iespējamo vērtību "r", "w" un "x" variācijas trim kategorijām "u", "g" un "o" nosaka Chmod failiem. Ja kategorija nav norādīta, tā tiek aizstāta ar defisi "-". piekļuves tiesības (Chmod) tiek norādītas secīgi norādītajā secībā:

    pirmās tiesības īpašniekam - "u"

    tad grupai - "g"

    un beigās tiesības visiem pārējiem - "o"

Pēc tam, kad serveris piešķir lietotājam noteikta grupa, tas viņam piešķir tiesības rīkoties ar objektiem, pēc tam lietotājs varēs lasīt, rakstīt vai izpildīt failu (atkarībā no tā, ko viņa grupai ir atļauts darīt ar šo objektu). Lai redzētu mapes saturu, tai ir jābūt lasīšanas atribūtam "r" (grupai, kurai serveris piešķīris lietotāju). Lai izveidotu failu vai mapi esošajā, atribūtam Chmod jābūt iestatītam uz ierakstu "w".

Skaidrības labad apskatīsim piemēru, kur faila īpašniekam ("lietotājs" - "u") ir visas tiesības: tiesības lasīt, rakstīt tajā un izpildīt, bet visiem pārējiem lietotājiem ir tikai lasīšanas tiesības. Šāds Chmod ieraksts izskatītos šādi: "rwx r-- r--". Apskatīsim to sīkāk: "rwx" (šis ieraksts nosaka tiesības uz objektu īpašniekam - "u"), "r--" (šis ieraksts nosaka tiesības uz to pašu objektu, bet, ja lietotājs ir piešķirts serveris grupai - "g ”), "r--" (šis ieraksts nosaka tiesības uz objektu visiem citiem lietotājiem - o).

Kāda ir atšķirība starp Chmod failiem un mapēm

Neko nevar izdarīt

Piekļuve direktorijam un tā apakšdirektorijiem ir liegta

Var redzēt un rediģēt saturu

Var pievienot, dzēst, mainīt mapes failu

Palaist, ja fails ir binārs

Lietotājs var izpildīt bināro failu, par kura esamību viņš zina, ir aizliegts piekļūt vai lasīt direktoriju

Chmod sintakses skaitlis (777)

Var redzēt, ka šeit piekļuves tiesību apzīmēšanai tiek izmantoti ieraksti, kuros izmantoti latīņu burti un defises, taču droši vien jau esat saskāries ar to, ka Chmod parasti tiek iestatīts digitālā formā, piemēram, labi zināmā kombinācija: Chmod 777, ļaujot visu. un visiem. Patiešām, piekļuves tiesības (Chmod) ir norādītas arī ar cipariem:

    w (ieraksts) tiek aizstāts ar 2

    x (izpilde) tiek aizstāts ar 1

0 nozīmē nedarīt neko (ko apzīmē ar defisi alfabētiskajā apzīmējumā) Atgriezīsimies pie piemēra ar piekļuves tiesību apzīmējumu, kuru minēju nedaudz agrāk: rwx r-- r--. Ja tajā esošos burtus un defises aizstājam ar cipariem saskaņā ar tikko aprakstīto noteikumu un tajā pašā laikā pievienojam ciparus katrā trīskāršā, mēs iegūstam digitālais skats no šī ieraksta: 744. T.i. izrādās, ka šo skaitļu summa parāda Chmod failiem vai mapei. Piemēram:

    7 (rwx) = 4 + 2 +1 (pilnas tiesības)

    5 (r-x) = 4 + 0 + 1 (lasīt un izpildīt)

    6 (rw-) = 4 + 2 + 0 (lasīt un rakstīt)

    4 (r--) =4 + 0 + 0 (tikai lasāma)

Šajā tabulā ir norādītas visas iespējamās Chmod kombinācijas skaitliskā formā:

Un tagad apskatīsim dažādās Chmod kombinācijas skaitļos saistībā ar lietotāju grupām:

""Īpašnieks""

""Grupa""

""Atpūta""

veikt

veikt

veikt

Jūs pats (izņemot gadījumus, kad piekļūstat vietnei, izmantojot FTP) un visi citi jūsu vietnes apmeklētāji piederat grupai “word” (visi pārējie), tāpēc, lai strādātu ar vietni, mums vispirms ir jāaplūko pēdējais (trešais) cipars. Chmod. Lai skripts “palaistu failu”, kad lietotājs strādā ar vietni, pietiks, ka tai ir iestatītas piekļuves tiesības (Chmod), sākot no “4” (r-- – tikai lasāms) (5, 6,7 arī ir piemēroti, taču tas būtu pārspīlēti drošības apsvērumu dēļ.

“Mapei”, kurā atrodas šī skripta fails, jāiestata vismaz “5” (r-x - varat doties uz mapi un izlasīt tās saturu, nevar izdzēst vai pievienot). 7 arī der, bet arī drošības ziņā būs lieki. Ja jums ir nepieciešams skripts, lai ne tikai lasītu, bet arī "rakstītu" dažus datus (piemēram, lietotāja ievadītos), tad minimālās tiesības uz "mapi" joprojām būs "5", bet "fails" jau būs nepieciešamas tiesības “6 » (lasīt un rakstīt).

Visticamāk, serverī, kurā kopējāt vietnes programmas saturu, objektos tiks instalēts šāds Chmod:

Mapes 755

īpašnieks (lietotājs) var visu, grupa un visi pārējie var tikai lasīt mapes un tajās iedziļināties, bet rakstīt failus, mainīt nosaukumus un dzēst katalogos nedrīkst. (rwxr-xr-x)

Faili 644

Ja jums būtu vietne, kas sastāvētu no html, tad jūs varētu atstāt visu tā. Bet mūsdienu vietnes ir veidotas uz dzinējiem, un var būt objekti, kuriem jāraksta lietotāju vārdā no "pasaules" grupas - o (visi pārējie). Tās var būt mapes, kas tiek izmantotas lapu saglabāšanai kešatmiņā vai tās, kurās, strādājot ar vietni, tiks ielādēti attēli utt. Pats par sevi saprotams, ka, piekļūstot vietnei, izmantojot FTP, varat rakstīt šajos failos vai mapēs, taču, strādājot ar vietnes saskarni kā parasts lietotājs, var rasties problēmas. Tāpēc dažu Chmodu uzstādīšana ir jāpieiet selektīvi.

Komanda chmod (Mainīt MODE- mainīt režīmu) ir ļoti specifiska sintakse. Sintakse kopumā:
bet to raksturo tas, ka režīma maiņa var izpausties dažādos veidos. To var norādīt divos veidos:

  1. kā oktālais skaitlis. Īpašnieka atļaujas tad atbilst cipariem formā 00 , kur tas atbilst piešķirtajai atļaujai: 4 lasīšanai, 2 rakstīšanai un 1 izpildei. Līdzīgi īpašnieku grupas atļaujas kļūst par 0 , bet atļaujas "citiem" kļūst par . Pēc tam viss, kas jums jādara, ir jāatrod piešķirto atļauju summa, lai iegūtu vajadzīgo režīmu. Tātad atļaujas rwxr-xr-- atbilst 400+200+100 (īpašnieka atļaujas, rwx) +40+10 (grupas atļaujas, r-x) +4 (citas atļaujas, r--) = 754; tādējādi atļaujas tiek izteiktas kā brīvie dalībnieki. Tas nozīmē, ka iepriekšējās atļaujas tiek bez nosacījumiem aizstātas;
  2. izmantojot izteicienus. Šajā gadījumā atļaujas tiek izteiktas, izmantojot izteiksmju secību, kas atdalīta ar komatiem. No šejienes izteiksme kļūst par: [kategorija]<+|-|=><разрешения> .
Piemēri:
  • chmod -R o-w /shared/docs: rekursīvi noņem citu personu rakstīšanas atļaujas no visiem failiem un apakšdirektorijiem direktorijā /shared/docs/.
  • chmod -R og-w,o-x privāts/: rekursīvi noņem rakstīšanas atļaujas grupai un citiem no visa privātā/direktorija un noņem izpildes atļaujas citiem.
  • chmod -c 644 misc/file*: maina atļaujas visiem failiem direktorijā misc/, kuru nosaukumi sākas ar failu uz rw-r--r-- (t.i., lasīšanas atļauja visiem un rakstīšanas atļauja tikai īpašniekam), un ziņo tikai par tiem failiem, kurus ietekmēja komandu.

Šajā piemērā parādīts, kā ļaut visiem lietotājiem lasīt, modificēt un saglabāt failu. Lai to izdarītu, jums ir jāmaina grupas "citi" atļaujas.
Komandrindā ievadiet:
ls -l example1.txt Tiks parādīta šāda informācija:
-rw-rw-r-- 1 lietotājs lietotājs 42. marts 24 22:07 example1.txt Tagad ievadiet šādu komandu:
chmod o+w example1.txt Komanda o+w nozīmē, ka jūs piešķirat "citiem", kas apzīmēti ar burtu "o", rakstīšanas atļauju failam example1.txt . Lai redzētu, kāds ir norādītās komandas izpildes rezultāts, vēlreiz apskatīsim failu:
-rw-rw-rw- 1 lietotājs lietotājs 42. marts 24 22:09 example1.txt Tagad ikviens var lasīt un rakstīt failu.
Lai atspējotu faila example1.txt lasīšanu un rakstīšanu, izmantojiet komandu chmod.
chmod go-rw example1.txt Komanda go-rw norāda sistēmai, ka vēlaties neļaut grupai un "citiem" lasīt un rakstīt failā example1.txt.
Rezultātā atļaujas izskatīsies šādi:
-rw------- 1 lietotājs lietotājs 42. marts 24 22:10 example1.txt Iepriekš minētās klases un tiesības ir saīsinātas attiecīgajiem angļu valodas vārdiem, tāpēc tās ir viegli atcerēties: viss, kas jums jāatceras, ir daži simboli un burtiem.
Šeit ir šo saīsinājumu atšifrējumu saraksts:

u klases - lietotājs, kurš ir faila īpašnieks (no angļu valodas "user");
g - grupa, kurai lietotājs pieder (no angļu valodas "group");
o - pārējais (nevis īpašnieks un ne īpašnieku grupa, no angļu valodas "others");
a - viss (u, g un o no angļu valodas "viss"). Atļaujas r - lasīšanas tiesības;
w ir tiesības rakstīt;
x - izpildes tiesības. Darbības + - dod tiesības;
- - atņem tiesības;
= - atstāj tikai šīs tiesības.

Vai vēlaties pārbaudīt savas zināšanas? Noņemiet visas tiesības uz failu example1.txt visiem lietotājiem.
chmod a-rwx example1.txt Tagad pārbaudiet, vai varat lasīt dotais fails komanda cat example1.txt . Jums vajadzētu redzēt tālāk norādīto.
cat: example1.txt: Atļauja liegta Atsaucot visas atļaujas, tostarp savas, jūs esat liedzis piekļuvi failam. Bet, tā kā fails pieder jums, jūs vienmēr varat atgriezt tiesības ar šādu komandu:
chmod u+rw example1.txt Lai pārliecinātos, ka varat lasīt šo failu, izmantojiet komandu cat example1.txt.
Šeit ir daži komandas chmod izmantošanas piemēri:

  • g+w Piešķir īpašumtiesību grupai rakstīšanas atļauju.
  • o-rwx - atņem visas tiesības citiem lietotājiem;
  • u+x - dod īpašniekam tiesības izpildīt failu;
  • a+rw — ļauj ikvienam lasīt un rakstīt failā;
  • ug+r - ļauj īpašniekam un grupai lasīt failu;
  • g=rx - ļauj grupai lasīt un izpildīt failu (nevis rakstīt tajā).

Opcija -R ļauj mainīt atļaujas visam direktoriju kokam.
Tā kā direktorijus nevar "izpildīt" kā lietojumprogrammas, atbilstošo tiesību pievienošana vai noņemšana nozīmē direktorija skatīšanas atļaušanu (vai atļaušanu).
Piemēram, ja neļaujat citiem lietotājiem izpildīt dokumentu/direktoriju, nav nozīmes tam, kam ir lasīšanas un rakstīšanas atļaujas. Neviens nevarēs piekļūt direktorija saturam, ja vien nezina precīzu tajā esošā faila nosaukumu.
Ierakstiet, piemēram:
chmod a-x docs, lai atsauktu izpildes atļaujas no visiem lietotājiem.
Ja tagad mēģināt mainīt direktoriju ar cd docs , jūs saņemsit neveiksmi:
bash: docs: Atļauja liegta Atprasīt atļaujas sev un savai grupai:
chmod ug+x docs Ja tagad pārbaudīsit savu darbību rezultātus ar komandu ls -l, redzēsiet, ka tikai citiem lietotājiem ir liegta piekļuve docs/ direktorijam.