Linux komande: CHMOD. chmod naredba - promjena dozvola Chmod sintaksa

Promijenite dozvole za fajl

sintaksa:

chmod[-fv] [-R [-H | -L | -P]] mod fajla ... chmod[-fv] [-R [-H | -L | -P]] [-a | +a | =a] ACE fajl ... chmod[-fhv] [-R [-H | -L | -P]] [ ACL_Option] fajl ...

Opcije:

-R Rekurzija. Koristi se za foldere. Mijenja prava ne samo za navedeni objekt, već i za sve ugniježđene objekte
-R -H Pratite simboličke veze u komandna linija. Simbolički linkovi se po defaultu ne obrađuju
-R -L Svi simbolički linkovi će biti obrađeni
-R -P Stablo veza neće biti obrađeno. Zadana postavka.
-v Verbose. Prikazuje sve datoteke koje su izmijenjene
-v -v vrlo opsežan način. Stare i nove dozvole će biti prikazane u oktalnom (numeričkom) i alfabetskom načinu prikaza
-f nemojte prikazivati ​​dijagnostičke poruke ako je nemoguće promijeniti dozvole datoteke
ACL_Option(ACL-ovi - liste kontrole pristupa za korisničke grupe) ACL_manipulation_options

Prava pristupa:

Prava pristupa mogu biti navedena u alfabetskom kodu ili numeričkom na osnovu oktalnog sistema brojeva

Upravljanje putem digitalne autorizacije:

Tri bita se koriste za kontrolu prava

  • prvo je pravo na čitanje
  • drugo je pravo na pisanje
  • treće - pravo na izvršenje
malo pomalo Broj Slovni kod opis prava
000 0 nema prava
001 1 samo pravo izvršenja
010 2 samo pisati
011 3 prava snimanja i izvođenja
100 4 samo za čitanje
101 5 pravo čitanja i izvršavanja
110 6 pravo čitanja i pisanja bez izvršenja
111 7 sva prava

Takva prava na fajl su uspostavljena za tri vrste pristupa:

  • za vlasnika
  • za grupu
  • za druge

Kao rezultat, naredba izgleda ovako:

$ chmod 444 fajl - dozvola samo za čitanje za sve

$chmod 755 fajl - vlasnik ima sva prava (7), ostali korisnici samo čitaju i pokreću (5)

$chmod 066 fajl - vlasnik nema prava na fajl (0), svi ostali imaju prava čitanja i pisanja bez izvršenja

Upravljanje korištenjem abecednih prava pristupa:

Format za određivanje prava pomoću simboličkog koda

[ko...][[+-=][prava...]...][,...]

SZO je kombinacija karaktera "ugoa" pokazujući na korisnikačija će prava pristupa datoteci ili folderu biti promijenjena

  • u korisnik je vlasnik
  • g grupa korisnika
  • o drugim korisnicima
  • a (sve) za svakoga, slično kao ugo

Dobro zdravlje, dragi čitaoci bloga! Svi bismo željeli da svi ili folder koji se nalazi na hosting serveru i koji pripada stranici budu što je moguće više zaštićeni od neovlaštenog pristupa.

Ova zaštita je osigurana činjenicom da 90% hostera koristi operativne sisteme slične Unixu, u kojima je moguće regulisati prava pristupa svim fajlovima i direktorijumima. Server mog hosting provajdera, na kojem se nalazi nekoliko mojih projekata, nije izuzetak.

Inače, svakako se zainteresujte prateći navedeni link. Ali hajde da nastavimo. Pravila uspostavljena u Unixu razlikuju se od pravila rada u operacionoj sali na koja su mnogi navikli. Windows sistem, gdje zaštita u ovom aspektu nije tako jaka, što ponekad dovodi do katastrofalnih posljedica u vidu virusne infekcije sistema.

CHMOD za korisnike i prava pristupa datotekama i folderima (direktorijima)

U sistemima kojima upravlja Unix, situacija je drugačija i postoji prilika da se ozbiljno zakomplikuje život lošim momcima koji će pokušati da iskoriste rezultate vašeg mukotrpnog rada tokom dužeg perioda. Naime, ispravno konfigurirati CHMOD prava pristupa. Naš zadatak je da damo minimalna moguća prava za pristup datotekama i fasciklama, što ipak neće ometati ispravan rad sajta.

Slažem se, grijeh je ne iskoristiti priliku za ozbiljno jačanje. Naravno, u ovom slučaju će uređivanje nekih fajlova potrajati malo više vremena, ali ovdje morate izabrati: ili optimizirati sigurnost sistema, ili... U nastavku ću pokušati sistematizirati informacije o CHMOD-u (prava pristupa), jer postoji postoji nekoliko nijansi koje webmaster mora znati. Dakle, počnimo.

Prava pristupa se razlikuju za različite grupe korisnika. Kada se pokuša povezivanje, server određuje kojoj grupi će dodijeliti određenog korisnika. Svi korisnici su podijeljeni u tri kategorije:

  1. "korisnik" - vlasnik fajla
  2. "grupa" - jedan od članova grupe kojoj vlasnik pripada
  3. “svijet” - “ostatak svijeta”, odnosno svi ostali korisnici

Ako se povežete na server koristeći i prijavite se koristeći svoje korisničko ime i lozinku, bit ćete identificirani kao "korisnik"(u) ako se neko drugi poveže putem FTP-a, to će biti otkriveno kao "grupa"(g), ako korisnik koristi pretraživač, onda spada u kategoriju "svet"(o).

Sada o CMOD pravima pristupa datotekama i direktorijumima. U suštini, malo se razlikuju, iako su oznake iste. Dozvole za fajlove:

  • r (čitanje) - pravo čitanja podataka iz datoteke
  • w (wright) - pravo na promjenu sadržaja (možete samo uređivati ​​sadržaj - pisati, ali ne možete brisati)
  • x (eXutive) - pravo na izvršavanje datoteke

