Ubuntu chmod käsud. Chmod: muutke õigusi

Meie dokumentatsioonis umask käsk. See sisaldab põhjalikku kirjeldust failiõiguste määratlemise ja täpsustamise kohta.

Üldiselt, chmod käsud on järgmisel kujul:

chmod valikuid load faili nimi

kui ei valikuid on täpsustatud, chmod muudab poolt määratud faili õigusi faili nimi poolt määratud lubadele load.

load määratleb õigused faili omanikule ("kasutaja"), rühma liikmetele, kellele fail kuulub ("grupp") ja kõigile teistele ("muud"). Nende õiguste esitamiseks on kaks võimalust: sümbolitega (tähtnumbrilised märgid) või kaheksandnumbritega (numbrid 0 läbi 7 ).

Oletame, et olete faili nimega omanik minu fail ja soovite määrata selle õigused nii, et:

  1. a u ser saab r pea, w riitus ja e x ecute it;
  2. teie liikmed g rida-purk r ead ja e x ecute it; ja
  3. o need võivad ainult r Loe seda.

See käsk teeb triki ära:

Chmod u=rwx,g=rx,o=r minu fail

See näide kasutab sümboolseid lubade tähistusi. Kirjad u, g, ja o eest seisma" kasutaja", "Grupp", ja " muud". võrdusmärk(" = ") tähendab "määrake õigused täpselt nii" ja tähed " r", "w", ja " x" tähistab vastavalt "lugeda", "kirjutada" ja "käivitada". Komad eraldavad erinevad õigusklassid ja nende vahel ei ole tühikuid.

Siin on samaväärne käsk, mis kasutab oktaalseid õigusi:

Chmod 754 minu fail

Siin on numbrid 7 , 5 , ja 4 igaüks esindab eraldi kasutaja, rühma ja teiste õigusi selles järjekorras. Iga number on numbrite kombinatsioon 4 , 2 , 1 , ja 0 :

  • 4 tähendab "lugeda",
  • 2 tähendab "kirjutada",
  • 1 tähistab "täitma" ja
  • 0 tähistab "lubamata".

Niisiis 7 on lubade kombinatsioon 4 +2 +1 (lugege, kirjutage ja käivitage), 5 on 4 +0 +1 (lugeda, mitte kirjutada ja käivitada) ja 4 on 4 +0 +0 (loe, ei kirjuta ega täida).

Süntaks

chmod[ VALIK]... REŽIIM[,REŽIIM]... FAIL...chmod[ VALIK]... OCTAL-MODE FAIL...chmod[ VALIK]... --viite= RFIIL-FAIL...

Valikud

-c, --muutused

meeldib --sõnaline, kuid annab üksikasjaliku väljundi ainult siis, kui muudatus on tegelikult tehtud.

-f, -- vaikne, -- vaikne

Vaikne režiim; summutab enamiku veateateid.

-v, --sõnaline

paljusõnaline režiim; väljastab iga töödeldud faili kohta diagnostikateate.

--ei-säilita-juur

Kuvage abiteade ja väljuge.

Faili omanik.

lootuspersonal

Grupp, kellele fail kuulub.

03. veebruar 15:36

Fail "s mtime (faili viimati muutmise kuupäev ja kellaaeg).

fail.txt

Faili nimi.

Näited

chmod 644 file.htm

Määrake õigused fail.htm"Omanik saab lugeda ja kirjutada; rühm saab ainult lugeda; teised saavad ainult lugeda".

Chmod -R 755 minu failid

rekursiivselt ( -R) Muutke kataloogi õigusi minu failid ja kõik selles sisalduvad kaustad ja failid režiimi 755 : kasutaja saab lugeda, kirjutada ja käivitada; rühmaliikmed ja teised kasutajad saavad lugeda ja käivitada, kuid ei saa kirjutada.

Chmod u=rw näide.jpg

Muutke omaniku õigusi näide.jpg et omanik saaks faili lugeda ja kirjutada. Ärge muutke grupi ega teiste õigusi.

Chmod u+s compope.txt

Määrake bitt "Set-User-ID". compope.txt, nii et igaüks, kes üritab sellele failile juurde pääseda, teeb seda nii, nagu oleks ta faili omanik.

Chmod u-s compope.txt

Ülaltoodud käsu vastand; tühistab SUID-biti seadistuse.

Chmod 755 file.cgi

Määrake õigused fail.cgi"Loe, kirjuta ja teostab omanik" ning "lugeb ja teostab rühm ja kõik teised".

Chmod 666 fail.txt

Määrake luba fail.txt et "kõik loevad ja kirjutavad".

Chmod a=rw fail.txt

Täidab sama asja, mis ülaltoodud käsk, kasutades sümboolset tähistust.

