Linux ukazi: CHMOD. ukaz chmod - spreminjanje dovoljenj Sintaksa Chmod

Spremenite dovoljenja za datoteke

Sintaksa:

chmod[-fv] [-R [-H | -L | -P]] način datoteke ... chmod[-fv] [-R [-H | -L | -P]] [-a | +a | =a] datoteko ACE ... chmod[-fhv] [-R [-H | -L | -P]] [ ACL_Možnost] mapa ...

Opcije:

-R Rekurzija. Uporablja se za mape. Spremeni pravice ne samo za navedeni objekt, ampak za vse ugnezdene objekte
-R -H Sledite simboličnim povezavam v ukazna vrstica. Simbolne povezave privzeto niso obdelane
-R -L Vse simbolične povezave bodo obdelane
-R -P Drevo povezav ne bo obdelano. Privzeta nastavitev.
-v Dobesedno. Prikaže vse datoteke, ki so bile spremenjene
-v -v zelo natančen način. Stara in nova dovoljenja bodo prikazana v osmiškem (številskem) in abecednem načinu prikaza
-f ne prikaži diagnostičnih sporočil, če ni mogoče spremeniti dovoljenj datotek
ACL_Možnost(ACL - seznami za nadzor dostopa za skupine uporabnikov) ACL_manipulation_options

Pravice dostopa:

Pravice dostopa so lahko podane v abecedni kodi ali številski na podlagi osmiškega številskega sistema

Upravljanje preko digitalne avtorizacije:

Za nadzor pravic se uporabljajo trije bitovi

  • prva je pravica do branja
  • druga je pravica do pisanja
  • tretji - pravica do izvršitve
malo po malo številka Črkovna koda opis pravice
000 0 brez pravic
001 1 samo izvršilna pravica
010 2 pisati samo
011 3 pravice do snemanja in izvajanja
100 4 le za branje
101 5 pravica do branja in izvajanja
110 6 pravica do branja in pisanja brez izvršitve
111 7 vse pravice

Takšne pravice za datoteke so določene za tri vrste dostopa:

  • za lastnika
  • za skupino
  • za druge

Posledično je ukaz videti takole:

$ chmod 444 datoteka - dovoljenje samo za branje za vse

$chmod 755 datoteka - lastnik ima vse pravice (7), drugi uporabniki samo berejo in izvajajo (5)

$chmod 066 datoteka - lastnik nima pravic do datoteke (0), vsi ostali imajo pravice branja in pisanja brez izvajanja

Upravljanje z uporabo abecednih pravic dostopa:

Format za določanje pravic z uporabo simbolne kode

[kdo...][[+-=][pravice...]...][,...]

WHO je kombinacija znakov "ugoa" kaže na uporabniki katerih pravice dostopa do datoteke ali mape bodo spremenjene

  • u uporabnik je lastnik
  • g uporabniška skupina
  • o drugi uporabniki
  • a (vse) za vse, podobno kot ugo

Dobro zdravje, dragi bralci bloga! Vsi bi radi, da bi bili vsi ali mapa, ki se nahaja na gostiteljskem strežniku in pripada spletnemu mestu, čim bolj zaščitena pred nepooblaščenim dostopom.

Ta zaščita je zagotovljena zaradi dejstva, da 90% gostiteljev uporablja Unix podobne operacijske sisteme, v katerih je mogoče regulirati pravice dostopa do vseh datotek in imenikov. Strežnik mojega ponudnika gostovanja, na katerem je več mojih projektov, ni izjema.

Mimogrede, ne pozabite se zanimati tako, da sledite navedeni povezavi. Ampak nadaljujmo. Pravila, vzpostavljena v Unixu, se razlikujejo od pravil dela v operacijski sobi, ki so jih mnogi vajeni. sistem Windows, kjer zaščita v tem pogledu ni tako močna, kar včasih vodi do katastrofalnih posledic v obliki virusne okužbe sistema.

CHMOD za uporabnike in pravice dostopa do datotek in map (imenikov)

V sistemih, ki jih upravlja Unix, je situacija drugačna in obstaja možnost, da resno zapletete življenje negativcem, ki bodo poskušali izkoristiti rezultate vašega dolgotrajnega dela. Namreč, pravilno konfigurirajte dostopne pravice CHMOD. Naša naloga je zagotoviti minimalne možne pravice za dostop do datotek in map, ki pa ne bodo motile pravilnega delovanja spletnega mesta.

Strinjam se, greh je ne izkoristiti priložnosti za resno okrepitev. Seveda bo v tem primeru urejanje nekaterih datotek trajalo malo več časa, vendar se morate tukaj odločiti: ali optimizirati varnost sistema ali ... Spodaj bom poskušal sistematizirati informacije o CHMOD (pravice dostopa), ker tam obstaja več nians, ki jih mora poznati spletni skrbnik. Torej, začnimo.

Pravice dostopa se razlikujejo za različne skupine uporabnikov. Ob poskusu povezave strežnik določi, v katero skupino naj dodeli določenega uporabnika. Vsi uporabniki so razdeljeni v tri kategorije:

  1. "uporabnik" - lastnik datoteke
  2. "group" - eden od članov skupine, ki ji lastnik pripada
  3. “svet” - “ostali svet”, torej vsi drugi uporabniki

Če se povežete s strežnikom in se prijavite s svojim uporabniškim imenom in geslom, boste identificirani kot "uporabnik"(u) če se kdo drug poveže prek FTP, bo zaznan kot "skupina"(g), če uporabnik uporablja brskalnik, potem spada v kategorijo "svet"(o).

Zdaj o pravicah dostopa CMOD do datotek in imenikov. V bistvu se nekoliko razlikujejo, čeprav so oznake enake. Dovoljenja za datoteke:

  • r (branje) - pravica do branja podatkov datoteke
  • w (wright) - pravica do spreminjanja vsebine (vsebino lahko le urejate - pišete, ne morete pa brisati)
  • x (eXutive) - pravica do izvedbe datoteke