Prava pristupa folderima (direktorijima):

  • r - pravo čitanja mape (možete dobiti sadržaj direktorija, odnosno listu datoteka uključenih u njega)
  • w - pravo na promjenu sadržaja (dozvola za kreiranje i brisanje objekata u direktoriju; ako imate pravo pisati datoteke, možete čak i brisati objekte koji vam ne pripadaju)
  • x - pravo pristupa određenom direktoriju (ovo je posebnost u tome što čak i ako imate sva potrebna prava na datoteku koja se nalazi “duboko” u direktorijima, ali nemate prava pristupa barem jednom poddirektoriju na putu do ovom objektu, tada mu nećete moći pristupiti)

Crtica “-” označava odsustvo bilo kakvih prava. Sva ova prava dodjeljuje administrator, koji tu mogućnost stiče unošenjem lozinke. Ako možemo postaviti maksimalna moguća ograničenja za CHMOD prava pristupa određenim datotekama resursa, tada možemo praktično eliminirati opasnost da virusni programi izvršavaju svoja „prljava djela“.

Radi jasnoće, razmotrimo primjer kada vlasnik datoteke u ima sva moguća prava: čitanje, pisanje i izvršavanje. Korisnici koji su dodijeljeni kategoriji g (grupa) imaju samo čitanje i pisanje, svi ostali (w) imaju samo prava čitanja. Tada će CHMOD unos izgledati ovako: “rwx rw- r- -”.

Prava pristupa datotekama i fasciklama u digitalnom smislu: CHMOD (777, 755, 444)

Ali češće, webmasteri u svojim praktičnim aktivnostima moraju dodijeliti određena prava pristupa u digitalnom smislu:

  • r (čitaj) - 4
  • w (rekord) - 2
  • x (performanse) - 1
  • - (bez prava) - 0

Pogledajmo sada gornji primjer ponovo za dodjelu prava pristupa "rwx rw- r- -". Za prikaz prava svakog korisnika koristi se dodavanje njegovih prava (r čitanje + w pisanje + x izvršavanje). Tako će se dio unosa za vlasnika datoteke u (korisnik) - “rwx” pretvoriti u 7 (4+2+1). Za člana grupe g (grupa) - “rw-” u 6 (4+2+0), a za ostale korisnike o (svijet) - “r- -” u 4 (4+0+0). Kao sažetak, evo tabele sažetka sa vrijednostima CHMOD pristupnih prava, izraženih slovima i brojevima:


Sada ću predstaviti još jednu tabelu koja odražava ukupna CHMOD prava za sve korisničke grupe u numeričkom formatu:


Ovo su glavne kombinacije koje se najčešće koriste u radu webmastera. Ostalo je formirano po analogiji. Ako ste administrator sajta ili bloga, ali radite na projektu bez povezivanja preko FTP protokola, takođe pripadate grupi „Drugi korisnici“. U ovom slučaju, kada radite sa web lokacijom u ovom načinu rada, morate uzeti u obzir posljednju cifru u CHMOD vrijednosti.

Obično na serveru na kojem se nalaze vaši fajlovi WordPress blog, folderi imaju prava pristupa od 755, a datoteke koje su dio njih su postavljene na 644. Ovo je tačno kada se resurs gradi korištenjem HTML datoteka, međutim, u modernim uvjetima, CMS (sistemi za upravljanje sadržajem) se široko koriste za izgradnju web stranice, koje uključuju i WordPress. I ovdje mogu postojati objekti na koje treba pisati “svjetska” korisnička grupa. Možda postoje fascikle u kojima se preuzima sadržaj, uključujući slike.

Stoga se dodjela CHMOD prava određenim datotekama mora razlikovati. Ako se prijavite na upravljanje sajtom preko FTP-a, možete izvršiti bilo koju radnju, međutim, u mnogim slučajevima mi radimo s našim projektom do kraja, iu ovom slučaju problemi mogu nastati ako su prava previsoka, i obrnuto, ako prava pristupa jednom ili neki drugi fajl (folder) su potcenjeni, onda se bezbednosna pretnja povećava. Stoga, na osnovu gore navedenog, možemo odrediti neke preporuke za praktična primjena CHMOD za WordPress blog:

777 - za foldere u koje se fajlovi stalno pišu i brišu (za folder za keširanje)
755 - u vezi sa fasciklama u koje se fajlovi stalno pišu, ali se ne brišu
666 - za fajlove u koje treba da dodate unos s vremena na vreme (na primer, .htaccess fajl)
644 - za datoteke koje su samo za čitanje (.php, .html, itd.)

Kako konfigurirati CHMOD dozvole koristeći FileZilla FTP menadžer

Ako trebate napraviti neke promjene pri radu sa resursom, ali pošto je uređivanje zabranjeno, to se ne može učiniti, potrebno je da se povežete na hosting server preko FTP-a i promijenite prava pristupa na 777. Međutim, nakon što napravite izmjene u datoteci , preporučuje se da ponovo postavite prethodni CHMOD.

Sada ćemo naučiti više o tome kako izvršiti ovu operaciju koristeći . Da biste to učinili, otvorite program i povežite se preko FTP-a na hosting server. Na lijevoj strani « Udaljeni server» Prvo, označavamo datoteke čiji će se atributi uređivati:

I iz kontekstnog menija uzrokovanog pritiskom na desnu tipku miša odaberite "Dozvole za fajlove". Nakon ovoga će se pojaviti dijaloški okvir "Promijeni atribute fajla":

Ovdje dodjeljujemo potrebne CHMOD vrijednosti za odabrane (ili odabrane) datoteke. Ali to je samo ako ste odabrali datoteku ili grupu datoteka. Ako želite postaviti ili promijeniti CHMOD vrijednosti za direktorij (mapu), kada odaberete "Promijeni atribute datoteke", pojavit će se analogni prozor, nešto drugačiji od onog koji se nalazi iznad, naime:

Vidite, pojavili su se ovdje dodatna podešavanja. Ako označite polje pored linije "Preusmjeravanje na poddirektorije", to znači da će navedena prava pristupa biti primijenjena na direktorije (foldere) ili datoteke ugniježđene u ovom direktoriju. Kada je polje ispod označeno, grupa podešavanja koja se nalaze postat će aktivna i također ćete morati odabrati kako će se postavke primijeniti: na sve datoteke i direktorije, samo na priložene datoteke ili samo na direktorije.

Danas bih želeo da pričam o pravima pristupa datotekama i fasciklama (čitaj). Ovaj koncept je došao u svijet webmasteringa iz Linuxa (Unix) slični sistemi, na kojem radi većina hosting stranica.