seotud käsud

chown- Muutke failide või kataloogide omandiõigust.
getfacl- Failide juurdepääsu kontrolli loendite kuvamine.
ls- Loetlege kataloogi või kataloogide sisu.

Muutke faili õigusi

Süntaks:

chmod[-fv] [-R [-H | -L | -P]] režiimi fail ... chmod[-fv] [-R [-H | -L | -P]] [-a | +a | =a] .ACE-fail ... chmod[-fhv] [-R [-H | -L | -P]] [ ACL_Option] faili ...

Parameetrid:

-R Rekursioon. Kasutatakse kaustade jaoks. Muudab õigusi mitte ainult määratud objektile, vaid ka kõikidele selles pesastatud objektidele
-R -H Järgige sümboolseid linke käsurida. Sümboolseid linke vaikimisi ei töödelda.
-R-L Kõik sümboolsed lingid töödeldakse
-R -P Lingipuud ei töödelda. Vaikeseade.
-v Paljusõnaline. Näitab kõiki muudetud faile
-v -v väga paljusõnaline režiim. Vanad ja uued load kuvatakse kaheksand- (numbri-) ja tähestikulises kuvamisrežiimis
-f Ärge kuvage diagnostikateateid, kui failiõigusi pole võimalik muuta
ACL_Option(ACL – kasutajarühmade juurdepääsukontrolli loendid) ACL_manipulation_options

Juurdepääsuõigused:

Lubasid saab määrata tähestikulise koodi või numbripõhiselt kaheksandsüsteem arvestus

Haldamine numbrilise volituse kaudu:

Õiguste haldamiseks kasutatakse kolme bitti

  • esimene on lugemisõigus
  • teine ​​on kirjutamisõigus
  • kolmas on hukkamisõigus
vähehaaval Number Kirja kood seaduse kirjeldus
000 0 õigusi pole
001 1 õigus esineda
010 2 ainult kirjutamisõigus
011 3 õigus salvestada ja esitada
100 4 kirjutuskaitstud õigus
101 5 lugemis- ja esinemisõigus
110 6 lugemis- ja kirjutamisluba ilma täitmiseta
111 7 kõik õigused

Need failiõigused on määratud kolme tüüpi juurdepääsu jaoks.

  • omaniku jaoks
  • grupi jaoks
  • teiste jaoks

Selle tulemusena näeb käsk välja selline:

chmod 444 dollarit fail – kirjutuskaitstud luba kõigile

chmod 755 dollarit fail - omanikul on kõik õigused (7), teised kasutajad ainult loevad ja käitavad (5)

$ chmod 066 fail - faili omanikul pole õigusi (0), kõigil teistel on õigus lugeda ja kirjutada ilma käivitamata

Haldamine juurdepääsuõiguste sõnasõnalise näitamise kaudu:

Märgikoodi järgi õiguste määramise vorming

[kes...][[+-=][õigused...]...][,...]

WHO on märkide kombinatsioon "ugoa" osutades kasutajad kelle juurdepääsuõigusi failile või kaustale muudetakse

  • u kasutaja omanik
  • g kasutajagrupp
  • o teised kasutajad
  • a (kõik) kõigi jaoks, sarnane ugoga

Käsku chmod kasutatakse failide või kataloogide õiguste muutmiseks.

Linuxis ja muudes Unixi sarnastes tingimustes operatsioonisüsteemid iga faili jaoks on reeglid, mis määravad, kes ja kuidas sellele failile juurde pääseb. Neid reegleid nimetatakse failiõigusteks või failirežiimideks. Käsu nimi chmod tähistab "muutmisrežiimi" ja seda kasutatakse failile juurdepääsu määramiseks.

Üldiselt näevad chmod käsud välja järgmised:

chmod loa valikute failinimi

Kui parameetrid pole täpsustatud, muudab chmod jaotises määratud faili õigusi faili nimi, punktis määratud lubadele load.

load määrake juurdepääsuõigused faili omanikule ("kasutaja"), faili omava rühma liikmetele ("grupp") ja kõigile teistele ("teised"). Nende õiguste esitamiseks on kaks võimalust: sümbolite (tähtnumbrilised märgid) või kaheksandikarvu (numbrid 0 kuni 7) kasutamine.

Oletame, et teil on fail nimega myfile ja soovite määrata selle õigused nii, et:

  1. kasutaja ( u ser) oskas lugeda ( r loe), kirjuta ( w riitus) ja sooritama ( x ecute) teda;
  2. grupi liikmed ( g rida) oskab lugeda ( r ead) ja käivita ( x ecute) teda;
  3. nagu ka teised ( o need) oskavad ainult lugeda ( r ead) teda.