Pravice dostopa do map (imenikov):

  • r - pravica do branja mape (lahko dobite vsebino imenika, to je seznam datotek, vključenih v njem)
  • w - pravica do spreminjanja vsebine (dovoljenje za ustvarjanje in brisanje objektov v imeniku; če imate pravico do pisanja datotek, potem lahko celo brišete predmete, ki vam ne pripadajo)
  • x - pravica dostopa do določenega imenika (posebnost tukaj je, da tudi če imate vse potrebne pravice do datoteke, ki se nahaja "globoko" v imenikih, vendar nimate pravic dostopa do vsaj enega podimenika na poti do tega predmeta, potem ne boste mogli dostopati do njega)

Vezaj »-« označuje odsotnost kakršnih koli pravic. Vse te pravice dodeli administrator, ki to možnost pridobi z vnosom gesla. Če lahko nastavimo največje možne omejitve pravic dostopa CHMOD do določenih datotek virov, potem lahko praktično odpravimo nevarnost, da bi virusni programi izvajali svoja "umazana dejanja".

Za jasnost si oglejmo primer, ko ima lastnik datoteke u vse možne pravice: branje, pisanje in izvajanje. Uporabniki, dodeljeni kategoriji g (skupina), imajo samo branje in pisanje, vsi ostali (w) pa samo branje. Potem bo vnos CHMOD videti takole: “rwx rw- r- -”.

Pravice dostopa do datotek in map v digitalnem smislu: CHMOD (777, 755, 444)

Toda pogosteje morajo spletni skrbniki v svojih praktičnih dejavnostih dodeliti določene pravice dostopa v digitalnem smislu:

  • r (beri) - 4
  • w (zapis) - 2
  • x (zmogljivost) - 1
  • - (brez pravic) - 0

Zdaj pa ponovno poglejmo zgornji primer za dodelitev pravic dostopa "rwx rw- r- -". Za prikaz pravic posameznega uporabnika se uporabi dodatek njegovih pravic (r branje + w pisanje + x izvedba). Tako se bo del vnosa za lastnika datoteke u (uporabnik) - “rwx” spremenil v 7 (4+2+1). Za člana skupine g (skupina) - “rw-” v 6 (4+2+0) in za ostale uporabnike o (svet) - “r- -” v 4 (4+0+0). Kot povzetek je tukaj tabela povzetka z vrednostmi pravic dostopa CHMOD, izraženih s črkami in številkami:


Zdaj bom predstavil še eno tabelo, ki odraža skupne pravice CHMOD za vse skupine uporabnikov v številčni obliki:


To so glavne kombinacije, ki se najpogosteje uporabljajo pri delu spletnega skrbnika. Ostali so oblikovani po analogiji. Če ste skrbnik spletnega mesta ali spletnega dnevnika, vendar delate s projektom brez povezave preko protokola FTP, prav tako spadate v skupino »Ostali uporabniki«. V tem primeru morate pri delu s spletnim mestom v tem načinu upoštevati zadnjo številko v vrednosti CHMOD.

Običajno na strežniku, kjer so vaše datoteke WordPress blog, mape imajo pravice dostopa 755, datoteke, ki so del njih, pa so nastavljene na 644. To velja, če je vir zgrajen z datotekami HTML, vendar se v sodobnih razmerah CMS (sistemi za upravljanje vsebin) pogosto uporabljajo za izdelavo spletno mesto, ki vključuje in WordPress. In tukaj so lahko objekti, v katere mora pisati "svetovna" uporabniška skupina. Morda obstajajo mape, v katere se prenaša vsebina, vključno s slikami.

Zato je treba dodelitev pravic CHMOD določenim datotekam razlikovati. Če se prijavite v upravljanje spletnega mesta prek FTP, lahko izvajate poljubna dejanja, vendar v mnogih primerih delamo z našim projektom prek in v tem primeru lahko pride do težav, če so pravice previsoke in, nasprotno, če so pravice dostopa do enega ali druge datoteke (mape) podcenjene, se varnostna grožnja poveča. Zato lahko na podlagi zgoraj navedenega določimo nekaj priporočil za praktična uporaba CHMOD za blog WordPress:

777 - za mape, v katerih se datoteke nenehno zapisujejo in brišejo (za mapo za predpomnjenje)
755 - v zvezi z mapami, v katere se datoteke nenehno zapisujejo, vendar se ne brišejo
666 - za datoteke, v katere morate občasno dodati vnos (na primer datoteka .htaccess)
644 - za datoteke, ki so samo za branje (.php, .html itd.)

Kako konfigurirati dovoljenja CHMOD z upraviteljem FTP FileZilla

Če morate med delom z virom narediti nekaj sprememb, vendar tega ni mogoče storiti, ker je urejanje prepovedano, se morate povezati s strežnikom gostovanja prek FTP in spremeniti pravice dostopa na 777. Vendar pa po spremembi datoteke , priporočamo, da znova nastavite prejšnji CHMOD.

Zdaj pa se naučimo več o tem, kako izvesti to operacijo z uporabo. To storite tako, da odprete program in se prek FTP povežete s strežnikom gostovanja. Na levi strani « Oddaljeni strežnik» Najprej označimo datoteke, katerih atribute bomo urejali:

In v kontekstnem meniju, ki se prikaže s pritiskom na desni gumb miške, izberite "Dovoljenja za datoteke". Po tem se prikaže pogovorno okno "Spremeni atribute datoteke":

Tukaj dodelimo potrebne vrednosti CHMOD za izbrane (ali izbrane) datoteke. Vendar je to samo, če ste izbrali datoteko ali skupino datotek. Če želite nastaviti ali spremeniti vrednosti CHMOD za imenik (mapo), ko izberete »Spremeni atribute datoteke«, se prikaže analogno okno, nekoliko drugačno od zgornjega, in sicer:

Glej, pojavili so se tukaj dodatne nastavitve. Če potrdite polje poleg vrstice "Preusmeri na podimenike", to pomeni, da bodo navedene pravice dostopa uporabljene za imenike (mape) ali datoteke, ugnezdene v tem imeniku. Ko je spodnje polje označeno, bo skupina nastavitev, ki se nahaja, postala aktivna, poleg tega pa boste morali izbrati, kako naj se nastavitve uporabijo: za vse datoteke in imenike, samo za priložene datoteke ali samo za imenike.

Danes bi rad govoril o pravicah dostopa do datotek in map (beri). Ta koncept je prišel v svet spletnega skrbništva iz Linuxa (Unix) podobni sistemi, na katerem deluje večina gostiteljskih mest.