A samo ime Chmod je ime programa u Linuxu koji vam omogućava da dodijelite prava pristupa različitim objektima. A budući da je vaša web stranica instalirana na serveru koji koristi Linux (Unix) jedne ili druge varijacije, onda će rad s objektima vaše web stranice biti podložan pravilima uspostavljenim od strane Linux (Unix) operativnih sistema.

U Windows-u su gotovo sve datoteke postavljene na maksimalne dozvole, što, u stvari, dovodi do dominacije na našim računarima, a također, zauzvrat, sprječava da vlasnici antivirusnih kompanija umru od gladi. U Linux (Unix) sistemima situacija je drugačija - sve je složenije, ali u isto vrijeme sigurnije. Ako sve pravilno i kompetentno konfigurirate, možete značajno povećati sigurnost vaše web stranice.

Osnovni koncepti prava pristupa datotekama i fasciklama

Ako sve prepustite slučaju i ne zamarate se postavljanjem potrebnih privilegija, tada će vjerovatnoća da će vaš resurs biti hakiran ili zaražen zlonamjernim kodom biti vrlo velika. Dobro je ako ste izvršili sve svoje podatke, ali šta ako ne?!

Stoga je bolje odmah, bez odlaganja duga kutija, konfigurirajte i promijenite Chmod za sve bitne objekte vašeg motora, po principu minimalizma. One. daju objektima minimalna prava potrebna za ispravan rad web stranice.

Hajde da prvo shvatimo suštinu problema da bismo razumeli šta tačno postavljamo i kako. Pa počnimo. Prava pristupa su odvojena za datoteke i direktorije. One su označene isto, ali znače malo drugačije stvari.

Zauzvrat, u odnosu na fajlove moguće je:

  • r - pravo čitanja podataka.
  • w - za promjenu sadržaja (snimanje - samo mijenjanje sadržaja, ali ne i brisanje).
  • x - da izvršite datoteku.

Pogledajmo bliže mogućnosti izvršavanja datoteka. Činjenica je da se u Linuxu može izvršiti bilo koja datoteka. Da li je izvršna, ne određuje njegova ekstenzija (koncept proširenja je odsutan u sistem podataka Unix), i po pravima pristupa Chmod. Ako datoteka ima postavljeno pravo izvršenja “X”, to znači da se može izvršiti.

U odnosu na imenike moguće je:

  1. r - pravo čitanja direktorija (možete pročitati sadržaj direktorija, tj. dobiti listu objekata koji se nalaze u njemu)
  2. w - za promjenu sadržaja direktorija (možete kreirati i brisati objekte u njemu, a ako imate dozvolu za pisanje, možete čak i brisati datoteke koje vam ne pripadaju)
  3. x - za ulazak u direktorij (uvijek se prvo provjeri, pa čak i ako imate sve potrebne privilegije na objektu koji je duboko zakopan u lancu direktorija, ali nemate atribut “X” za pristup barem jednom direktoriju na put do fajla, onda nikada nećete doći do njega)

U Linux sistemima sve to distribuira glavni administrator računara, kojem on pristupa unošenjem lozinke. A ako većina objekata ima prava samo za čitanje, onda virusi neće imati praktički ništa da rade na takvom računaru, jer oni neće moći da se tamo zapišu niti će se tada ispuniti. Upravo to je rezultat koji trebamo postići postavljanjem potrebnog Chmod-a na objekte naše stranice.

Privilegije za korisničke grupe

Same privilegije su podijeljene u tri kategorije ovisno o tome ko pristupa objektu:

  • “korisnik” - u (direktno vlasnik fajla)
  • "grupa" - g (član iste grupe kao i vlasnik)
  • "svijet" - o (svi ostali)

Server određuje kojoj korisničkoj grupi da vas dodijeli kada se povežete na server. Kada se, na primjer, povežete sa serverom preko FTP-a, prijavljujete se sa svojim korisničkim imenom (i lozinkom), a zatim vas server dodjeljuje u grupu "korisnik" ("u)".

Ostali korisnici koji se također povežu preko FTP-a na server bit će dodijeljeni grupi "grupa" ("g"), a posjetitelj koji dođe na vašu web stranicu koristeći svoj pretraživač bit će dodijeljen grupi "svijet" ("o") .

Varijacije tri moguće vrijednosti "r", "w" i "x" za tri kategorije "u", "g" i "o" i definirati Chmod u fajlovima. Ako kategorija nije navedena, ona se zamjenjuje crticom “-”. Privilegije su navedene uzastopno datim redoslijedom:

  1. prvo prava za vlasnika - “u”
  2. zatim za grupu - “g”
  3. i na kraju - za sve ostale - "o"

Nakon što server dodijeli posjetitelja određenoj grupi, daje mu prava da djeluje na objekte, nakon čega će posjetitelj moći čitati, pisati ili izvršavati datoteku (u zavisnosti od toga šta je njegovoj grupi dozvoljeno da radi sa ovim objektom) .

Da biste vidjeli sadržaj direktorija, on mora imati atribut čitanja “r” (za grupu kojoj je server dodijelio posjetitelja). Za kreiranje datoteke ili mape u postojećoj, potrebno vam je ovo postojeći direktorij imao atribut za "w" unos.

Radi jasnoće, pogledajmo primjer gdje vlasnik datoteke („korisnik“ - „u“) ima sva prava: da čita, piše u nju i izvršava, a svi ostali korisnici imaju samo privilegiju čitanja. Unos za takav Chmod će izgledati ovako: “rwx r-- r--”.

Pogledajmo to detaljno: "rwx" (ovaj zapis specificira prava na objekt za vlasnika - "u"), "r--" (ovaj zapis specificira prava na isti objekt, ali ako je posjetitelj dodijeljen grupi od strane servera - "g"), "r--" (ovaj unos postavlja privilegije na objekt za sve ostale korisnike - "o").

Koja je razlika između dozvola za datoteke i mape?

Ispostavilo se da postoje tri korisničke grupe i tri moguće radnje sa objektima. Još zbunjeni? Stavimo sve gore navedeno na police u obliku tableta. Prvo, pogledajmo po čemu se razlikuju:

I također znak koji prikazuje različite Chmod kombinacije za različite vrste objekti:

Ništa se ne može učiniti

Pristup direktoriju i njegovim poddirektorijumima je odbijen

Može vidjeti i mijenjati sadržaj

Možete dodavati, brisati, mijenjati datoteku direktorija

Izvršiti ako je datoteka binarna

Korisnik to može binarni fajl zabranjeno je postojanje za koje zna, ulazak ili čitanje kataloga

Chmod izražen u brojevima (777, 400, 666, 755, 444)

Možete vidjeti da ovdje koristimo unose koji koriste latinična slova i crtice za opis prava pristupa, ali vjerovatno ste se već susreli sa činjenicom da Chmod se obično navodi digitalno, na primjer, dobro poznata kombinacija: 777, koja svima omogućava sve.

Zaista, privilegije su takođe označene brojevima:

  1. r (čitanje) se zamjenjuje sa 4
  2. w (zapis) se zamjenjuje sa 2
  3. x (izvršenje) se zamjenjuje sa 1
  4. 0 znači ne raditi ništa (ono što je označeno crticom u abecednom zapisu)

Vratimo se na primjer snimanja koji sam dao malo ranije: rwx r-- r-- . Zamenimo li slova i crtice brojevima u njima, u skladu sa upravo opisanim pravilom, a istovremeno saberemo brojeve u svakoj trojci, dobićemo digitalni oblik ovog unosa: 744.

One. Ispostavilo se da zbir ovih brojeva pokazuje Chmod u odnosu na datoteke ili mapu. Na primjer:

  • 7 (rwx) = 4 + 2 +1 (puna prava)
  • 5 (r-x)= 4 + 0 + 1 (čitaj i izvršavaj)
  • 6 (rw-) = 4 + 2 + 0 (čitaj i piši)
  • 4 (r--) =4 + 0 + 0 (samo za čitanje)
  • itd.

Ova tabela prikazuje sve moguće kombinacije privilegija snimljenih digitalno:

Pogledajmo sada različite kombinacije oznaka u brojevima u odnosu na grupe korisnika:

"vlasnik"

"Grupa"

"odmor"

izvoditi

izvoditi

izvoditi

Vi sami (osim u slučaju kada sajtu pristupate preko FTP-a) i svi ostali posetioci vašeg resursa pripadate grupi „word“ (svi ostali), tako da za rad sa sajtom moramo prvo pogledati poslednji (treći). ) cifra ovog unosa.