See käsk näeb välja selline:

chmod u=rwx,g=rx,o=r minu fail

See näide kasutab lubade jaoks sümboolset kirjet. Tähed u, g ja o tähistavad kasutajat, rühma ja muud. Võrdsusmärk ("=") tähendab "selliste õiguste määramist" ning tähed "r", "w" ja "x" tähendavad vastavalt "lugemist", "kirjutamist" ja "käivitamist". Eraldage komad erinevad klassidõigused ja nende vahel ei ole tühikuid.

Siin on samaväärne käsk, mis kasutab kaheksandat luba:

chmod 754 minu fail

Siin tähistavad numbrid 7, 5 ja 4 igaüks eraldi kasutaja, rühma ja teiste õigusi selles järjekorras. Iga number on numbrite 4, 2, 1 ja 0 kombinatsioon:

  • 4 tähendab "lugeda",
  • 2 tähendab "kirjutada",
  • 1 tähendab "täitma",
  • 0 tähendab "luba puudub".

Seega 7 on kombinatsioon õigustest 4 + 2 + 1 (lugemine, kirjutamine ja käivitamine), 5 on 4 + 0 + 1 (lugemine, kirjutamine ja käivitamine) ja 4 on 4 + 0 + 0 (lugemine, ei kirjutada ja mitte täita).

Süntaks chmod

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

chmod valikud

-c, --muutused Nagu --verbose, kuid annab üksikasjaliku väljundi ainult siis, kui muudatus on tegelikult tehtud.

-f, -- vaikne, -- vaikne Vaikne režiim; summutab enamiku veateateid.

-v, --sõnaline Detailrežiim; väljastab iga töödeldud faili jaoks diagnostikateate.

--ei-säilita-juurÄrge käsitlege "/" (juurkataloog) mingil erilisel viisil, mis on vaikeseade.

--säilitada-juurÄrge töötage rekursiivselt "/"-ga.

--viide=RFIIL Määrake õigused RFILE-faili omadele vastavaks, ignoreerides kõiki määratud MODE-i.

-R, --korduv Muutke faile ja katalooge rekursiivselt.

-- aidake Kuva abisõnum ja välju.

-- versioon Kuva versiooniteave ja välju.

Tehniline kirjeldus

chmod muudab iga määratud FILE'i failirežiimi vastavalt MODE-le, mis võib olla kas tehtavate muudatuste sümboolne esitus või kaheksandnumber, mis tähistab uue režiimi bittide bitimustrit.

Sümboolse režiimi vorming:

[[+-=]...]

kus perms on null või enam tähte hulgast r, w, x, X, s ja t või üks täht hulgast u, g ja o. Saate määrata mitu komadega eraldatud märgirežiimi.

Kombinatsioon tähtedest u, g, o ja juhtelementidest, mis muudavad kasutajate juurdepääsu failile: kasutaja, kellele see kuulub (u), teised faili rühmas olevad kasutajad (g), teised kasutajad, kes ei kuulu faili rühma ( o) või kõik kasutajad (a). Kui ühtki neist pole antud, on efekt justkui a antud, kuid umaski seatud bitte see ei mõjuta.

Operaator (+) põhjustab valitud failirežiimi bittide lisamise iga faili olemasolevatele failirežiimi bittidele; "-" põhjustab nende kustutamise; ja "=" põhjustab nende lisamise ja põhjustab mainimata bittide eemaldamise, välja arvatud see, et see ei mõjuta muutumatuid kasutaja seatud kataloogibitte ja rühma identifikaatoreid.

Tähed r, w, x, X, s ja t valivad mõjutatud kasutajate jaoks failirežiimi bitid: lugemine (r), kirjutamine (w), käivitamine (x), käivitamine ainult siis, kui fail on kataloog või sellel on juba õigus mõne kasutaja (X) käivitamiseks määrake käivitamisel kasutaja või rühma ID, piiratud kustutamise lipp või fikseeritud bitt (t). Kataloogide puhul määravad X ja X täitmissuvandid loa kataloogi sisu vaatamiseks.

Ühe või mitme tähe asemel saate määrata ühe tähtedest u, g või o: faili omavale kasutajale antud load (u), teistele failirühma kuuluvatele kasutajatele antud õigused (g ) ja kasutajatele antud õigused , mis ei kuulu kummassegi kahest eelmisest kategooriast (o).

Numbrirežiim on üks kuni neli kaheksandnumbrit (0-7), mis saadakse väärtustega 4, 2 ja 1 olevate bittide lisamisel. Eeldatakse, et puuduvad numbrid on eesmised nullid. Esimene number valib antud kasutaja ID (4) ja antud rühma ID (2) ning piiratud kustutamise või kleepuvad atribuudid (1). Teine number valib juurdepääsuõigused kasutajale, kellele kuuluvad lugemis- (4), kirjutamis- (2) ja täitmistoimingud (1); kolmas valib õigused teistele samade väärtustega failirühma kasutajatele; ja neljas teistele kasutajatele, kes ei ole faili rühmas, samade väärtustega.