In samo ime Chmod je ime programa v Linuxu, ki vam omogoča dodeljevanje pravic dostopa do različnih predmetov. In ker je vaše spletno mesto nameščeno na strežniku, ki poganja Linux (Unix) ene ali druge različice, bo delo s predmeti vašega spletnega mesta podvrženo pravilom, ki jih določajo operacijski sistemi Linux (Unix).

V sistemu Windows so tako rekoč vse datoteke nastavljene na maksimalna dovoljenja, kar pravzaprav vodi v prevlado na naših računalnikih, posledično pa tudi preprečuje, da bi lastniki protivirusnih podjetij umrli od lakote. V sistemih Linux (Unix) je situacija drugačna - vse je bolj zapleteno, a hkrati varnejše. Če vse konfigurirate pravilno in kompetentno, lahko znatno povečate varnost svojega spletnega mesta.

Osnovni koncepti pravic dostopa do datotek in map

Če vse prepustite naključju in se ne obremenjujete z nastavitvijo potrebnih privilegijev, bo verjetnost, da bo vaš vir vdrl ali okužen z zlonamerno kodo, zelo velika. Dobro je, če prenesete vse svoje podatke, kaj pa če ne?!

Zato je bolje takoj, brez odlašanja dolga škatla, konfigurirajte in spremenite Chmod za vse pomembne predmete vašega motorja, ki temelji na načelu minimalizma. Tisti. dati objektom minimalne pravice, potrebne za pravilno delovanje spletne strani.

Najprej razumemo bistvo vprašanja, da bi razumeli, kaj točno postavljamo in kako. Pa začnimo. Pravice dostopa so ločene za datoteke in imenike. Označeni so enako, vendar pomenijo nekoliko različne stvari.

V zvezi z datotekami pa je možno:

  • r - pravica do branja podatkov.
  • w - za spreminjanje vsebine (snemanje - samo spreminjanje vsebine, ne pa brisanje).
  • x - za izvedbo datoteke.

Oglejmo si podrobneje zmožnosti izvajanja datotek. Dejstvo je, da je v Linuxu mogoče izvesti katero koli datoteko. Ali je izvršilna, ni določeno z njeno razširitvijo (koncepta razširitve ni v datotečni sistem Unix) in s pravicami dostopa Chmod. Če ima datoteka nastavljeno izvršilno pravico »X«, to pomeni, da jo je mogoče izvesti.

V zvezi z imeniki je možno:

  1. r - pravica do branja imenika (preberete lahko vsebino imenika, tj. dobite seznam predmetov, ki se nahajajo v njem)
  2. w - za spreminjanje vsebine imenika (lahko ustvarjate in brišete predmete v njem, in če imate dovoljenje za pisanje, lahko celo brišete datoteke, ki vam ne pripadajo)
  3. x - za vstop v imenik (vedno se najprej preveri in tudi če imate vse potrebne privilegije za predmet, ki je zakopan globoko v verigi imenikov, vendar nimate atributa "X" za dostop do vsaj enega imenika na pot do datoteke, potem ne boste nikoli prišli do nje)

V sistemih Linux vse to distribuira glavni skrbnik računalnika, do katerega dostopa z vnosom gesla. In če ima večina predmetov pravice samo za branje, potem virusi na takem računalniku praktično ne bodo imeli kaj početi, ker niti se ne bodo mogli zapisati tja niti se potem izpolniti. To je točno rezultat, ki ga moramo doseči z nastavitvijo potrebnega Chmod na objektih našega spletnega mesta.

Privilegiji za skupine uporabnikov

Sami privilegiji so razdeljeni v tri kategorije, odvisno od tega, kdo dostopa do objekta:

  • “uporabnik” - u (neposredno lastnik datoteke)
  • "skupina" - g (član iste skupine kot lastnik)
  • "svet" - o (vsi drugi)

Strežnik določi, kateri skupini uporabnikov vas dodeli, ko se povežete s strežnikom. Ko se na primer povežete s strežnikom preko FTP, se prijavite s svojim uporabniškim imenom (in geslom), nato pa vas strežnik dodeli skupini “uporabnik” (“u)”.

Ostali uporabniki, ki se na strežnik prav tako povezujejo preko FTP, bodo razporejeni v skupino »skupina« (»g«), obiskovalec, ki pride na vašo spletno stran s svojim brskalnikom, pa v skupino »svet« (»o«). .

Različice treh možnih vrednosti "r", "w" in "x" za tri kategorije "u", "g" in "o" in definirajte Chmod v datoteke. Če kategorija ni določena, se nadomesti z vezajem »-«. Privilegiji so določeni zaporedno v danem vrstnem redu:

  1. najprej pravice za lastnika - "u"
  2. potem za skupino - "g"
  3. in na koncu - za vse ostale - "o"

Ko strežnik dodeli obiskovalca določeni skupini, mu podeli pravice za delovanje na objektih, nato pa lahko obiskovalec bere, piše ali izvaja datoteko (odvisno od tega, kaj lahko njegova skupina počne s tem objektom) .

Če si želite ogledati vsebino imenika, mora imeti atribut branja “r” (za skupino, v katero je strežnik dodelil obiskovalca). Če želite ustvariti datoteko ali mapo v obstoječi, potrebujete to obstoječi imenik je imel atribut za vnos "w".

Zaradi jasnosti si poglejmo primer, kjer ima lastnik datoteke (»uporabnik« - »u«) vse pravice: brati, pisati vanjo in izvajati, vsi drugi uporabniki pa imajo le privilegij branja. Vnos za tak Chmod bo videti takole: "rwx r-- r--".

Oglejmo si ga podrobneje: "rwx" (ta zapis določa pravice do objekta za lastnika - "u"), "r--" (ta zapis določa pravice do istega predmeta, vendar če je obiskovalec dodeljen skupini s strani strežnika - " g"), "r--" (ta vnos nastavi privilegije za objekt za vse druge uporabnike - "o").

Kakšna je razlika med dovoljenji za datoteke in mape?

Izkazalo se je, da obstajajo tri skupine uporabnikov in tri možna dejanja s predmeti. Ste še zmedeni? Vse zgoraj povedano pospravimo na police v obliki tablet. Najprej si poglejmo, v čem se razlikujejo:

In tudi znak, ki prikazuje različne kombinacije Chmod za različni tipi predmeti:

Nič se ne da narediti