Da bi se fajl skripte „pokrenuo“ kada korisnik radi sa sajtom, biće dovoljno da su prava na njega postavljena, počevši od „4“ (r-- – samo za čitanje) (5,6,7 će također biti dovoljno, ali će to biti suvišno u smislu sigurnosti).

Za direktorij u kojem se nalazi datoteka ove skripte, morate postaviti minimum na “5” (r-x - možete otići u direktorij i pročitati njegov sadržaj, ne možete izbrisati ili dodati). 7 će također raditi, ali će također biti suvišan u smislu sigurnosti.

Ako vam je potrebna skripta da ne samo čita, već i "piše" neke podatke (na primjer, koje je unio posjetitelj), tada će minimalne dozvole za "mapu" i dalje biti "5", ali za "datoteku" koju već će trebati "6" (čitanje i pisanje).

Najvjerovatnije će na serveru na koji ste kopirali sadržaj motora vaše web stranice na objekte biti instaliran sljedeći Chmods:

Ako ste imali resurs koji se sastoji samo od html stranice, onda bismo sve mogli ostaviti tako. Ali moderne stranice su izgrađene na motorima i mogu postojati objekti kojima je potrebno pisati u ime posjetitelja iz grupe "svijet" - o (svi ostali). To mogu biti direktoriji koji se koriste za keširanje stranica ili oni u koje će se slike itd. učitavati dok radite sa web-mjestom.

Podrazumeva se da ako sajtu pristupate preko FTP-a, možete pisati u ove datoteke ili direktorijume, ali kada radite sa web interfejsom kao običan korisnik, možete imati problema. Stoga se uspostavljanju određenih prava mora pristupiti selektivno:

za sve direktorijume u koje treba pisati fajlove, ali ih ne treba redovno brisati

za foldere u koje se datoteke trebaju pisati i brisati (na primjer, za keš memoriju)

Za jednostavne datoteke, samo za čitanje (.html, .php, itd.)

za datoteke u koje je možda potrebno upisati (na primjer, sa .dat bazama podataka)

Kako dodijeliti Chmod koristeći PHP

Kako se sve ovo može implementirati u praksi za Vašu web stranicu? U principu, sve je jednostavno. Za dodjelu prava pristupa možete:

Ali ako ne možete promijeniti Chmod u bilo koju datoteku, onda možete pokušati da ih dodijelite pomoću PHP alata. Možete koristiti sljedeći kod:

Morat ćete zamijeniti file_name_x.php i directory_name_x sa stvarnim imenima datoteka i foldera za koje želite promijeniti mod. Shodno tome, za fajlove će biti postavljeno na 666, a za direktorijume - 777. Postavite ovaj PHP kod u datoteku koristeći bilo koju tekstualnu beležnicu (preporučujem) i dajte mu ekstenziju .php, pa, na primer, kao prava.php.

kopirajte prava.php preko FTP-a u direktorij gdje ne radi redovnim sredstvima dodijeliti prava pristupa. IN adresna traka pretraživač, upišite putanju do prava..php) i pritisnite “Start” ili enter na tastaturi. To je to, sada će privilegije biti potpuno promijenjene korištenjem PHP-a.

Za Joomla, odmah nakon instalacije, možete postaviti 777 na sljedeće direktorije:

Administrator/sigurne kopije/ administrator/cache/ administrator/komponente/ administrator/moduli/ administrator/templates/ cache/ komponente/ slike/ slike/baneri/ slike/priče/ jezik/ jezik/en-GB/ language/ru-RU/ media/ moduli/ plugins/ plugins/content/ plugins/search/ plugins/system/ templates/

Nakon što instalirate sva proširenja za Joomla i izvršite konačna podešavanja, slijedi Chmod na većinu gore navedenih direktorija kako bi se povećala sigurnost stranice vrati se na 755. Morat ćete ostaviti 777 za direktorije sa kešom, sigurnosnom kopijom i slikama.