chmod ei muuda kunagi sümboolsete linkide õigusi; chmod süsteemikutse ei saa nende õigusi muuta. Kuid see pole probleem, kuna sümlinki õigusi ei kasutata kunagi. Kuid iga käsureal määratud sümboolse lingi puhul muudab chmod määratud faili õigusi. Seevastu chmod ignoreerib sümboolseid linke, mis ilmnevad rekursiivse kataloogi läbimise ajal.

Setuid ja Setgid bitid

chmod kustutab tavalise faili set-group-ID biti, kui faili rühma ID ei ühti kasutaja kehtiva rühma ID-ga või ühe kasutaja täiendava rühma ID-ga, välja arvatud juhul, kui kasutajal on vastavad õigused. Täiendavad piirangud võib põhjustada bittide set-user-ID ja set-group-ID režiimis MODE või RFILE ignoreerimise. See käitumine sõltub aluseks oleva chmodi süsteemikutse poliitikast ja funktsionaalsusest. Kahtluse korral kontrollige süsteemi käitumist.

chmod säilitab kataloogi bitid set-user-ID ja set-group-ID, kui te ei määra teisiti. Saate määrata või tühjendada bitte sümboolsete režiimidega, nagu u+s ja g-s, ning määrata (kuid mitte tühjendada) bitte numbrirežiimiga.

Piiratud eemaldamise lipp (või "kleepuv osa")

Piiratud kustutamise lipp ehk kleepuv bitt on üks bitt, mille tõlgendus sõltub failitüübist. See hoiab ära kataloogis oleva faili kustutamise või ümbernimetamise kasutajate poolt, kellele see fail või kataloog ei kuulu; seda nimetatakse kataloogi piiratud kustutamise lipuks ja seda leidub tavaliselt globaalselt kirjutatavates kataloogides, näiteks /tmp. Mõne vanemate süsteemide tavafailide puhul salvestab see bitt programmi tekstipildi vahetusseadmesse, nii et see laaditakse käivitamisel kiiremini; seda nimetatakse kleepuvaks bitiks.

Kuidas vaadata failiõigusi

Kiire ja lihtne viis failiõiguste loetlemiseks on käsu ls pika loendi (-l) suvand. Näiteks faili file.txt õiguste vaatamiseks võite kasutada käsku:

Ls -l fail.txt

Mis kuvab väljundi, mis näeb välja selline:

chmod näited

chmod 644 file.htm

Määrab faili fail.htm õigused “omanik saab lugeda ja kirjutada; rühm oskab ainult lugeda; teised oskavad ainult lugeda."

Chmod -R 755 minu failid

Rekursiivselt (-R) muudab myfiles kataloogi ja kõigi selle kaustade ja failide õigusi režiimile 755. Kasutaja saab lugeda, kirjutada ja käivitada; rühmaliikmed ja teised kasutajad saavad lugeda ja käivitada, kuid ei saa kirjutada.

Chmod u=rw näide.jpg

Muudab faili example.jpg omaniku õigusi, et omanik saaks faili lugeda ja kirjutada. Ei muuda grupi ega teiste õigusi.

Chmod u+s compope.txt

Määrab faili comphope.txt biti "Set-User-ID", nii et igaüks, kes proovib sellele failile juurde pääseda, teeb seda nii, nagu oleks ta faili omanik.

Chmod u-s compope.txt

Ülaltoodud käsu vastand; tühjendab SUID-biti

Chmod 755 file.cgi

Määrab failis file.cgi lubadeks "lugemine, kirjutamine ja käivitamine omaniku poolt" ning "lugemine ja käivitamine rühma ja kõigi teiste järgi".

Chmod 666 fail.txt

Määrab faili file.txt loa "kõik loevad ja kirjutavad".

Chmod a=rw fail.txt

Täidab sama, mis ülaltoodud käsk, kasutades sümboolset tähistust.

Seotud käsud

chown- Muutke failide või kataloogide omanikku.
getfacl- Failide juurdepääsu kontrolli loendite kuvamine.
ls- Loetlege kataloogi või kataloogide sisu.

(Failiõiguste algväärtus on rwxrwxrwx – täielik kontroll kõigile) Tühista kõigi kasutajate ja rühmade faili käitamise luba:

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

Grupi ja teiste kasutajate poolt faili kirjutamise tühistamine:

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

Omaniku luba faili käitamiseks:

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