Dostop do imenika in njegovih podimenikov je zavrnjen

Lahko vidi in spreminja vsebino

Lahko dodajate, brišete, spreminjate datoteko imenika

Izvedi, če je datoteka binarna

Uporabnik lahko naredi binarna datoteka za katerega obstoj ve, je vpis ali branje kataloga prepovedano

Chmod izražen v številkah (777, 400, 666, 755, 444)

Vidite lahko, da tukaj uporabljamo vnose z latiničnimi črkami in vezaji za opis pravic dostopa, vendar ste verjetno že naleteli na dejstvo, da Chmod je običajno določen digitalno, na primer znana kombinacija: 777, ki vsakomur omogoča vse.

Pravzaprav so privilegiji označeni tudi s številkami:

  1. r (beri) se nadomesti s 4
  2. w (zapis) se nadomesti z 2
  3. x (izvedba) se nadomesti z 1
  4. 0 pomeni ne storiti ničesar (kar je v abecednem zapisu označeno z vezajem)

Vrnimo se k primeru snemanja, ki sem ga dal malo prej: rwx r-- r-- . Če v njem črke in vezaje zamenjamo s številkami po pravkar opisanem pravilu in hkrati seštejemo številke v vsaki trojki, dobimo digitalno obliko tega vnosa: 744.

Tisti. Izkazalo se je, da vsota teh številk prikazuje Chmod v povezavi z datotekami ali mapo. Na primer:

  • 7 (rwx) = 4 + 2 +1 (polne pravice)
  • 5 (r-x)= 4 + 0 + 1 (preberi in izvedi)
  • 6 (rw-) = 4 + 2 + 0 (branje in pisanje)
  • 4 (r--) =4 + 0 + 0 (samo za branje)
  • itd.

Ta tabela prikazuje vse možne kombinacije privilegijev, zapisanih digitalno:

Zdaj pa si poglejmo različne kombinacije zapisov v številkah glede na skupine uporabnikov:

"Lastnik"

"Skupina"

"počitek"

izvajati

izvajati

izvajati

Vi sami (razen v primeru, ko do spletnega mesta dostopate prek FTP) in vsi ostali obiskovalci vašega vira spadate v skupino »beseda« (vsi ostali), zato moramo za delo s spletnim mestom najprej pogledati zadnjega (tretji ) številka tega vnosa.

Da se skriptna datoteka "zažene", ko uporabnik dela s spletnim mestom, bo dovolj, da so nastavljene pravice do nje, začenši s "4" (r-- - samo za branje) (5,6,7 prav tako, vendar bo to odveč v smislu varnosti).

Za imenik, v katerem se nahaja datoteka tega skripta, morate nastaviti minimum na “5” (r-x - lahko greste v imenik in preberete njegovo vsebino, ne morete izbrisati ali dodati). Delal bo tudi 7, a bo tudi varnostno odveč.

Če potrebujete, da skript ne samo bere, ampak tudi "zapisuje" nekatere podatke (na primer, ki jih vnese obiskovalec), bodo minimalna dovoljenja za "mapo" še vedno "5", za "datoteko" pa bo že potreboval "6" (branje in pisanje).

Najverjetneje bodo na strežniku, kamor ste kopirali vsebino motorja vašega spletnega mesta, na objekte nameščeni naslednji Chmodi:

Če bi imeli vir, sestavljen samo iz html strani, potem bi lahko pustili vse tako. Toda sodobna spletna mesta so zgrajena na motorjih in morda obstajajo predmeti, ki jim je treba pisati v imenu obiskovalcev iz skupine "svet" - o (vsi drugi). To so lahko imeniki, ki se uporabljajo za predpomnjenje strani, ali tisti, v katere se bodo med delom s spletnim mestom nalagale slike itd.

Samoumevno je, da če do spletnega mesta dostopate prek FTP, lahko pišete v te datoteke ali imenike, a pri delu s spletnim vmesnikom kot običajni uporabnik lahko imate težave. Zato je treba k vzpostavitvi določenih pravic pristopiti selektivno:

za vse imenike, v katere bi morale biti zapisane datoteke, vendar jih ni treba redno brisati

za mape, v katere naj se zapisujejo in brišejo datoteke (na primer za predpomnilnik)

Za preproste datoteke, samo za branje (.html, .php itd.)

za datoteke, v katere bo morda treba pisati (na primer z bazami podatkov .dat)

Kako dodeliti Chmod z uporabo PHP

Kako vse to implementirati v prakso za vašo spletno stran? Načeloma je vse preprosto. Za dodelitev pravic dostopa lahko:

Če pa Chmod ne morete spremeniti v nobeno datoteko, jih lahko poskusite dodeliti z orodji PHP. Uporabite lahko naslednjo kodo:

Ime_datoteke_x.php in ime_imenika_x boste morali zamenjati z dejanskimi imeni datotek in map, za katere želite spremeniti mod. Skladno s tem bo za datoteke nastavljen na 666, za imenike pa 777. To PHP kodo postavite v datoteko s katero koli besedilno beležko (priporočam) in ji dajte pripono .php, no, na primer, kot prava.php.

kopirajte prava.php prek FTP v imenik, kjer ne deluje redna sredstva dodelite pravice dostopa. IN naslovna vrstica brskalnik, napišite pot do prava..php) in pritisnite »Start« ali enter na tipkovnici. To je to, zdaj bodo privilegiji popolnoma spremenjeni z uporabo PHP.

Za Joomlo lahko takoj po namestitvi nastavite 777 v naslednje imenike:

Administrator/varnostne kopije/ administrator/predpomnilnik/ administrator/komponente/ administrator/moduli/ administrator/predloge/ predpomnilnik/ komponente/ slike/ slike/pasice/ slike/zgodbe/ jezik/ jezik/en-GB/ jezik/ru-RU/ mediji/ moduli/ vtičniki/ vtičniki/vsebina/ vtičniki/iskanje/ vtičniki/sistem/ predloge/

Ko namestite vse razširitve za Joomla in opravite končne nastavitve, sledi Chmod v večino zgornjih imenikov, da se poveča varnost spletnega mesta. vrni se na 755. Za imenike s predpomnilnikom, varnostno kopijo in slikami boste morali pustiti 777.