Za fajlove motora koji se nalaze u korenu sajta, osim za sitemap.xml, bolje je postaviti 444 (samo za čitanje za sve grupe posetilaca). Na setting.php ponekad se preporučuje da ga postavite na 400.

Mogu dati potpuno isti savjet u vezi postavljanja prava pristupa objektima u SMF i WordPress mašinama. Preporučljivo je, ako je moguće, ostaviti ga na stalnoj osnovi. za imenike 755(osim keš memorije, slika, direktorija rezervnih kopija spomenutih gore, a možda i nekih drugih, po potrebi), i za fajlove - 644.

Bolje je postaviti 444 na fajlove u korijenu stranice.

Ako se pri radu sa sajtom pojavi problem sa nemogućnošću upisivanja postavki u neki fajl ili nemogućnošću kreiranja neke vrste direktorijuma, onda možete privremeno postaviti veća prava na njih (777 npr.), a zatim sve vratiti nazad (da budem siguran). I ni pod kojim okolnostima ne treba ostaviti(radi lakšeg rada sa sajtom) nerazumno naduvan Chmod.

Sretno ti! Vidimo se uskoro na stranicama blog stranice

Možda ste zainteresovani

Kodiranje teksta ASCII (Windows 1251, CP866, KOI8-R) i Unicode (UTF 8, 16, 32) - kako riješiti problem s krekerima
OpenServer - moderan lokalni server i primjer njegove upotrebe za instalaciju WordPress-a na računar
Šta su URL adrese, kako se razlikuju apsolutne i relativne veze za web lokaciju?
Yandex pretraga po web lokaciji i online trgovini
Sitemap Sitemap u xml formatu za Yandex i Google - kako napraviti sitemap u Joomla i WordPress ili u online generatoru

(Početna vrijednost dozvola za fajl je rwxrwxrwx - potpuni pristup za sve) Uklanjanje dozvole za izvršavanje datoteke za sve korisnike i grupe:

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

Da otkažete pisanje u fajl od strane grupe i drugih korisnika:

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

Dozvola za izvršavanje fajla od strane vlasnika:

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

Davanje grupi iste dozvole kao vlasnik datoteke:

$ chmod g=u fajl (rwxrwxr–)

Otkažite čitanje i pisanje u datoteku od strane korisnika grupe i drugih korisnika:

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

Primjeri korištenja naredbe chmod u apsolutnom načinu rada

Dozvola za čitanje, pisanje, izvršavanje fajla od strane svih korisnika i grupa (potpuna kontrola):

$ chmod 777 fajl (rwxrwxrwx)

Postavite dozvole za čitanje i pisanje za vlasnika, grupu i druge korisnike:

$ chmod 666 fajl (rw-rw-rw-)

Postavljanje punog pristupa fajlu za vlasnika i samo za čitanje za grupu i druge korisnike:

$ chmod 744 fajl (rwxr–r–)

Postavljanje punog pristupa fajlu za vlasnika fajla i zabrana pristupa grupi i drugim korisnicima:

$ chmod 700 fajl (rwx--)

Postavljanje dozvola za čitanje i pisanje za vlasnika datoteke i samo za čitanje za grupu i ostale:

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

Postavljanje dozvola za čitanje i pisanje za vlasnika datoteke i njegovu grupu i uskraćivanje pristupa drugima:

$ chmod 640 fajl (rw-r-–)

Postavljanje pristupa fajlu s dozvolom čitanja za sve korisnike i grupe:

$ chmod 444 fajl (r–r–r–)

Dozvole za čitanje, pisanje, izvršavanje od strane vlasnika i čitanje, izvršavanje od strane grupe i ostalo:

$ chmod 755 fajl (rwxr-xr-x)

Omogućavanje pristupa za čitanje i izvršavanje datoteke za korisnika i druge i zabrana pristupa grupi:

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

Ako želite dodijeliti dozvole svim datotekama u trenutnom direktoriju, jednostavno stavite * (zvjezdicu) nakon dozvola koje dodijelite:

$chmod 755 *

Kao rezultat izvršavanja ove naredbe, vlasnik će imati puna prava (čitanje, modificiranje, izvršavanje) na sve datoteke u trenutnom direktoriju, dok će grupa i drugi korisnici imati samo prava čitanja i izvršavanja. Ako želite da se vaše akcije propagiraju rekurzivno (uključujući sve poddirektorije), koristite opciju -R:

$ chmod -R 777 *

Rezultat izvršavanja gornje naredbe će biti rekurzivno "prelazak" kroz sve poddirektorije trenutnog direktorija i dodjeljivanje punog pristupa svim korisnicima i grupama. Ovaj članak pokriva samo nekoliko primjera kako koristiti naredbu chmod. Ako želite saznati više o naredbi chmod i dozvolama u Linuxu, pogledajte ovaj članak.

Promjena dozvola samo za direktorije (rekurzivno)

$ pronađi /put/do/base/dir -type d -exec chmod 755() +

$ chmod 755 $ (pronađi /put/do/bazu/dir -tip d)

$ chmod 755 `pronađi /put/do/base/dir -tip d`

$ pronađi /put/do/base/dir -tip d -print0 | xargs -0 chmod 755

Promijenite dozvole samo za fajlove (rekurzivno)

$ pronađi /put/do/base/dir -type f -exec chmod 644() +

$ chmod 644 $ (pronađi /put/do/base/dir -tip f)

$ chmod 0755 `pronađi ./ -tip f`

$ pronađi /put/do/base/dir -type f -print0 | xargs -0 chmod 644

Chmod sintaksa za fascikle i datoteke

Hajde da prvo shvatimo suštinu problema sa Chmodom da bismo razumeli šta tačno i kako to konfigurišemo. Pa počnimo. Prava pristupa su podijeljena na Chmod za datoteke i Chmod za direktorije. One su označene isto, ali znače malo drugačije stvari.

Prava pristupa (Chmod) datotekama se dijele na:

    r - pravo čitanja podataka.

    w - pravo na promjenu sadržaja (pisanje - samo mijenjanje sadržaja, ali ne i brisanje).

    x - pravo na izvršavanje datoteke.