Grupile samade juurdepääsuõiguste andmine kui faili omanikule:

$ chmod g=u fail (rwxrwxr–)

Grupi kasutajate ja teiste kasutajate poolt faili lugemise ja kirjutamise tühistamine:

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

Näited käsu chmod kasutamisest absoluutrežiimis

Luba failifaili lugeda, kirjutada ja käivitada kõigil kasutajatel ja rühmadel (täielik kontroll):

$ chmod 777 fail (rwxrwxrwx)

Lugemis- ja kirjutamisõiguste määramine omanikule, rühmale ja teistele kasutajatele:

$ chmod 666 fail (rw-rw-rw-)

Faili täieliku juurdepääsu määramine omanikule ja kirjutuskaitstud juurdepääs rühmale ja teistele kasutajatele:

$ chmod 744 fail (rwxr-r-)

Faili omanikule täieliku juurdepääsu määramine failile ja juurdepääsu keelamine rühmale ja teistele kasutajatele:

$ chmod 700 fail (rwx--)

Määrake failiomanikule lugemis-/kirjutusõigused ning rühmale ja teistele lugemisõigused:

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

Määrake faili omanikule ja selle rühmale lugemis- ja kirjutamisõigused ning keelake juurdepääs teistele:

$ chmod 640 fail (rw-r--)

Lugemisõigusega failijuurdepääsu seadistamine kõigile kasutajatele ja rühmadele:

$ chmod 444 fail (r–r–r–)

Failiõigused lugemiseks, kirjutamiseks, omanikupoolseks täitmiseks ja lugemiseks, grupi järgi käitamiseks ja muuks:

$ chmod 755 fail (rwxr-xr-x)

Kasutajale ja teistele faili lugemis- ja käitamisjuurdepääsu lubamine ning grupile juurdepääsu keelamine:

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

Kui soovite määrata õigused kõigile praeguses kataloogis olevatele failidele, pange määratud õiguste järele lihtsalt * (tärn):

chmod 755 *

Selle käsu täitmise tulemusel saab omanik kõigi praeguses kataloogis olevate failide täielikud õigused (lugemine, muutmine, käivitamine), samas kui rühm ja teised kasutajad saavad ainult lugemis- ja käivitamisõiguse. Kui soovite, et teie tegevused leviksid rekursiivselt (kaasa arvatud kõik alamkataloogid), kasutage suvandit -R:

$ chmod -R 777 *

Ülaltoodud käsu tulemuseks on praeguse kataloogi kõigi alamkataloogide rekursiivne "läbimine" ja täieliku juurdepääsu määramine kõigile kasutajatele ja rühmadele. See artikkel hõlmab ainult mõningaid näiteid käsu chmod kasutamise kohta. Kui soovite lisateavet käsu chmod töötamise ja Linuxi lubade kohta, lugege seda artiklit.

Muuda ainult kataloogide õigusi (rekursiivselt)

$ leida /tee/base/kataloogi -tüüp d -exec chmod 755 () +

$ chmod 755 $ (leia /tee/base/kataloogi -tüüp d)

$ chmod 755 `leia /tee/base/kataloogi -tüüp d`

$ leida /tee/base/kataloogi -tüüp d -print0 | xargs -0 chmod 755

Muuda ainult failide õigusi (rekursiivselt)

$ leida /tee/base/kataloogi -tüüp f -exec chmod 644 () +

$ chmod 644 $ (otsi /tee/base/kataloogi -tüüp f)

$ chmod 0755 `leia ./ -tüüp f`

$ leia /tee/base/kataloogi -tüüp f -print0 | xargs -0 chmod 644

Chmod süntaks kaustadele ja failidele

Kõigepealt mõistame Chmodi probleemi olemust, et mõista, mida täpselt ja kuidas me konfigureerime. Nii et alustame. Õigused jagunevad failide jaoks Chmodiks ja kataloogide jaoks Chmodiks. Need on tähistatud samad, kuid tähendavad veidi erinevat.

Juurdepääsuõigused (Chmod) failidele jagunevad:

    r - andmete lugemise õigus.

    w - õigus muuta sisu (kirjutada - muuta ainult sisu, kuid mitte kustutada).

    x - faili käivitamise õigus.

Peatugem veidi pikemalt faili käivitamise õigusel. Fakt on see, et Linuxis (Unix) saab käivitada mis tahes faili. Seda, kas tegemist on käivitatava failiga, ei määra selle laiend (laiendi mõiste puudub failisüsteem Unix) ja lubade jaoks Chmod. Kui failil on X-luba (chmod x), tähendab see, et seda saab käivitada.