Za datoteke motorja, ki se nahajajo v korenu spletnega mesta, razen za sitemap.xml, je bolje nastaviti 444 (samo za branje za vse skupine obiskovalcev). Na setting.php je včasih priporočljivo, da ga nastavite celo na 400.

Popolnoma enak nasvet lahko dam glede nastavljanja pravic dostopa do objektov v motorjih SMF in WordPress. Če je mogoče, je priporočljivo, da ga pustite za stalno. za imenike 755(razen predpomnilnika, slik, zgoraj omenjenih rezervnih imenikov in morda nekaterih drugih, če je potrebno) in za datoteke - 644.

Bolje je nastaviti 444 za datoteke v korenu spletnega mesta.

Če se pri delu s spletnim mestom pojavi težava z nezmožnostjo zapisovanja nastavitev v neko datoteko ali nezmožnostjo ustvarjanja neke vrste imenika, jim lahko začasno nastavite večje pravice (na primer 777) in nato vrnete vse nazaj (za varno). In pod nobenim pogojem ne bi smeli pustiti(za lažje delo s spletnim mestom) nerazumno napihnjen Chmod.

Srečno! Kmalu se vidimo na straneh spletnega dnevnika

Morda vas bo zanimalo

Kodiranje besedila ASCII (Windows 1251, CP866, KOI8-R) in Unicode (UTF 8, 16, 32) - kako odpraviti težavo s krekerji
OpenServer - moderno lokalni strežnik in primer njegove uporabe za namestitev WordPressa na računalnik
Kaj so URL naslovi, kako se razlikujejo absolutne in relativne povezave za spletno mesto?
Iskanje Yandex po spletnem mestu in spletni trgovini
Zemljevid spletnega mesta Zemljevid spletnega mesta v formatu xml za Yandex in Google - kako ustvariti zemljevid spletnega mesta v Joomla in WordPress ali v spletnem generatorju

(Začetna vrednost dovoljenj za datoteke je rwxrwxrwx - popoln dostop za vse) Odstranitev dovoljenja za izvajanje datoteke za vse uporabnike in skupine:

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

Če želite preklicati pisanje v datoteko s strani skupine in drugih uporabnikov:

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

Dovoljenje za izvajanje datoteke lastnika:

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

Podelitev enakih dovoljenj skupini kot lastnik datoteke:

$ chmod g=u datoteka (rwxrwxr–)

Preklic branja in pisanja v datoteko s strani uporabnikov skupine in drugih uporabnikov:

$ chmod datoteka go-rw (rwx–x-)

Primeri uporabe ukaza chmod v absolutnem načinu

Dovoljenje za branje, pisanje, izvajanje datoteke s strani vseh uporabnikov in skupin (popoln nadzor):

datoteka $ chmod 777 (rwxrwxrwx)

Nastavite dovoljenja za branje in pisanje za lastnika, skupino in druge uporabnike:

$ chmod 666 datoteka (rw-rw-rw-)

Nastavitev polnega dostopa do datoteke za lastnika in samo branje za skupino in druge uporabnike:

datoteka $ chmod 744 (rwxr–r–)

Nastavitev polnega dostopa do datoteke za lastnika datoteke in zavrnitev dostopa skupini in drugim uporabnikom:

datoteka $ chmod 700 (rwx--)

Nastavitev dovoljenj za branje in pisanje za lastnika datoteke ter samo za branje za skupino in druge:

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

Nastavitev dovoljenj za branje in pisanje za lastnika datoteke in njegovo skupino ter onemogočanje dostopa drugim:

datoteka $ chmod 640 (rw-r-–)

Nastavitev dostopa do datoteke z dovoljenjem za branje za vse uporabnike in skupine:

datoteka $ chmod 444 (r–r–r–)

Dovoljenja datoteke za branje, pisanje, izvajanje s strani lastnika in branje, izvajanje s strani skupine in drugi:

datoteka $ chmod 755 (rwxr-xr-x)

Omogočanje branja in izvajanja dostopa do datoteke za uporabnika in druge ter zavrnitev dostopa skupini:

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

Če želite dodeliti dovoljenja vsem datotekam v trenutnem imeniku, preprosto postavite * (zvezdico) za dovoljenji, ki jih dodelite:

$chmod 755 *

Kot rezultat izvajanja tega ukaza bo imel lastnik polne pravice (branje, spreminjanje, izvajanje) za vse datoteke v trenutnem imeniku, medtem ko bodo imeli skupina in drugi uporabniki samo pravice za branje in izvajanje. Če želite, da se vaša dejanja širijo rekurzivno (vključno z vsemi podimeniki), uporabite možnost -R:

$ chmod -R 777 *

Rezultat izvajanja zgornjega ukaza bo rekurzivno »prehod« vseh podimenikov trenutnega imenika in dodelitev polnega dostopa vsem uporabnikom in skupinam. Ta članek zajema le nekaj primerov uporabe ukaza chmod. Če želite izvedeti več o ukazu chmod in dovoljenjih v Linuxu, si oglejte ta članek.

Spreminjanje dovoljenj samo za imenike (rekurzivno)

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

$ chmod 755 $(poišči /path/to/base/dir -type d)

$ chmod 755 `poišči /pot/do/osnove/dir -tip d`

$ find /path/to/base/dir -type d -print0 | xargs -0 chmod 755

Spremenite dovoljenja samo za datoteke (rekurzivno)

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

$ chmod 644 $(poišči /path/to/base/dir -type f)

$ chmod 0755 `najdi ./ -tip f`

$ find /path/to/base/dir -type f -print0 | xargs -0 chmod 644

Sintaksa Chmod za mape in datoteke

Najprej razumemo bistvo težave s Chmodom, da bi razumeli, kaj točno in kako ga konfiguriramo. Pa začnimo. Pravice dostopa so razdeljene na Chmod za datoteke in Chmod za imenike. Označeni so enako, vendar pomenijo nekoliko različne stvari.

Pravice dostopa (Chmod) do datotek se delijo na:

    r - pravica do branja podatkov.

    w - pravica do spreminjanja vsebine (pisati - samo spreminjati vsebino, ne pa brisati).

    x - pravica do izvajanja datoteke.

Oglejmo si podrobneje izvedbene pravice datoteke. Dejstvo je, da je v linuxu (Unix) mogoče izvesti katero koli datoteko. Ali je izvršljiva, ni določeno z njeno končnico (koncepta končnice ni v datoteki Unix sistem), in s pravicami dostopa Chmod. Če ima datoteka pravico "X" (chmod x), to pomeni, da jo je mogoče izvesti.