Pogledajmo pobliže prava izvršenja datoteke. Činjenica je da se u linuxu (Unixu) može izvršiti bilo koja datoteka. Da li je izvršna nije određena njegovom ekstenzijom (koncept ekstenzije nije u datoteci Unix sistem), i po pravima pristupa Chmod. Ako datoteka ima pravo "X" (chmod x), to znači da se može izvršiti.

Sada o pravima pristupa (Chmod) folderu (direktoriju):

    r - pravo čitanja direktorija (možete pročitati sadržaj direktorija, tj. dobiti listu objekata koji se nalaze u njemu)

    w - pravo na promjenu sadržaja direktorija (možete kreirati i brisati objekte u ovom direktoriju, a ako imate dozvolu za pisanje, možete čak i brisati datoteke koje vam ne pripadaju)

    x - pravo koje vam omogućava da uđete u direktorij (ovo pravo se uvijek prvo provjerava, a čak i ako imate sva potrebna prava na objekt koji je duboko zakopan u lancu direktorija, nemate pravo "X" da pristupite barem jednom direktoriju na putu do ovog fajla, tada nikada nećete doći do njega)

IN Linux sistemi(Unix) sva ova prava distribuira glavni administrator računara, kojem on pristupa unošenjem lozinke. A ako većina objekata ima prava pristupa samo za čitanje (Chmod), onda virusi neće imati praktički ništa da rade na takvom računaru, jer oni neće moći da se tamo zapišu niti će se tada ispuniti. Upravo to je rezultat koji trebamo postići postavljanjem prava pristupa (Chmod) objektima na našoj stranici.

Chmod sintaksa za korisničke grupe

Sama prava pristupa (Chmod) su podijeljena u tri kategorije, ovisno o tome ko pristupa objektu:

    “korisnik” - u (direktni vlasnik fajla)

    "grupa" - g (član iste grupe kao i vlasnik)

    "svijet" - o (svi ostali)

Server određuje kojoj korisničkoj grupi da vas dodijeli kada se povežete na server. Kada se, na primjer, povežete sa serverom preko FTP-a, prijavljujete se sa svojim korisničkim imenom (i lozinkom), a zatim vas server dodjeljuje u grupu "korisnik" ("u)". Ostali korisnici koji se također povežu preko FTP-a na server bit će dodijeljeni grupi "grupa" ("g"), a korisnik koji dođe na vašu stranicu koristeći svoj pretraživač će biti dodijeljen grupi "svijet" ("o") .

Varijacije tri moguće vrijednosti "r", "w" i "x" za tri kategorije "u", "g" i "o" određuju Chmod za datoteke. Ako kategorija nije navedena, ona se zamjenjuje crticom “-”. prava pristupa (Chmod) su navedena sekvencijalno datim redosledom:

    prvo prava za vlasnika - “u”

    zatim za grupu - “g”

    a na kraju desno za sve ostale - “o”

Nakon što server dodijeli korisnika određenoj grupi, daje mu prava za djelovanje na objektima, nakon čega će korisnik moći čitati, pisati ili izvršavati datoteku (u zavisnosti od toga što je njegovoj grupi dozvoljeno da radi sa ovim objektom). Da biste vidjeli sadržaj foldera, on mora imati atribut čitanja “r” (za grupu kojoj je server dodijelio korisnika). Da biste kreirali datoteku ili mapu u postojećoj, ona mora imati Chmod atribut na "w" unosu.

Radi jasnoće, pogledajmo primjer gdje vlasnik datoteke („korisnik“ - „u“) ima sva prava: pravo čitanja, pisanja i izvršavanja, a svi ostali korisnici imaju samo pravo čitanja. Unos za takav Chmod će izgledati ovako: “rwx r-- r--”. Pogledajmo to detaljno: “rwx” (ovaj zapis specificira prava na objekt za vlasnika - “u”), “r--” (ovaj zapis specificira prava na isti objekt, ali ako je korisnik dodijeljen od strane servera grupi - “g "), "r--" (ovaj unos specificira prava na objekt za sve ostale korisnike - o").

Koja je razlika između Chmod datoteka i mapa

Ništa se ne može učiniti

Pristup direktoriju i njegovim poddirektorijumima je odbijen

Može vidjeti i mijenjati sadržaj

Možete dodavati, brisati, mijenjati fajl foldera

Izvršiti ako je datoteka binarna

Korisnik može izvršiti binarnu datoteku za koju zna da postoji, ali mu nije dozvoljeno da uđe ili pročita direktorij

Chmod sintaksa izražena u brojevima (777)

Možete vidjeti da se ovdje unosi koji koriste latinična slova i crtice koriste za opisivanje prava pristupa, ali vjerovatno ste se već susreli s činjenicom da se Chmod obično navodi u digitalnom obliku, na primjer, dobro poznata kombinacija: Chmod 777, koja omogućava sve svima. Zaista, prava pristupa (Chmod) su takođe označena brojevima:

    w (zapis) se zamjenjuje sa 2

    x (izvršenje) se zamjenjuje sa 1

0 znači - ne radi ništa (ono što se označava crticom u alfabetskom zapisu) Vratimo se na primjer pisanja prava pristupa koji sam dao malo ranije: rwx r-- r--. Ako slova i crtice u njima zamenimo brojevima, u skladu sa upravo opisanim pravilom, i istovremeno saberemo brojeve u svakoj trojci, dobićemo digitalni oblik ovog unosa: 744. Tj. Ispostavilo se da zbir ovih brojeva pokazuje Chmod fajlovima ili fascikli. Na primjer:

    7 (rwx) = 4 + 2 +1 (puna prava)

    5 (r-x)= 4 + 0 + 1 (čitaj i izvršavaj)

    6 (rw-) = 4 + 2 + 0 (čitaj i piši)

    4 (r--) =4 + 0 + 0 (samo za čitanje)

Ova tabela prikazuje sve moguće Chmod kombinacije napisane digitalno:

Sada pogledajmo različite Chmod kombinacije u brojevima, u odnosu na korisničke grupe:

""Vlasnik""

""Grupa""

""Odmor""

izvoditi

izvoditi

izvoditi

Vi sami (osim u slučaju kada sajtu pristupate preko FTP-a) i svi ostali posetioci Vašeg sajta pripadate grupi „word“ (svi ostali), tako da za rad sa sajtom moramo prvo pogledati poslednji (treći). ) Chmod broj. Da bi skripta "pokrenula fajl" kada korisnik radi sa sajtom, biće dovoljno da se na njemu podese prava pristupa (Chmod), počevši od "4" (r-- – samo za čitanje) ( 5,6,7 su također prikladni, ali to će biti nepotrebno u smislu sigurnosti).