Nüüd kausta (kataloogi) juurdepääsuõigustest (Chmod):

    r - kataloogi lugemise õigus (saate lugeda kataloogi sisu, st hankida selles olevate objektide loend)

    w - õigus muuta kataloogi sisu (selles kataloogis saate objekte luua ja kustutada ning kui teil on kirjutamisõigus, saate kustutada ka need failid, mis teile ei kuulu)

    x - kataloogi sisenemise õigus (seda õigust kontrollitakse alati kõigepealt ja isegi siis, kui teil on kõik vajalikud õigused objektile, mis on sügavale kataloogiahelasse maetud, kuid teil pole X-õigust pääsete juurde vähemalt ühele kataloogile selle faili teel, te ei jõua selleni kunagi)

V linuxi süsteemid(Unix) kõik need õigused annab arvuti peaadministraator, millele ta pääseb juurde parooli sisestades. Ja kui enamikel objektidel on kirjutuskaitstud juurdepääsuõigused (Chmod), siis pole viirustel sellises arvutis praktiliselt midagi teha. nad ei saa end sinna salvestada ega siis täituda. Just selle tulemuse peame saavutama, määrates oma saidi objektidele juurdepääsuõigused (Chmod).

Chmodi süntaks kasutajarühmadele

Load ise (Chmod) on jagatud kolme kategooriasse, olenevalt sellest, kes objektile juurde pääseb:

    "kasutaja" - u (faili otseomanik)

    "grupp" - g (omanikuga sama grupi liige)

    "maailm" - o (kõik teised)

Server määrab serveriga ühenduse loomisel, millisesse kasutajagruppi te kuulute. Kui loote serveriga ühenduse näiteks FTP kaudu, logite sisse oma kasutajanime (ja parooliga) ning seejärel määrab server teid kasutaja (u) rühma. Teised kasutajad, kes samuti serveriga FTP kaudu ühenduse loovad, määratakse rühma (“g”) ja kasutaja, kes saabub teie saidile oma brauseri abil, kuulub gruppi “maailm” (“o”).

Kolme võimaliku väärtuse "r", "w" ja "x" variatsioonid kolme kategooria "u", "g" ja "o" jaoks määravad failide jaoks Chmod. Kui kategooriat pole määratud, asendatakse see sidekriipsuga "-". juurdepääsuõigused (Chmod) määratakse järjestikku antud järjekorras:

    omaniku esimesed õigused - "u"

    siis rühma jaoks - "g"

    ja õiguse lõpus kõigile teistele - "o"

Pärast seda, kui server määrab kasutaja teatud grupp, annab see talle õiguse objektidel tegutseda, misjärel saab kasutaja faili lugeda, kirjutada või käivitada (olenevalt sellest, mida tema rühmal selle objektiga teha on lubatud). Kausta sisu nägemiseks peab sellel olema lugemisatribuut "r" (rühma jaoks, kuhu server kasutaja määras). Olemasolevasse faili või kausta loomiseks peab selle atribuudiks Chmod olema määratud kirje "w".

Selguse huvides vaatame näidet, kus faili omanikul ("kasutaja" - "u") on kõik õigused: õigus lugeda, sellele kirjutada ja käivitada ning kõigil teistel kasutajatel on ainult lugemisõigus. Selline Chmodi kirje näeks välja selline: "rwx r-- r--". Vaatleme seda üksikasjalikult: "rwx" (see kirje määrab omanikule õigused objektile - "u"), "r--" (see kirje määrab õigused samale objektile, kuid kui kasutaja on määratud server gruppi - "g "), "r--" (see kirje määrab objekti õigused kõigile teistele kasutajatele - o).

Mis vahe on Chmod-failidel ja kaustadel?

Midagi ei saa teha

Juurdepääs kataloogile ja selle alamkataloogidele on keelatud

Saab vaadata ja muuta sisu

Saab lisada, kustutada, muuta kaustafaili

Käivitage, kui fail on binaarne

Kasutaja saab käivitada binaarfaili, mille olemasolust ta teab, kataloogile juurdepääs või selle lugemine on keelatud

Chmodi süntaksi number (777)

Näete, et siin kasutatakse juurdepääsuõiguste kirjeldamiseks ladina tähti ja sidekriipse kasutavaid kirjeid, kuid ilmselt olete juba kohanud tõsiasja, et Chmod on tavaliselt seatud digitaalsel kujul, näiteks tuntud kombinatsioon: Chmod 777, mis võimaldab kõike. ja kõik. Tõepoolest, juurdepääsuõigused (Chmod) on tähistatud ka numbritega:

    w (rekord) asendatakse 2-ga

    x (täitmine) asendatakse 1-ga