Zdaj o pravicah dostopa (Chmod) do mape (imenika):

    r - pravica do branja imenika (preberete lahko vsebino imenika, tj. dobite seznam predmetov, ki se nahajajo v njem)

    w - pravica do spreminjanja vsebine imenika (lahko ustvarjate in brišete predmete v tem imeniku, in če imate dovoljenje za pisanje, lahko celo brišete datoteke, ki vam ne pripadajo)

    x - pravica, ki vam omogoča vstop v imenik (ta pravica je vedno najprej označena in tudi če imate vse potrebne pravice do predmeta, ki je zakopan globoko v verigi imenika, nimate pravice “X” do dostopajte do vsaj enega imenika na poti do te datoteke, potem ne boste nikoli prišli do nje)

IN Linux sistemi(Unix) vse te pravice deli glavni skrbnik računalnika, do katerega dostopa z vnosom gesla. In če ima večina predmetov pravice dostopa samo za branje (Chmod), potem virusi na takem računalniku praktično ne bodo imeli kaj početi, ker niti se ne bodo mogli zapisati tja niti se potem izpolniti. Točno to je rezultat, ki ga moramo doseči z nastavitvijo pravic dostopa (Chmod) do objektov na našem spletnem mestu.

Sintaksa Chmod za skupine uporabnikov

Same pravice dostopa (Chmod) so razdeljene v tri kategorije, odvisno od tega, kdo dostopa do objekta:

    “uporabnik” - u (neposredni lastnik datoteke)

    "skupina" - g (član iste skupine kot lastnik)

    "svet" - o (vsi drugi)

Strežnik določi, kateri skupini uporabnikov vas dodeli, ko se povežete s strežnikom. Ko se na primer povežete s strežnikom preko FTP, se prijavite s svojim uporabniškim imenom (in geslom), nato pa vas strežnik dodeli skupini “uporabnik” (“u)”. Ostali uporabniki, ki se prav tako povezujejo preko FTP na strežnik, bodo dodeljeni skupini “skupina” (“g”), uporabnik, ki pride na vaše spletno mesto s svojim brskalnikom, pa bo dodeljen skupini “svet” (“o”). .

Različice treh možnih vrednosti "r", "w" in "x" za tri kategorije "u", "g" in "o" določajo Chmod za datoteke. Če kategorija ni določena, se nadomesti z vezajem »-«. pravice dostopa (Chmod) so podane zaporedno v danem vrstnem redu:

    najprej pravice za lastnika - "u"

    potem za skupino - "g"

    in na koncu desne za vse ostale - "o"

Ko strežnik dodeli uporabnika določeni skupini, mu podeli pravice za delovanje na objektih, nato pa bo uporabnik lahko prebral, pisal ali izvajal datoteko (odvisno od tega, kaj lahko njegova skupina počne s tem objektom). Za ogled vsebine mape mora imeti atribut »r« za branje (za skupino, v katero je strežnik dodelil uporabnika). Če želite ustvariti datoteko ali mapo v obstoječi, mora imeti atribut Chmod pri vnosu "w".