"Za mapu" u kojoj se nalazi datoteka ove skripte, morate postaviti minimum na "5" (r-x - možete ući u mapu i pročitati njen sadržaj, ne možete brisati ili dodavati). 7 će također raditi, ali će također biti suvišan u smislu sigurnosti. Ako vam je potrebna skripta da ne samo čita, već i "piše" neke podatke (na primjer, koje je unio korisnik), tada će minimalna prava za "mapu" i dalje biti "5", ali za "datoteku" koju već će trebati prava “6” "(čitanje i pisanje).

Najvjerovatnije će na serveru na koji ste kopirali sadržaj motora vaše web stranice na objekte biti instaliran sljedeći Chmods:

Fascikle 755

vlasnik (korisnik) može sve, grupa i svi ostali mogu samo čitati foldere i ulaziti u njih, ali im je zabranjeno pisati fajlove, mijenjati imena i brisati ih u direktorijima. (rwxr-xr-x)

Fajlovi 644

Ako imate web stranicu koja se sastoji samo od html-a, onda biste sve mogli ostaviti tako. Ali moderne stranice su izgrađene na motorima i mogu postojati objekti na koje treba pisati u ime korisnika iz grupe "svijet" - o (svi ostali). To mogu biti folderi koji se koriste za keširanje stranica ili oni u koje će se slike i sl. učitavati dok radite sa sajtom. Podrazumijeva se da ako stranici pristupate preko FTP-a, možete kreirati unos u tim fajlovima ili folderima, ali u radu sa interfejsom web stranice, kao običan korisnik, možete imati problema. Stoga se instalaciji određenih Chmoda mora pristupiti selektivno.

Naredba chmod se koristi za promjenu dozvola datoteka ili direktorija.

Na Linuxu i drugim Unix-u operativni sistemi Za svaki fajl postoji skup pravila koja određuju ko može pristupiti toj datoteci i kako. Ova pravila se zovu dozvole datoteka ili načini datoteka. Ime naredbe chmod znači "promjeni način" i koristi se za određivanje načina pristupa datoteci.

IN opšti pogled chmod komande izgledaju ovako:

chmod opcija dozvola naziv datoteke

Ako opcije nisu specificirane, chmod mijenja dozvole datoteke navedene u ime dokumenta, za dozvole navedene u dozvole.

Dozvole definirati prava pristupa za vlasnika datoteke ("korisnik"), članove grupe koja posjeduje datoteku ("grupa") i sve ostale ("ostali"). Postoje dva načina za predstavljanje ovih dozvola: korištenjem simbola (alfanumeričkih znakova) ili oktalnih brojeva (brojevi od 0 do 7).

Recimo da ste vlasnik fajla pod nazivom myfile i želite da podesite njegove dozvole tako da:

  1. korisnik ( u ser) mogao čitati ( r ead), pisati ( w obred) i izvrši ( x ecute) him;
  2. članovi grupe ( g grupa) može čitati ( r ead) i izvršiti ( x ecute) him;
  3. kao i drugi ( o njihov) može samo čitati ( r ead) njega.

Ova komanda će izgledati ovako:

chmod u=rwx,g=rx,o=r myfile

Ovaj primjer koristi simboličku notaciju dozvola. Slova u, g i o označavaju "korisnika", "grupu" i "drugo". Znak jednakosti (“=”) znači “podesite dozvole na ovaj način”, a slova “r”, “w” i “x” znače “čitanje”, “pisanje” i “izvršavanje”, respektivno. Zarezi razdvajaju različite klase dozvola i između njih nema razmaka.

Evo ekvivalentne naredbe koja koristi oktalnu notaciju dopuštenja:

chmod 754 myfile

Ovdje brojevi 7, 5 i 4 pojedinačno predstavljaju dozvole za korisnika, grupu i druge tim redoslijedom. Svaka cifra je kombinacija brojeva 4, 2, 1 i 0:

  • 4 znači "čitati"
  • 2 znači "pisati"
  • 1 znači "izvršiti"
  • 0 znači "bez dozvole".

Dakle, 7 je kombinacija dozvola 4 + 2 + 1 (čitanje, pisanje i izvršavanje), 5 je 4 + 0 + 1 (čitanje, bez pisanja i izvršavanje), a 4 je 4 + 0 + 0 (čitanje, ne pisati, a ne izvršavati).

chmod sintaksa

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

chmod opcije

-c, --promjene Slično kao --verbose, ali samo proizvodi detaljan izlaz kada je promjena stvarno napravljena.

-f, --tiho, --tiho Tihi način rada; potisnuti većinu poruka o greškama.

-v, --verbose Detaljan način rada; prikazati dijagnostičku poruku za svaku obrađenu datoteku.

--no-preserve-root Nemojte tretirati "/" (korijenski direktorij) na bilo koji poseban način, što je zadana postavka.

--preserve-root Nemojte raditi rekurzivno na "/".

--referenca=RFILE Postavite dozvole koje odgovaraju onima u RFILE datoteci, zanemarujući bilo koji naveden MODE.

-R, --rekurzivno Rekurzivno mijenjati datoteke i direktorije.

--pomoć Prikaži poruku pomoći i izađi.

--verzija Odštampajte informacije o verziji i izađite.

Tehnički opis

chmod mijenja način datoteke svakog specificiranog FILE-a prema MODE-u, koji može biti ili simbolički prikaz promjene koja se vrši ili oktalni broj koji predstavlja uzorak bita za nove bitove moda.

Format simboličkog načina rada:

[[+-=]...]

gdje je perms nula ili više slova iz skupa r, w, x, X, s i t, ili jedno slovo iz skupa u, g i o. Možete navesti više načina karaktera, odvojenih zarezima.