0 tähendab mitte midagi tegemata (mida tähistab tähestikulises tähises sidekriips) Lähme tagasi näite juurde juurdepääsuõiguste tähistusest, mille ma veidi varem tõin: rwx r-- r--. Kui asendame selles olevad tähed ja sidekriipsud numbritega vastavalt äsjakirjeldatud reeglile ja samal ajal liidame igas kolmikus olevad numbrid, saame digitaalne vaade sellest kandest: 744. S.o. selgub, et nende numbrite summa näitab Chmodi failidele või kaustadele. Näiteks:

    7 (rwx) = 4 + 2 +1 (täielikud õigused)

    5 (r-x) = 4 + 0 + 1 (lugege ja käivitage)

    6 (rw-) = 4 + 2 + 0 (lugege ja kirjutage)

    4 (r--) =4 + 0 + 0 (ainult lugemiseks)

See tabel loetleb kõik võimalikud Chmodi kombinatsioonid numbrilisel kujul:

Ja nüüd vaatame Chmodi erinevaid numbrikombinatsioone seoses kasutajarühmadega:

""Omanik""

""Grupp""

""Puhka""

esinema

esinema

esinema

Teie ise (välja arvatud siis, kui sisenete saidile FTP kaudu) ja kõik teised teie saidi külastajad kuulute rühma "sõna" (kõik teised), nii et veebisaidiga töötamiseks peame kõigepealt vaatama viimast (kolmandat) numbrit. Chmod. Selleks, et skript "käivitaks faili", kui kasutaja saidiga töötab, piisab, kui sellele on määratud juurdepääsuõigused (Chmod), alustades numbrist "4" (r-- - kirjutuskaitstud) (5, 6,7 sobivad ka, aga see oleks turvalisuse huvides liialdatud.

"Kausta" jaoks, milles selle skripti fail asub, peate määrama vähemalt "5" (r-x - võite minna kausta ja lugeda selle sisu, te ei saa kustutada ega lisada). 7 sobib ka, aga see on ka turvalisuse mõttes üleliigne. Kui vajate skripti mitte ainult andmete lugemiseks, vaid ka "kirjutamiseks" (näiteks kasutaja sisestatud), siis on "kausta" minimaalsed õigused endiselt "5", kuid "fail" on juba vaja õigusi “6 » (lugeda ja kirjutada).

Tõenäoliselt installitakse serverisse, kuhu oma saidimootori sisu kopeerisite, järgmine Chmod objektidele:

Kaustad 755

omanik (kasutaja) saab kõike teha, grupp ja kõik teised saavad ainult kaustu lugeda ja neisse siseneda, kuid neil ei ole lubatud faile kirjutada, nimesid muuta ja kataloogides kustutada. (rwxr-xr-x)

Failid 644

Kui teil oleks sait, mis koosneb mõnest html-ist, siis võiksite kõik nii jätta. Kuid kaasaegsed saidid on üles ehitatud mootoritele ja seal võib olla objekte, millele tuleb kirjutada "maailma" rühma kuuluvate kasutajate nimel - o (kõik teised). Need võivad olla kaustad, mida kasutatakse lehtede vahemällu salvestamiseks või kaustad, kuhu saidiga töötamise käigus laaditakse pilte jne. On ütlematagi selge, et kui pääsete saidile FTP kaudu, saate nendesse failidesse või kaustadesse kirjutada, kuid tavalise kasutajana veebisaidi liidesega töötades võib teil tekkida probleeme. Seetõttu tuleb teatud Chmodide paigaldamisele läheneda valikuliselt.

Meeskond chmod (Muuda MODE- muutmisrežiimi) on väga spetsiifilise süntaksiga. Süntaks üldiselt:
aga seda iseloomustab see, et režiimimuutus võib esineda mitmel kujul. Seda saab määrata kahel viisil:

  1. kaheksandarvuna. Omaniku õigused vastavad siis numbritele kujul 00 , kus see vastab määratud õigusele: 4 lugemiseks, 2 kirjutamiseks ja 1 täitmiseks. Samamoodi saavad omanike rühma õigused väärtuseks 0 ja "teiste" õigusteks . Seejärel peate soovitud režiimi saamiseks vaid leidma määratud õiguste summa. Niisiis, load rwxr-xr-- vastavad 400+200+100 (omaniku õigused, rwx) +40+10 (rühmaõigused, r-x) +4 (muud õigused, r--) = 754; seega on load väljendatud vabade liikmetena. See tähendab, et varasemad load asendatakse tingimusteta;
  2. väljendeid kasutades. Sel juhul väljendatakse õigusi komadega eraldatud avaldiste jada kaudu. Siit muutub väljend: [kategooria]<+|-|=><разрешения> .
Näited:
  • chmod -R o-w /shared/docs: eemaldab rekursiivselt teiste kirjutamisõiguse kõigist failidest ja alamkataloogidest kataloogis /shared/docs/.
  • chmod -R og-w,o-x privaatne/: eemaldab rekursiivselt kogu privaat-/kataloogist grupi ja teiste kirjutamisõiguse ning teistelt täitmisõiguse.
  • chmod -c 644 misc/fail*: muudab kõigi kataloogis misc/ olevate failide õigused, mille nimed algavad failiga, väärtuseks rw-r--r-- (st lugemisõigus kõigile ja kirjutamisõigus ainult omanikule) ja teatab ainult nendest failidest, mida mõjutas käsk.

Järgmine näide näitab, kuidas lubada kõigil kasutajatel faili lugeda, muuta ja salvestada. Selleks peate muutma grupi "teised" õigusi.
Sisestage käsureale:
ls -l example1.txt Kuvatakse järgmine teave:
-rw-rw-r-- 1 kasutaja kasutaja 42. märts 24 22:07 example1.txt Nüüd sisestage järgmine käsk:
chmod o+w example1.txt Käsk o+w tähendab, et annad "others", mida tähistatakse tähega "o", kirjutamisõiguse faili näide1.txt . Et näha, mida määratud käsu täitmine andis, vaatame faili uuesti:
-rw-rw-rw- 1 kasutaja kasutaja 42. märts 24 22:09 example1.txt Nüüd saavad kõik faili lugeda ja sinna kirjutada.
Faili example1.txt lugemise ja kirjutamise keelamiseks kasutage käsku chmod.
chmod go-rw example1.txt Käsk go-rw annab süsteemile teada, et soovite takistada rühmal ja "teistel" faili näide1.txt lugemist ja kirjutamist.
Selle tulemusena näevad load välja järgmised:
-rw------- 1 kasutaja kasutaja 42. märts 24 22:10 example1.txt Ülaltoodud klassid ja õigused on vastavate ingliskeelsete sõnade stenogrammid, nii et neid on lihtne meeles pidada: peate meeles pidama vaid mõnda sümbolit ja kirju.
Siin on nende lühendite ärakirjade loend:

Klassid u - kasutaja, kes on faili omanik (inglise keelest "user");
g - grupp, kuhu kasutaja kuulub (inglise keelest "group");
o - ülejäänud (mitte omanik ja mitte omanike rühm, inglise keelest "others");
a - kõik (u, g ja o, inglise keelest "kõik"). Load r - lugemisõigus;
w on kirjutamisõigus;
x - täitmisõigus. Actions + - annab õiguse;
- - võtab õiguse ära;
= - jätab ainult selle õiguse.

Kas soovite oma teadmisi proovile panna? Eemaldage kõigilt kasutajatelt faili example1.txt õigused.
chmod a-rwx example1.txt Nüüd kontrolli, kas oskad lugeda antud fail käsk cat näide1.txt . Peaksite nägema järgmist.
cat: example1.txt: luba keelatud. Kõik õigused, sealhulgas enda omad, tühistades keelasite juurdepääsu failile. Kuid kuna fail kuulub teile, saate õigused alati tagastada järgmise käsuga:
chmod u+rw example1.txt Selle faili lugemise kontrollimiseks kasutage käsku cat example1.txt.
Siin on mõned näited käsu chmod kasutamisest:

  • g+w Annab omanikurühmale kirjutamisloa.
  • o-rwx - võtab teistelt kasutajatelt kõik õigused;
  • u+x - annab omanikule õiguse faili käivitada;
  • a+rw – võimaldab igaühel faili lugeda ja sinna kirjutada;
  • ug+r - võimaldab omanikul ja rühmal faili lugeda;
  • g=rx – võimaldab rühmal faili lugeda ja käivitada (mitte sinna kirjutada).

Valik -R võimaldab teil muuta kogu kataloogipuu õigusi.
Kuna katalooge ei saa rakendustena "käivitada", tähendab vastava õiguse lisamine või eemaldamine kataloogi vaatamise lubamist (või keelamist).
Näiteks kui takistate teistel kasutajatel docs/ directory käivitamast, pole vahet, kellel on lugemis- ja kirjutamisõigused. Keegi ei pääse kataloogi sisule juurde, kui ta ei tea selles sisalduva faili täpset nime.
Sisestage näiteks:
chmod a-x docs, et tühistada kõigi kasutajate täitmisload.
Kui proovite nüüd kataloogi muuta cd docs'iga, siis tekib tõrge:
bash: docs: Luba on keelatud Taotlege endale ja oma rühmale õigused:
chmod ug+x docs Kui kontrollite nüüd oma tegevuste tulemusi käsuga ls -l , näete, et ainult teistele kasutajatele on keelatud juurdepääs kataloogile docs/.