Zaradi jasnosti si poglejmo primer, kjer ima lastnik datoteke (»uporabnik« - »u«) vse pravice: pravico do branja, pisanja vanjo in izvajanja, vsi drugi uporabniki pa imajo samo pravico do branja. Vnos za tak Chmod bo videti takole: "rwx r-- r--". Oglejmo si ga podrobneje: “rwx” (ta zapis določa pravice do objekta za lastnika - “u”), “r--” (ta zapis določa pravice do istega predmeta, vendar če je uporabnik dodeljen s strani strežnika v skupino - "g "), "r--" (ta vnos določa pravice do objekta za vse druge uporabnike - o").

Kakšna je razlika med datotekami in mapami Chmod

Nič se ne da narediti

Dostop do imenika in njegovih podimenikov je zavrnjen

Lahko vidi in spreminja vsebino

Datoteko mape lahko dodate, izbrišete, spremenite

Izvedi, če je datoteka binarna

Uporabnik lahko izvede binarno datoteko, za katero ve, da obstaja, vendar ne sme vstopiti ali brati imenika

Sintaksa Chmod izražena v številkah (777)

Vidite lahko, da so tukaj vnosi z latiničnimi črkami in vezaji uporabljeni za opis pravic dostopa, vendar ste verjetno že naleteli na dejstvo, da je Chmod običajno naveden v digitalni obliki, na primer znana kombinacija: Chmod 777, ki dovoljuje vse vsem. Pravice dostopa (Chmod) so prav tako označene s številkami:

    w (zapis) se nadomesti z 2

    x (izvedba) se nadomesti z 1

0 pomeni - ne storiti ničesar (kar je v abecednem zapisu označeno z vezajem) Vrnimo se k primeru zapisa pravic dostopa, ki sem ga dal malo prej: rwx r-- r--. Če črke in vezaje v njem zamenjamo s številkami po pravkar opisanem pravilu in hkrati seštejemo številke v vsaki trojki, dobimo digitalno obliko tega vnosa: 744. To je Izkazalo se je, da vsota teh številk pokaže Chmod v datoteke ali mapo. Na primer:

    7 (rwx) = 4 + 2 +1 (polne pravice)

    5 (r-x)= 4 + 0 + 1 (preberi in izvedi)

    6 (rw-) = 4 + 2 + 0 (branje in pisanje)

    4 (r--) =4 + 0 + 0 (samo za branje)

Ta tabela prikazuje vse možne kombinacije Chmod, zapisane digitalno:

Zdaj pa si poglejmo različne kombinacije Chmod v številkah glede na skupine uporabnikov:

""Lastnik""

""Skupina""

""Počitek""

izvajati

izvajati

izvajati

Vi sami (razen v primeru, ko do strani dostopate preko FTP) in vsi ostali obiskovalci vaše strani spadate v skupino “word” (vsi ostali), zato moramo za delo s spletno stranjo najprej pogledati zadnje (tretji ) Številka Chmod. Da bi skript "zagnal datoteko", ko uporabnik dela s spletnim mestom, bo dovolj, da so na njem nastavljene pravice dostopa (Chmod), začenši s "4" (r-- - samo za branje) ( Primerni so tudi 5,6,7, vendar bo to varnostno nepotrebno).

“Za mapo”, v kateri se nahaja datoteka tega skripta, morate nastaviti minimum na “5” (r-x - lahko greste v mapo in preberete njeno vsebino, ne morete izbrisati ali dodati). Delal bo tudi 7, a bo tudi varnostno odveč. Če potrebujete, da skript ne le prebere, ampak tudi "zapiše" nekatere podatke (na primer, ki jih vnese uporabnik), bodo minimalne pravice za "mapo" še vedno "5", za "datoteko" pa bo že potreboval pravice "6" "(branje in pisanje).

Najverjetneje bodo na strežniku, kamor ste kopirali vsebino motorja vašega spletnega mesta, na objekte nameščeni naslednji Chmodi:

Mape 755

lastnik (uporabnik) lahko počne vse, skupina in vsi ostali lahko le berejo mape in vstopajo vanje, prepovedano pa jim je pisanje datotek, spreminjanje imen in brisanje v imenikih. (rwxr-xr-x)

Datoteke 644

Če bi imeli spletno stran, sestavljeno samo iz html-ja, bi lahko pustili vse tako. Toda sodobna spletna mesta so zgrajena na motorjih in morda obstajajo predmeti, ki jim je treba pisati v imenu uporabnikov iz skupine »svet« - o (vsi drugi). To so lahko mape, ki se uporabljajo za predpomnjenje strani, ali tiste, v katere se bodo med delom s spletnim mestom nalagale slike itd.. Samoumevno je, da če dostopate do spletnega mesta prek FTP, lahko ustvarite vnos v teh datotekah ali mapah, pri delu z vmesnikom spletnega mesta pa boste kot običajni uporabnik morda imeli težave. Zato se je treba namestitve določenih Chmodov lotiti selektivno.

Ukaz chmod se uporablja za spreminjanje dovoljenj datotek ali imenikov.

Na Linuxu in drugih Unixu podobnih operacijski sistemi Za vsako datoteko obstaja niz pravil, ki določajo, kdo lahko dostopa do te datoteke in kako. Ta pravila se imenujejo dovoljenja za datoteke ali načini datotek. Ime ukaza chmod pomeni "spremeni način" in se uporablja za določanje načina dostopa do datoteke.

IN splošni pogled ukazi chmod izgledajo takole:

ime datoteke z možnostmi dovoljenj chmod

če opcije niso določeni, chmod spremeni dovoljenja datoteke, podane v Ime datoteke, za dovoljenja, navedena v dovoljenja.

Dovoljenja določite pravice dostopa za lastnika datoteke (»uporabnik«), člane skupine, ki je lastnik datoteke (»skupina«), in vse ostale (»drugi«). Ta dovoljenja lahko predstavite na dva načina: z uporabo simbolov (alfanumeričnih znakov) ali osmiških števil (števil od 0 do 7).

Recimo, da ste lastnik datoteke z imenom myfile in želite nastaviti njena dovoljenja tako, da:

  1. uporabnik ( u ser) lahko bere ( r ead), napiši ( w obred) in izvrši ( x ecute) njega;
  2. člani skupine ( g skupina) lahko bere ( r ead) in izvedi ( x ecute) njega;
  3. kot tudi ostali ( o thers) lahko samo bere ( r ead) njega.

Ta ukaz bo videti takole:

chmod u=rwx,g=rx,o=r moja datoteka

Ta primer uporablja simbolni zapis dovoljenj. Črke u, g in o pomenijo »uporabnik«, »skupina« in »drugo«. Enačitev (»=«) pomeni »nastavite dovoljenja na ta način«, črke »r«, »w« in »x« pa pomenijo »branje«, »pisanje« oziroma »izvajanje«. Vejice ločujejo različne razrede dovoljenj in med njimi ni presledkov.

Tukaj je enakovreden ukaz z osmiškim zapisom dovoljenj:

chmod 754 moja datoteka

Tukaj številke 7, 5 in 4 posamično predstavljajo dovoljenja za uporabnika, skupino in druge v tem vrstnem redu. Vsaka številka je kombinacija številk 4, 2, 1 in 0:

  • 4 pomeni "brati"
  • 2 pomeni "piši"
  • 1 pomeni "izvedi"
  • 0 pomeni "brez dovoljenja".

Torej je 7 kombinacija dovoljenj 4 + 2 + 1 (branje, pisanje in izvajanje), 5 je 4 + 0 + 1 (branje, brez pisanja in izvajanje), 4 pa 4 + 0 + 0 (branje, ne pisati in ne izvajati).

sintaksa chmod

chmod ... NAČIN[, NAČIN]... DATOTEKA... chmod ... DATOTEKA OSMIČNEGA NAČINA... chmod ... --reference=DATOTEKA RFILE...

možnosti chmod

-c, --spremembe Podobno kot --verbose, vendar ustvari podrobni izpis le, ko je sprememba dejansko narejena.

-f, -- tiho, --tih Tihi način; zatreti večino sporočil o napakah.

-v, --besedno Podroben način; prikaže diagnostično sporočilo za vsako obdelano datoteko.

--no-preserve-root Ne obravnavajte "/" (korenskega imenika) na noben poseben način, kar je privzeta nastavitev.

--preserve-root Ne delajte rekurzivno na "/".

--referenca=RFILE Dovoljenja nastavite tako, da se ujemajo z dovoljenji datoteke RFILE, pri čemer prezrite vse navedene NAČINE.

-R, --rekurzivno Spremenite datoteke in imenike rekurzivno.

-- pomoč Pokaži sporočilo pomoči in zapusti.

--različica Natisnite informacije o različici in zapustite.

Tehnični opis

chmod spremeni datotečni način vsake podane DATOTEKE glede na NAČIN, ki je lahko simbolna predstavitev opravljene spremembe ali osmiško število, ki predstavlja bitni vzorec za nove bite načina.

Format simbolnega načina:

[[+-=]...]

kjer je perms nič ali več črk iz množice r, w, x, X, s in t ali ena črka iz množice u, g in o. Določite lahko več načinov znakov, ločenih z vejicami.

Kombinacija črk u, g, o in kontrolnikov, ki spremenijo uporabniški dostop do datoteke: uporabnik, ki je njen lastnik (u), drugi uporabniki v skupini datoteke (g), drugi uporabniki, ki niso v skupini datoteke (o) , ali vsi uporabniki (a). Če nič od tega ni podano, je učinek tak, kot da bi bil podan a, vendar to ne vpliva na bite, ki so nastavljeni v umask.

Operator (+) povzroči, da se izbrani biti datotečnega načina dodajo obstoječim bitom datotečnega načina vsake datoteke; "-" povzroči njihovo brisanje; in "=" povzroči njihovo dodajanje in povzroči odstranitev neomenjenih bitov, razen da to ne vpliva na nespremenljive uporabniško nastavljene bite imenika in ID-je skupin.

Črke r, w, x, X, s in t izbirajo bite načina datoteke za prizadete uporabnike: branje (r), pisanje (w), izvajanje (x), izvajanje samo, če je datoteka imenik ali že ima dovoljenje za izvajanje za nekega uporabnika (X) nastavite ID uporabnika ali skupine pri izvajanju (s), zastavico za omejeno brisanje ali fiksni bit (t). Za imenike parametra izvajalnega okolja X in X določata dovoljenje za ogled vsebine imenika.

Namesto ene ali več teh črk lahko določite eno od črk u, g ali o: dovoljenja, dodeljena uporabniku, ki je lastnik datoteke (u), dovoljenja, dodeljena drugim uporabnikom, ki so člani skupine datoteke (g ), in dovoljenja, dodeljena uporabnikom, ki ne spadajo v nobeno od prejšnjih dveh kategorij (o).

Številski način - ena do štiri osmiške števke (0-7), dobljene s seštevanjem bitov z vrednostmi 4, 2 in 1. Za manjkajoče števke se predpostavlja, da so vodilne ničle. Prva številka izbere podani ID uporabnika (4) in podani ID skupine (2) ter atribute za omejeno brisanje ali pripenjanje (1). Druga številka določa pravice dostopa za uporabnika, ki ima v lasti operacije branja (4), pisanja (2) in izvajanja (1); tretji izbere pravice dostopa za druge uporabnike v skupini datotek z enakimi vrednostmi; in četrti za druge uporabnike, ki niso v skupini datotek, z enakimi vrednostmi.

chmod nikoli ne spremeni dovoljenj simbolnih povezav; Sistemski klic chmod ne more spremeniti njihovih dovoljenj. Vendar to ni problem, saj se dovoljenja za simbolne povezave nikoli ne uporabljajo. Vendar za vsako simbolno povezavo, podano v ukazni vrstici, chmod spremeni dovoljenja v določeno datoteko. V nasprotju s tem chmod ignorira simbolne povezave, ki se pojavijo med rekurzivnim prečkanjem imenika.

Bita Setuid in Setgid

chmod počisti bit set-group-ID navadne datoteke, če se ID skupine datoteke ne ujema z ID-jem efektivne skupine uporabnika ali enim od ID-jev sekundarne skupine uporabnika, razen če ima uporabnik ustrezne privilegije. Dodatne omejitve lahko povzročijo, da se bita set-user-ID in set-group-ID v MODE ali RFILE prezreta. To vedenje je odvisno od politike in funkcionalnosti osnovnega sistemskega klica chmod. Če ste v dvomih, preverite delovanje sistema.

chmod ohrani bite set-user-ID in set-group-ID imenika, razen če ne določite drugače. Bite lahko nastavite ali izbrišete z uporabo simbolnih načinov, kot sta u+s in g-s, bite pa lahko nastavite (vendar ne počistite) z uporabo številskega načina.

Zastavica za omejeno odstranjevanje (ali "lepljivi bit")

Zastavica omejenega brisanja ali lepljivi bit je en sam bit, katerega razlaga je odvisna od vrste datoteke. To prepreči uporabnikom, ki niso lastniki datoteke ali imenika, brisanje ali preimenovanje datoteke v imeniku; to se imenuje zastavica za brisanje omejenega imenika in se običajno nahaja v imenikih, ki jih je mogoče zapisovati po svetu, kot je /tmp. Za običajne datoteke v nekaterih starejših sistemih se ta bit ohrani sliko besedila programe na swap napravi, tako da se ob zagonu naloži hitreje; to se imenuje lepljivi košček.

Kako si ogledati dovoljenja za datoteke

Hiter in enostaven način za seznam dovoljenj datotek je uporaba možnosti dolgega seznama (-l) ukaza ls. Na primer, če si želite ogledati dovoljenja za file.txt, lahko uporabite ukaz:

Ls -l file.txt

Kar bo prikazalo izhod, ki je videti takole:

Primeri uporabe chmod

chmod 644 datoteka.htm

Nastavi dovoljenja za datoteko file.htm na »lastnik lahko bere in piše; skupina zna le brati; drugi znajo le brati.«

Chmod -R 755 moje datoteke

Rekurzivno (-R) spremeni dovoljenja za imenik myfiles in vse njegove mape in datoteke v način 755. Uporabnik lahko bere, piše in izvaja; člani skupine in drugi uporabniki lahko berejo in izvajajo, ne morejo pa pisati.

Chmod u=rw primer.jpg

Spremeni dovoljenja za lastnika example.jpg, tako da lahko lastnik bere in piše datoteko. Ne spremeni dovoljenj za skupino ali druge.

Chmod u+s comphope.txt

Nastavi bit »Set-User-ID« datoteke comphope.txt, tako da bo vsakdo, ki poskuša dostopati do te datoteke, to storil, kot da bi bil lastnik datoteke.

Chmod u-s comphope.txt

Nasprotje od zgornjega ukaza; počisti bit SUID

Chmod 755 file.cgi

Nastavi dovoljenja za file.cgi na "branje, pisanje in izvajanje s strani lastnika" ter "branje in izvajanje s strani skupine in vseh ostalih."

Chmod 666 file.txt

Nastavi dovoljenje datoteke.txt na "branje/pisanje za vse".

Chmod a=rw datoteka.txt

Izvede isto stvar kot zgornji ukaz z uporabo simbolnega zapisa.

Sorodni ukazi

chown- Spremenite lastnika datotek ali imenikov.
getfacl- Prikaži sezname za nadzor dostopa do datotek.
ls- seznam vsebin imenika ali imenikov.