Kombinacija slova u, g, o i kontrola koje će promijeniti pristup korisnika fajlu: korisnik koji ga posjeduje (u), drugi korisnici u grupi datoteke (g), drugi korisnici koji nisu u grupi datoteke (o) , ili svi korisnici (a). Ako ništa od ovoga nije dato, efekat je kao da je dato a, ali bitovi koji su postavljeni u umask nisu pogođeni.

Operator (+) uzrokuje da se odabrani bitovi načina datoteke dodaju postojećim bitovima načina datoteke svake datoteke; "-" uzrokuje njihovo brisanje; i "=" uzrokuje njihovo dodavanje i uzrokuje uklanjanje nespomenutih bitova, osim što to ne utiče na nepromjenjive korisnički postavljene bitove direktorija i ID-ove grupe.

Slova r, w, x, X, s i t odabiru bitove načina datoteke za pogođene korisnike: čitanje (r), pisanje (w), izvršavanje (x), izvršavanje samo ako je datoteka direktorij ili već ima dozvolu za izvršenje za nekog korisnika (X) postavlja ID korisnika ili grupe na izvršenje(a), ograničenu zastavicu brisanja ili fiksni bit (t). Za direktorije, X i X parametri vremena izvođenja određuju dozvolu za pregled sadržaja direktorija.

Umjesto jednog ili više ovih slova, možete navesti jedno od slova u, g ili o: dozvole dodijeljene korisniku koji posjeduje datoteku (u), dozvole dodijeljene drugim korisnicima koji su članovi grupe datoteke (g ), i dozvole dodijeljene korisnicima, koje ne spadaju ni u jednu od dvije prethodne kategorije (o).

Numerički način rada - jedna do četiri oktalne cifre (0-7) dobijene zbrajanjem bitova sa vrijednostima 4, 2 i 1. Pretpostavlja se da su cifre koje nedostaju vodeće nule. Prva cifra odabire navedeni korisnički ID (4) i navedeni ID grupe (2) i ograničene atribute brisanja ili pin (1). Druga cifra bira prava pristupa za korisnika koji posjeduje operacije čitanja (4), pisanja (2) i izvršavanja (1); treći bira prava pristupa za druge korisnike u grupi datoteka sa istim vrijednostima; i četvrti za druge korisnike koji nisu u grupi datoteka, sa istim vrijednostima.

chmod nikada ne mijenja dozvole simboličkih veza; chmod sistemski poziv ne može promijeniti njihove dozvole. Ali to nije problem jer se dozvole za simboličke veze nikada ne koriste. Međutim, za svaku simboličku vezu navedenu u komandnoj liniji, chmod mijenja dozvole u navedenu datoteku. Nasuprot tome, chmod zanemaruje simboličke veze na koje se naiđe tokom rekurzivnog obilaska direktorija.

Setuid i Setgid bitovi

chmod briše set-group-ID bit obične datoteke ako ID grupe datoteke ne odgovara efektivnom ID-u grupe korisnika ili jednom od korisničkih ID-ova sekundarne grupe, osim ako korisnik ima odgovarajuće privilegije. Dodatna ograničenja mogu uzrokovati zanemarivanje bitova set-user-ID i set-group-ID u MODE ili RFILE. Ovo ponašanje zavisi od politike i funkcionalnosti osnovnog chmod sistemskog poziva. Ako ste u nedoumici, provjerite ponašanje sistema.

chmod čuva set-user-ID i set-group-ID bitove direktorija osim ako ne navedete drugačije. Možete postaviti ili obrisati bitove koristeći simboličke modove kao što su u+s i g-s, a možete postaviti (ali ne i obrisati) bitove koristeći numerički način.

Oznaka za ograničeno uklanjanje (ili "Sticky Bit")

Zastavica ograničenog brisanja ili sticky bit je jedan bit čija interpretacija ovisi o tipu datoteke. Ovo sprječava korisnike koji ne posjeduju datoteku ili direktorij da izbrišu ili preimenuju datoteku u direktoriju; ovo se zove oznaka za ograničeno brisanje direktorija i obično se nalazi u svjetskim imenicima kao što je /tmp. Za obične datoteke na nekim starijim sistemima, ovaj bit se čuva tekstualna slika programe na swap uređaju, tako da se brže učitava pri pokretanju; ovo se zove lepljivi bit.

Kako pogledati dozvole za fajlove

Brz i jednostavan način za izlistanje dozvola za fajl je korištenje opcije longlist (-l) naredbe ls. Na primjer, da vidite dozvole za file.txt, možete koristiti naredbu:

Ls -l datoteka.txt

Što će prikazati izlaz koji izgleda ovako:

Primjeri korištenja chmod-a

chmod 644 file.htm

Postavlja dozvole za datoteku file.htm na „vlasnik može čitati i pisati; grupa može samo čitati; drugi mogu samo čitati.”

Chmod -R 755 moji fajlovi

Rekurzivno (-R) mijenja dozvole za myfiles direktorij i sve njegove mape i datoteke u način 755. Korisnik može čitati, pisati i izvršavati; članovi grupe i drugi korisnici mogu čitati i izvršavati, ali ne mogu pisati.

Chmod u=rw example.jpg

Mijenja dozvole za vlasnika example.jpg tako da vlasnik može čitati i pisati datoteku. Ne mijenja dozvole za grupu ili druge.

Chmod u+s comphope.txt

Postavlja bit "Set-User-ID" datoteke comphope.txt tako da će svako ko pokuša pristupiti ovoj datoteci to učiniti kao da je vlasnik datoteke.

Chmod u-s comphope.txt

Suprotno od gornje naredbe; briše SUID bit

Chmod 755 file.cgi

Postavlja dozvole za file.cgi na "čitanje, pisanje i izvršavanje od strane vlasnika" i "čitanje i izvršavanje od strane grupe i svih ostalih."

Chmod 666 file.txt

Postavlja dozvolu file.txt na "čitanje/pisanje od strane svih".

Chmod a=rw file.txt

Izvodi istu stvar kao gornja naredba koristeći simboličku notaciju.

Povezane komande

chown- Promijenite vlasnika datoteka ili direktorija.
getfacl- Prikaži liste kontrole pristupa datotekama.
ls- popis sadržaja imenika ili direktorija.