Linuxové příkazy: CHMOD. příkaz chmod - změna oprávnění Syntaxe Chmod

Změňte oprávnění souboru

Syntax:

chmod[-fv] [-R [-H | -L | -P]] soubor režimu ... chmod[-fv] [-R [-H | -L | -P]] [-a | +a | =a] soubor ACE ... chmod[-fhv] [-R [-H | -L | -P]] [ ACL_Option] soubor ...

Možnosti:

-R Rekurze. Používá se pro složky. Změní práva nejen pro zadaný objekt, ale pro všechny vnořené objekty
-R -H Sledujte symbolické odkazy příkazový řádek. Ve výchozím nastavení se symbolické odkazy nezpracovávají
-R -L Všechny symbolické odkazy budou zpracovány
-R -P Strom odkazů nebude zpracován. Výchozí nastavení.
-proti Mnohomluvné. Zobrazí všechny soubory, které byly změněny
-v -v velmi podrobný režim. Stará a nová oprávnění se zobrazí v osmičkovém (numerickém) a abecedním zobrazení
-F nezobrazovat diagnostické zprávy, pokud není možné změnit oprávnění souboru
ACL_Option(ACL – seznamy řízení přístupu pro skupiny uživatelů) ACL_manipulation_options

Přístupová práva:

Přístupová práva mohou být zadána v abecedním kódu nebo numericky na základě osmičkové číselné soustavy

Správa pomocí digitální autorizace:

Pro řízení práv se používají tři bity

  • první je právo číst
  • druhým je právo psát
  • třetí - právo na exekuci
kousek po kousku Číslo Písmenný kód popis práva
000 0 žádná práva
001 1 pouze exekuční právo
010 2 pouze psát
011 3 práva k nahrávání a výkonu
100 4 pouze ke čtení
101 5 právo číst a provádět
110 6 právo číst a zapisovat bez provedení
111 7 všechna práva

Taková práva k souboru jsou stanovena pro tři typy přístupu:

  • pro majitele
  • pro skupinu
  • pro ostatní

V důsledku toho příkaz vypadá takto:

$ chmod 444 soubor – oprávnění pouze pro čtení pro všechny

$chmod 755 soubor - vlastník má všechna práva (7), ostatní uživatelé pouze čtou a spouštějí (5)

$chmod 066 soubor - vlastník nemá práva k souboru (0), všichni ostatní mají práva na čtení a zápis bez provedení

Správa pomocí abecedních přístupových práv:

Formát pro specifikaci práv pomocí symbolického kódu

[kdo...][[+-=][práva...]...][,...]

SZO je kombinací znaků "ugoa" ukazující na uživatelů jehož přístupová práva k souboru nebo složce budou změněna

  • u uživatel je vlastníkem
  • g uživatelská skupina
  • o ostatní uživatelé
  • a (vše) pro každého, podobně jako ugo

Hodně zdraví, milí čtenáři blogu! Všichni bychom chtěli, aby každý nebo složka umístěná na hostingovém serveru a patřící k webu byla co nejvíce chráněna před neoprávněným přístupem.

Tato ochrana je zajištěna díky tomu, že 90 % hostitelů používá operační systémy typu Unix, ve kterých je možné regulovat přístupová práva ke všem souborům a adresářům. Výjimkou není ani server mého poskytovatele hostingu, na kterém je umístěno několik mých projektů.

Mimochodem, nezapomeňte se zajímat pomocí uvedeného odkazu. Ale pokračujme. Pravidla stanovená v Unixu se liší od pravidel práce na operačním sále, na která jsou mnozí zvyklí. systém Windows, kde ochrana v tomto ohledu není tak silná, což někdy vede ke katastrofálním následkům v podobě virové infekce systému.

CHMOD pro uživatele a přístupová práva k souborům a složkám (adresářům)

V systémech řízených Unixem je situace jiná a je zde možnost vážně zkomplikovat život padouchům, kteří se budou snažit dlouhodobě využívat výsledky vaší namáhavé práce. Konkrétně správně nakonfigurovat přístupová práva CHMOD. Naším úkolem je poskytnout minimální možná práva pro přístup k souborům a složkám, která však nebudou narušovat správný chod webu.

Souhlas, je hřích nevyužít příležitosti k vážnému posílení. Samozřejmě v tomto případě úprava některých souborů zabere trochu více času, ale zde si musíte vybrat: buď optimalizace zabezpečení systému, nebo... Níže se pokusím systematizovat informace o CHMOD (přístupová práva), protože tam je několik nuancí, které webmaster zná. Takže, začněme.

Přístupová práva se pro různé skupiny uživatelů liší. Při pokusu o připojení server určí, do které skupiny má přiřadit konkrétního uživatele. Všichni uživatelé jsou rozděleni do tří kategorií:

  1. "uživatel" - vlastník souboru
  2. "skupina" - jeden z členů skupiny, do které patří vlastník
  3. „svět“ - „zbytek světa“, tedy všichni ostatní uživatelé

Pokud se připojíte k serveru pomocí a přihlásíte se pomocí svého uživatelského jména a hesla, budete identifikováni jako "uživatel"(u) pokud se někdo jiný připojí přes FTP, bude detekován jako "skupina"(g), pokud uživatel používá prohlížeč, pak spadá do kategorie "svět"(Ó).

Nyní o přístupových právech CMOD k souborům a adresářům. Ve své podstatě se mírně liší, i když označení jsou stejná. Oprávnění k souboru:

  • r (čtení) - právo číst data souboru
  • w (wright) - právo na změnu obsahu (můžete pouze upravovat obsah - zapisovat, ale nelze mazat)
  • x (eXutive) - právo spustit soubor

Přístupová práva ke složkám (adresářům):

  • r - právo číst složku (můžete získat obsah adresáře, to znamená seznam souborů v něm obsažených)
  • w - právo měnit obsah (oprávnění vytvářet a mazat objekty v adresáři; pokud máte právo zapisovat soubory, můžete dokonce mazat objekty, které vám nepatří)
  • x - přístupové právo do konkrétního adresáře (zvláštností zde je, že i když máte všechna potřebná práva k souboru, který se nachází „hluboko“ v adresářích, ale nemáte přístupová práva alespoň do jednoho podadresáře na cestě k tento objekt, pak k němu nebudete mít přístup)

Pomlčka „-“ označuje nepřítomnost jakýchkoli práv. Všechna tato práva přiděluje administrátor, který tuto možnost získá zadáním hesla. Pokud dokážeme nastavit maximální možná omezení přístupových práv CHMOD k určitým zdrojovým souborům, můžeme prakticky eliminovat nebezpečí, že by virové programy prováděly své „špinavé činy“.

Pro názornost si uveďme příklad, kdy vlastník souboru u má všechna možná práva: číst, zapisovat a spouštět. Uživatelé zařazení do kategorie g (skupina) mají pouze práva pro čtení a zápis, všichni ostatní (w) mají práva pouze pro čtení. Poté bude záznam CHMOD vypadat takto: „rwx rw- r- -“.

Přístupová práva k souborům a složkám v digitální podobě: CHMOD (777, 755, 444)

Častěji však webmasteři ve svých praktických činnostech musí přidělovat určitá přístupová práva v digitální podobě:

  • r (číst) - 4
  • w (záznam) - 2
  • x (výkon) - 1
  • - (žádná práva) - 0

Nyní se znovu podíváme na výše uvedený příklad, abychom přidělili přístupová práva "rwx rw- r- -". Pro zobrazení práv každého uživatele slouží sčítání jeho práv (r čtení + w zápis + x provedení). Část záznamu pro vlastníka souboru u (uživatel) - „rwx“ se tak změní na 7 (4+2+1). Pro člena skupiny g (skupina) - „rw-“ v 6 (4+2+0) a pro ostatní uživatele o (svět) - „r- -“ v 4 (4+0+0). Pro shrnutí je zde souhrnná tabulka s hodnotami přístupových práv CHMOD, vyjádřenými písmeny i číslicemi:


Nyní uvedu další tabulku, která odráží celková práva CHMOD pro všechny skupiny uživatelů v číselném formátu:


To jsou hlavní kombinace, které se v práci webmastera nejčastěji používají. Zbytek je tvořen analogií. Pokud jste správcem webu nebo blogu, ale pracujete s projektem bez připojení přes protokol FTP, patříte také do skupiny „Ostatní uživatelé“. V tomto případě při práci s webem v tomto režimu musíte vzít v úvahu poslední číslici v hodnotě CHMOD.

Obvykle na serveru, kde jsou umístěny vaše soubory WordPress blog, složky mají přístupová práva 755 a soubory, které jsou jejich součástí, jsou nastaveny na 644. To platí, když je zdroj vytvořen pomocí souborů HTML, avšak v moderních podmínkách se k vytvoření webové stránky, mezi které patří i WordPress. A zde mohou být objekty, do kterých je třeba zapsat uživatelskou skupinu „svět“. Mohou existovat složky, do kterých je stažen obsah, včetně obrázků.

Proto je třeba rozlišovat přidělování práv CHMOD určitým souborům. Pokud se do správy webu přihlásíte přes FTP, můžete provádět libovolné akce, nicméně v mnoha případech pracujeme s naším projektem přes a v tomto případě mohou nastat problémy, pokud jsou práva příliš vysoká, a naopak pokud jsou přístupová práva k jednomu nebo jiný soubor (složka) jsou podceněny, pak se zvyšuje bezpečnostní hrozba. Proto na základě výše uvedeného můžeme určit některá doporučení pro praktická aplikace CHMOD pro blog WordPress:

777 - pro složky, do kterých se neustále zapisují a mažou soubory (pro složku mezipaměti)
755 - ve vztahu ke složkám, do kterých jsou soubory neustále zapisovány, ale nejsou mazány
666 – pro soubory, do kterých potřebujete čas od času přidat záznam (například soubor .htaccess)
644 – pro soubory, které jsou pouze pro čtení (.php, .html atd.)

Jak nakonfigurovat oprávnění CHMOD pomocí správce FTP FileZilla

Pokud potřebujete při práci se zdrojem provést nějaké změny, ale protože je úprava zakázána, nelze to provést, musíte se připojit k hostitelskému serveru přes FTP a změnit přístupová práva na 777. Po provedení změn v souboru , je doporučeno znovu nastavit předchozí CHMOD .

Nyní se podívejme více o tom, jak provést tuto operaci pomocí . Chcete-li to provést, otevřete program a připojte se přes FTP k hostitelskému serveru. Na levé straně « Vzdálený server» Nejprve označíme soubory, jejichž atributy budou upravovány:

A z kontextové nabídky vyvolané stisknutím pravého tlačítka myši vyberte "Oprávnění k souboru". Poté se objeví dialogové okno "Změnit atributy souboru":

Zde přiřadíme potřebné hodnoty CHMOD pro vybrané (nebo vybrané) soubory. To však platí pouze v případě, že jste vybrali soubor nebo skupinu souborů. Pokud chcete nastavit nebo změnit hodnoty CHMOD pro adresář (složku), když vyberete „Změnit atributy souboru“, objeví se analogové okno, poněkud odlišné od toho, které je umístěno výše, konkrétně:

Vidíte, objevili se tady další nastavení. Pokud zaškrtnete políčko vedle řádku "Přesměrování do podadresářů", to znamená, že zadaná přístupová práva budou aplikována na adresáře (složky) nebo soubory vnořené v tomto adresáři. Když je zaškrtnuto políčko níže, aktivuje se skupina umístěných nastavení a budete také muset vybrat, jak se má nastavení použít: na všechny soubory a adresáře, pouze na připojené soubory nebo pouze na adresáře.

Dnes bych chtěl mluvit o přístupových právech k souborům a složkám (číst). Tento koncept přišel do světa webmasteringu z Linuxu (Unix) podobné systémy, na kterém funguje většina hostingových stránek.

A samotný název Chmod je název programu v Linuxu, který umožňuje přidělovat přístupová práva různým objektům. A protože je váš web nainstalován na serveru se systémem Linux (Unix) té či oné varianty, bude práce s objekty vašeho webu podléhat pravidlům zavedeným operačními systémy Linux (Unix).

Ve Windows jsou prakticky všechny soubory nastaveny na maximální oprávnění, což ve skutečnosti vede k dominanci na našich počítačích a také naopak brání majitelům antivirových společností umírat hlady. V systémech Linux (Unix) je situace jiná – vše je složitější, ale zároveň bezpečnější. Pokud vše správně a kompetentně nakonfigurujete, můžete výrazně zvýšit bezpečnost svého webu.

Základní pojmy přístupových práv k souborům a složkám

Pokud necháte vše náhodě a nebudete se obtěžovat nastavením potřebných oprávnění, pak bude pravděpodobnost, že bude váš zdroj hacknut nebo infikován škodlivým kódem, velmi vysoká. Je dobré, když jste provedli všechna svá data, ale co když ne?!

Proto je lepší okamžitě, bez zdržování dlouhá krabice, nakonfigurujte a změňte Chmod pro všechny důležité objekty vašeho enginu, založené na principu minimalismu. Tito. dát objektům minimální práva nezbytná pro správné fungování webové stránky.

Pojďme nejprve pochopit podstatu problému, abychom pochopili, co přesně a jak nastavujeme. Pojďme tedy začít. Přístupová práva jsou oddělena pro soubory a adresáře. Jsou označeny stejně, ale znamenají trochu jiné věci.

Ve vztahu k souborům je zase možné:

  • r - právo číst data.
  • w - změnit obsah (zaznamenat - pouze změnit obsah, ale ne smazat).
  • x - pro spuštění souboru.

Podívejme se blíže na možnosti spouštění souborů. Faktem je, že v Linuxu lze spustit jakýkoli soubor. O tom, zda je výkonná, nerozhoduje její rozšíření (pojem rozšíření chybí souborový systém Unix) a přístupovými právy Chmod. Pokud má soubor nastaveno prováděcí právo „X“, znamená to, že jej lze spustit.

Ve vztahu k adresářům je možné:

  1. r - právo číst adresář (můžete číst obsah adresáře, tj. získat seznam objektů v něm umístěných)
  2. w - změnit obsah adresáře (můžete v něm vytvářet a mazat objekty, a pokud máte oprávnění k zápisu, můžete dokonce mazat soubory, které vám nepatří)
  3. x - pro vstup do adresáře (ten se vždy kontroluje jako první, a to i v případě, že máte všechna potřebná oprávnění k objektu, který je pohřben hluboko v řetězci adresářů, ale nemáte atribut „X“ pro přístup k alespoň jednomu adresáři na cestu k jeho souboru, pak se k němu nikdy nedostanete)

V linuxových systémech to vše distribuuje hlavní správce počítače, ke kterému získá přístup zadáním hesla. A pokud má většina objektů práva pouze pro čtení, pak viry nebudou mít na takovém počítači prakticky co dělat, protože nebudou se tam moci ani napsat, ani se pak naplnit. To je přesně výsledek, kterého potřebujeme dosáhnout nastavením potřebného Chmodu na objektech našeho webu.

Oprávnění pro skupiny uživatelů

Samotná oprávnění jsou rozdělena do tří kategorií podle toho, kdo k objektu přistupuje:

  • „uživatel“ - u (přímý vlastník souboru)
  • "skupina" - g (člen stejné skupiny jako vlastník)
  • "svět" - o (všechny ostatní)

Server určuje, do které skupiny uživatelů vás má přiřadit, když se k serveru připojujete. Když se například připojíte k serveru přes FTP, přihlásíte se svým uživatelským jménem (a heslem) a server vás pak přiřadí do skupiny „user“ („u)“.

Ostatní uživatelé, kteří se také připojují přes FTP k serveru, budou zařazeni do skupiny „skupina“ („g“) a návštěvník, který přijde na váš web pomocí svého prohlížeče, bude zařazen do skupiny „svět“ („o“). .

Variace tří možných hodnot „r“, „w“ a „x“ pro tři kategorie „u“, „g“ a „o“ a definovat Chmod do souborů. Není-li kategorie uvedena, nahradí se pomlčkou „-“. Oprávnění jsou specifikována postupně v daném pořadí:

  1. nejprve práva pro vlastníka - "u"
  2. pak pro skupinu - "g"
  3. a na konci – pro všechny ostatní – „o“

Poté, co server přiřadí návštěvníka do určité skupiny, udělí mu práva jednat s objekty, po kterých bude moci návštěvník soubor číst, zapisovat nebo spouštět (v závislosti na tom, co jeho skupina smí s tímto objektem dělat) .

Chcete-li zobrazit obsah adresáře, musí mít atribut read „r“ (pro skupinu, do které server návštěvníka přiřadil). Chcete-li vytvořit soubor nebo složku v existujícím, potřebujete to existující adresář měl atribut pro položku „w“.

Pro názornost se podívejme na příklad, kdy vlastník souboru („uživatel“ - „u“) má všechna práva: číst, zapisovat do něj a spouštět a všichni ostatní uživatelé mají pouze oprávnění ke čtení. Záznam pro takový Chmod bude vypadat takto: „rwx r-- r--“.

Podívejme se na to podrobně: "rwx" (tento záznam určuje práva k objektu pro vlastníka - "u"), "r--" (tento záznam určuje práva ke stejnému objektu, ale pokud je návštěvníkovi přiřazena do skupiny serverem - " g"), "r--" (tato položka nastavuje oprávnění k objektu pro všechny ostatní uživatele - "o").

Jaký je rozdíl mezi oprávněními pro soubory a složky?

Ukazuje se, že existují tři skupiny uživatelů a tři možné akce s předměty. Ještě zmatený? Položme vše výše uvedené na police ve formě tablet. Nejprve se podívejme, jak se liší:

A také znak ukazující různé kombinace Chmod pro odlišné typy objekty:

Nedá se nic dělat

Přístup k adresáři a jeho podadresářům je odepřen

Může vidět a měnit obsah

Můžete přidat, odstranit, změnit soubor adresáře

Spustit, pokud je soubor binární

Uživatel může udělat binární soubor o jejichž existenci ví, vstup do katalogu nebo jeho čtení je zakázáno

Chmod vyjádřený v číslech (777, 400, 666, 755, 444)

Vidíte, že zde k popisu přístupových práv používáme zápisy pomocí latinských písmen a pomlček, ale pravděpodobně jste se již setkali s tím, že Chmod je obvykle specifikován digitálně, například známá kombinace: 777, která umožňuje vše všem.

Výsady jsou také označeny čísly:

  1. r (čtené) se nahrazuje 4
  2. w (záznam) se nahrazuje 2
  3. x (exekuce) se nahrazuje 1
  4. 0 znamená nedělat nic (což je v abecedním zápisu označeno pomlčkou)

Vraťme se k příkladu nahrávání, který jsem uvedl o něco dříve: rwx r-- r-- . Nahradíme-li v něm písmena a pomlčky čísly podle právě popsaného pravidla a zároveň sečteme čísla v každé trojici, dostaneme digitální podobu tohoto zápisu: 744.

Tito. Ukazuje se, že součet těchto čísel ukazuje Chmod ve vztahu k souborům nebo složce. Například:

  • 7 (rwx) = 4 + 2 +1 (plná práva)
  • 5 (r-x)= 4 + 0 + 1 (číst a provádět)
  • 6 (rw-) = 4 + 2 + 0 (čtení a zápis)
  • 4 (r--) = 4 + 0 + 0 (pouze pro čtení)
  • atd.

Tato tabulka ukazuje všechny možné kombinace práv zaznamenaných digitálně:

Nyní se podívejme na různé kombinace zápisů v číslech ve vztahu ke skupinám uživatelů:

"Majitel"

"Skupina"

"Odpočinek"

provést

provést

provést

Vy sami (kromě případu, kdy na stránky přistupujete přes FTP) a všichni ostatní návštěvníci vašeho zdroje patříte do skupiny „slovo“ (všichni ostatní), takže pro práci s webem se musíme nejprve podívat na poslední (třetí ) číslice tohoto záznamu.

K tomu, aby se soubor skriptu „spustil“, když uživatel pracuje se stránkou, bude stačit, aby k němu byla nastavena práva od „4“ (r-- – pouze pro čtení) (5,6,7 bude také fungovat, ale bude to z hlediska bezpečnosti nadbytečné).

Pro adresář, ve kterém se nachází soubor tohoto skriptu, musíte nastavit minimum na „5“ (r-x - můžete přejít do adresáře a číst jeho obsah, nemůžete mazat ani přidávat). 7 bude také fungovat, ale bude také z hlediska bezpečnosti nadbytečný.

Pokud potřebujete, aby skript nejen četl, ale také „zapisoval“ některá data (například zadaná návštěvníkem), pak minimální oprávnění pro „složku“ budou stále „5“, ale pro „soubor“ bude již potřebovat „6“ (čtení a zápis).

S největší pravděpodobností na serveru, kam jste zkopírovali obsah svého webového enginu, budou na objekty nainstalovány následující Chmods:

Pokud jste měli zdroj skládající se pouze z html stránky, pak bychom mohli vše nechat tak. Moderní stránky jsou však postaveny na motorech a mohou existovat objekty, do kterých je třeba zapsat jménem návštěvníků ze skupiny „svět“ - o (všechny ostatní). Mohou to být adresáře používané pro ukládání stránek do mezipaměti nebo adresáře, do kterých se budou načítat obrázky atd. při práci s webem.

Je samozřejmé, že pokud na stránky přistupujete přes FTP, můžete do těchto souborů či adresářů zapisovat, ale při práci s webovým rozhraním jako běžný uživatel můžete mít problémy. Proto je třeba ke stanovení určitých práv přistupovat selektivně:

pro všechny adresáře, do kterých by se měly zapisovat soubory, ale není třeba je pravidelně mazat

pro složky, do kterých by se měly zapisovat a mazat soubory (například pro mezipaměť)

Pro jednoduché soubory, pouze pro čtení (.html, .php atd.)

pro soubory, do kterých může být potřeba zapisovat (například s databázemi .dat)

Jak přiřadit Chmod pomocí PHP

Jak lze toto vše implementovat v praxi pro váš web? V zásadě je vše jednoduché. Chcete-li přidělit přístupová práva, můžete:

Ale pokud nemůžete změnit Chmod na žádné soubory, můžete je zkusit přiřadit pomocí nástrojů PHP. Můžete použít následující kód:

Budete muset nahradit file_name_x.php a directory_name_x skutečnými názvy souborů a složek, pro které chcete změnit mod. Podle toho bude pro soubory nastaveno na 666 a pro adresáře - 777. Umístěte tento PHP kód do souboru pomocí libovolného textového poznámkového bloku (doporučuji) a dejte mu příponu .php, například jako prava.php.

zkopírujte prava.php přes FTP do adresáře, kde to nefunguje běžné prostředky přidělit přístupová práva. V adresní řádek prohlížeče, napište cestu k prava..php) a stiskněte „Start“ nebo zadejte na klávesnici. To je vše, nyní budou oprávnění zcela změněna pomocí PHP.

Pro Joomlu můžete ihned po instalaci nastavit 777 do následujících adresářů:

Správce/zálohy/ správce/mezipaměť/administrátor/komponenty/administrátor/moduly/administrátor/šablony/ mezipaměť/komponenty/obrázky/obrázky/bannery/obrázky/příběhy/jazyk/jazyk/cs-CZ/jazyk/ru-RU/ média/ modules/ plugins/ plugins/content/ plugins/search/ plugins/system/ templates/

Poté, co nainstalujete všechna rozšíření pro Joomlu a provedete finální nastavení, následuje Chmod do většiny výše uvedených adresářů, aby se zvýšila bezpečnost webu vrátit se na 755. Pro adresáře s mezipamětí, zálohou a obrázky budete muset ponechat 777.

Pro soubory engine umístěné v kořenovém adresáři webu, kromě sitemap.xml, je lepší nastavit 444 (pouze pro čtení pro všechny skupiny návštěvníků). Na setting.php se někdy doporučuje nastavit dokonce na 400.

Úplně stejně mohu poradit ohledně nastavení přístupových práv k objektům v enginech SMF a WordPress. Je vhodné, pokud je to možné, nechat ji natrvalo. pro adresáře 755(kromě výše uvedené mezipaměti, obrázků, záložních adresářů a možná i některých dalších, podle potřeby) a pro soubory - 644.

Je lepší nastavit 444 na soubory v kořenovém adresáři webu.

Pokud při práci se stránkou nastane problém s nemožností zapsat nastavení do nějakého souboru nebo nemožností vytvořit nějaký druh adresáře, můžete jim dočasně nastavit větší práva (například 777) a poté vše vrátit zpět (pro jistotu). A to za žádných okolností by nemělo zůstat(pro usnadnění práce se stránkou) bezdůvodně nafouknutý Chmod.

Hodně štěstí! Brzy se uvidíme na stránkách blogu

Mohlo by vás to zajímat

Kódování textu ASCII (Windows 1251, CP866, KOI8-R) a Unicode (UTF 8, 16, 32) - jak vyřešit problém s crackery
OpenServer - moderní lokální server a ukázka jeho použití pro instalaci WordPressu do počítače
Co jsou adresy URL, jak se liší absolutní a relativní odkazy na stránky?
Yandex vyhledávání podle webu a internetového obchodu
Sitemap Sitemap ve formátu xml pro Yandex a Google - jak vytvořit mapu webu v Joomla a WordPress nebo v online generátoru

(Počáteční hodnota oprávnění k souboru je rwxrwxrwx – plný přístup pro všechny) Odebrání oprávnění ke spuštění souboru pro všechny uživatele a skupiny:

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

Chcete-li zrušit zápis do souboru skupinou a ostatními uživateli:

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

Povolení ke spuštění souboru vlastníkem:

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

Udělení stejných oprávnění skupině jako vlastníkovi souboru:

$ chmod soubor g=u (rwxrwxr–)

Zrušení čtení a zápisu do souboru uživateli skupiny a ostatními uživateli:

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

Příklady použití příkazu chmod v absolutním režimu

Oprávnění ke čtení, zápisu a spouštění souboru všemi uživateli a skupinami (plná kontrola):

$ chmod 777 soubor (rwxrwxrwx)

Nastavte oprávnění pro čtení a zápis pro vlastníka, skupinu a další uživatele:

$ chmod 666 soubor (rw-rw-rw-)

Nastavení úplného přístupu k souboru pro vlastníka a pouze pro čtení pro skupinu a ostatní uživatele:

$ chmod 744 soubor (rwxr–r–)

Nastavení úplného přístupu k souboru pro vlastníka souboru a odepření přístupu skupině a dalším uživatelům:

$ chmod 700 soubor (rwx--)

Nastavení oprávnění pro čtení a zápis pro vlastníka souboru a pouze pro čtení pro skupinu a ostatní:

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

Nastavení oprávnění pro čtení a zápis pro vlastníka souboru a jeho skupinu a odepření přístupu ostatním:

$ soubor chmod 640 (rw-r-–)

Nastavení přístupu k souboru s oprávněním ke čtení pro všechny uživatele a skupiny:

$ soubor chmod 444 (r–r–r–)

Oprávnění souborů pro čtení, zápis, spouštění vlastníkem a čtení, spouštění podle skupiny a další:

$ soubor chmod 755 (rwxr-xr-x)

Povolit čtení a spouštění přístupu k souboru pro uživatele a ostatní a zakázat přístup ke skupině:

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

Pokud chcete přiřadit oprávnění všem souborům v aktuálním adresáři, jednoduše vložte * (hvězdičku) za oprávnění, která přiřadíte:

$chmod 755 *

V důsledku provedení tohoto příkazu bude mít vlastník plná práva (číst, upravovat, spouštět) ke všem souborům v aktuálním adresáři, zatímco skupina a ostatní uživatelé budou mít pouze práva ke čtení a spouštění. Pokud chcete, aby se vaše akce šířily rekurzivně (včetně všech podadresářů), použijte volbu -R:

$ chmod -R 777 *

Výsledkem provedení výše uvedeného příkazu bude rekurzivní „procházení“ všech podadresářů aktuálního adresáře a přidělení plného přístupu všem uživatelům a skupinám. Tento článek popisuje pouze několik příkladů použití příkazu chmod. Pokud se chcete dozvědět více o příkazu chmod a oprávněních v Linuxu, podívejte se na tento článek.

Změna oprávnění pouze pro adresáře (rekurzivně)

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

$ chmod 755 $(najít /cestu/k/základně/adresáři -typ d)

$ chmod 755 `najít /cestu/k/základně/adresáři -typ d`

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

Změna oprávnění pouze pro soubory (rekurzivně)

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

$ chmod 644 $(najít /cestu/k/základně/adresáři -typ f)

$ chmod 0755 `najít ./ -type f`

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

Syntaxe Chmod pro složky a soubory

Pojďme nejprve pochopit podstatu problému s Chmod, abychom pochopili, co přesně a jak jej konfigurujeme. Pojďme tedy začít. Přístupová práva jsou rozdělena na Chmod pro soubory a Chmod pro adresáře. Jsou označeny stejně, ale znamenají trochu jiné věci.

Přístupová práva (Chmod) k souborům se dělí na:

    r - právo číst data.

    w - právo na změnu obsahu (zápis - pouze změna obsahu, nikoli však smazání).

    x - právo spustit soubor.

Podívejme se blíže na exekuční práva souboru. Faktem je, že v linuxu (Unixu) lze spustit jakýkoli soubor. Zda je spustitelný, není určeno jeho příponou (pojem přípona není v souboru Unixový systém), a přístupovými právy Chmod. Pokud má soubor právo „X“ (chmod x), znamená to, že jej lze spustit.

Nyní o přístupových právech (Chmod) ke složce (adresáři):

    r - právo číst adresář (můžete číst obsah adresáře, tj. získat seznam objektů v něm umístěných)

    w - právo měnit obsah adresáře (v tomto adresáři můžete vytvářet a mazat objekty, a pokud máte oprávnění k zápisu, můžete dokonce mazat soubory, které vám nepatří)

    x - právo, které vám umožňuje vstoupit do adresáře (toto právo je vždy zaškrtnuto jako první, a i když máte všechna potřebná práva k objektu, který je pohřben hluboko v řetězci adresářů, nemáte právo „X“ přístup k alespoň jednomu adresáři na cestě k tomuto souboru, pak se k němu nikdy nedostanete)

V Linuxové systémy(Unix) všechna tato práva rozděluje hlavní správce počítače, ke kterému získá přístup zadáním hesla. A pokud má většina objektů přístupová práva pouze pro čtení (Chmod), pak viry nebudou mít na takovém počítači prakticky co dělat, protože nebudou se tam moci ani napsat, ani se pak naplnit. To je přesně výsledek, kterého potřebujeme dosáhnout nastavením přístupových práv (Chmod) k objektům na našem webu.

Syntaxe Chmod pro skupiny uživatelů

Samotná přístupová práva (Chmod) jsou rozdělena do tří kategorií podle toho, kdo k objektu přistupuje:

    „uživatel“ - u (přímý vlastník souboru)

    "skupina" - g (člen stejné skupiny jako vlastník)

    "svět" - o (všechny ostatní)

Server určuje, do které skupiny uživatelů vás má přiřadit, když se k serveru připojujete. Když se například připojíte k serveru přes FTP, přihlásíte se svým uživatelským jménem (a heslem) a server vás pak přiřadí do skupiny „user“ („u)“. Ostatní uživatelé, kteří se také připojují přes FTP k serveru, budou zařazeni do skupiny „skupina“ („g“) a uživatel, který na váš web přijde pomocí svého prohlížeče, bude zařazen do skupiny „svět“ („o“). .

Variace tří možných hodnot „r“, „w“ a „x“ pro tři kategorie „u“, „g“ a „o“ určují Chmod k souborům. Není-li kategorie uvedena, nahradí se pomlčkou „-“. přístupová práva (Chmod) se zadávají postupně v daném pořadí:

    nejprve práva pro vlastníka - "u"

    pak pro skupinu - "g"

    a na konci práva pro všechny ostatní - „o“

Poté, co server přiřadí uživatele do určité skupiny, udělí mu práva jednat s objekty, poté bude moci uživatel soubor číst, zapisovat nebo spouštět (v závislosti na tom, co jeho skupina smí s tímto objektem dělat). Chcete-li zobrazit obsah složky, musí mít atribut čtení „r“ (pro skupinu, do které server přiřadil uživatele). Chcete-li vytvořit soubor nebo složku v existujícím souboru, musí mít v položce "w" atribut Chmod.

Pro názornost se podívejme na příklad, kdy vlastník souboru („uživatel“ - „u“) má všechna práva: právo jej číst, zapisovat a spouštět a všichni ostatní uživatelé mají právo pouze číst. Záznam pro takový Chmod bude vypadat takto: „rwx r-- r--“. Podívejme se na to podrobně: „rwx“ (tento záznam určuje práva k objektu pro vlastníka - „u“), „r--“ (tento záznam určuje práva ke stejnému objektu, ale pokud je uživateli přiřazena serverem do skupiny - "g "), "r--" (tato položka specifikuje práva k objektu pro všechny ostatní uživatele - o").

Jaký je rozdíl mezi soubory a složkami Chmod

Nedá se nic dělat

Přístup k adresáři a jeho podadresářům je odepřen

Může vidět a měnit obsah

Můžete přidat, odstranit, změnit soubor složky

Spustit, pokud je soubor binární

Uživatel může spustit binární soubor, o kterém ví, že existuje, ale nemá povoleno vstupovat do adresáře ani jej číst

Syntaxe Chmod vyjádřená v číslech (777)

Vidíte, že zde se pro popis přístupových práv používají zápisy pomocí latinských písmen a pomlček, ale pravděpodobně jste se již setkali s tím, že Chmod se obvykle uvádí v digitální podobě, například známá kombinace: Chmod 777, která umožňuje vše všem. Přístupová práva (Chmod) jsou také označena čísly:

    w (záznam) se nahrazuje 2

    x (exekuce) se nahrazuje 1

0 znamená - nedělat nic (což je v abecedním zápisu označeno pomlčkou) Vraťme se k příkladu zápisu přístupových práv, který jsem uvedl o něco dříve: rwx r-- r--. Pokud v něm podle právě popsaného pravidla nahradíme písmena a pomlčky čísly a zároveň sečteme čísla v každé trojici, dostaneme digitální podobu tohoto zápisu: 744. Tzn. Ukazuje se, že součet těchto čísel ukazuje Chmod k souborům nebo složce. Například:

    7 (rwx) = 4 + 2 +1 (plná práva)

    5 (r-x)= 4 + 0 + 1 (číst a provádět)

    6 (rw-) = 4 + 2 + 0 (čtení a zápis)

    4 (r--) = 4 + 0 + 0 (pouze pro čtení)

Tato tabulka ukazuje všechny možné kombinace Chmod zapsané digitálně:

Nyní se podívejme na různé kombinace Chmod v číslech ve vztahu ke skupinám uživatelů:

""Majitel""

""Skupina""

""Odpočinek""

provést

provést

provést

Vy sami (kromě případu, kdy na stránky přistupujete přes FTP) a všichni ostatní návštěvníci vašeho webu patříte do skupiny „slovo“ (všichni ostatní), takže pro práci s webem se musíme nejprve podívat na poslední (třetí ) Číslo Chmod. Aby skript při práci uživatele se stránkou „spustil soubor“, bude stačit, aby na něm byla nastavena přístupová práva (Chmod) počínaje „4“ (r-- – pouze pro čtení) ( 5,6,7 jsou také vhodné, ale to bude z hlediska bezpečnosti zbytečné).

„Pro složku“, ve které se nachází soubor tohoto skriptu, musíte nastavit minimum na „5“ (r-x - můžete přejít do složky a číst její obsah, nemůžete mazat ani přidávat). 7 bude také fungovat, ale bude také z hlediska bezpečnosti nadbytečný. Pokud potřebujete, aby skript nejen četl, ale také „zapisoval“ některá data (například zadaná uživatelem), pak minimální práva pro „složku“ budou stále „5“, ale pro „soubor“ bude již potřebovat práva "6" "(čtení a zápis).

S největší pravděpodobností na serveru, kam jste zkopírovali obsah svého webového enginu, budou na objekty nainstalovány následující Chmods:

Složky 755

vlastník (uživatel) může vše, skupina a všichni ostatní mohou složky pouze číst a vstupovat do nich, ale mají zakázáno zapisovat soubory, měnit názvy a mazat je v adresářích. (rwxr-xr-x)

Soubory 644

Pokud byste měli web skládající se pouze z html, pak byste mohli nechat vše tak. Moderní weby jsou však postaveny na motorech a mohou existovat objekty, do kterých je třeba zapsat jménem uživatelů ze skupiny „svět“ - o (všechny ostatní). Mohou to být složky používané pro ukládání stránek do mezipaměti nebo složky, do kterých se budou při práci s webem načítat obrázky atd. Samozřejmostí je, že pokud na web přistupujete přes FTP, můžete v těchto souborech nebo složkách vytvořit záznam, ale při práci s rozhraním webu můžete mít jako běžný uživatel problémy. Proto je třeba k instalaci určitých Chmodů přistupovat selektivně.

Příkaz chmod se používá ke změně oprávnění souborů nebo adresářů.

Na Linuxu a dalších Unixových operační systémy Pro každý soubor existuje sada pravidel, která určují, kdo a jak může k tomuto souboru přistupovat. Tato pravidla se nazývají oprávnění k souborům nebo režimy souborů. Název příkazu chmod znamená "změnit režim" a používá se k určení způsobu přístupu k souboru.

V obecný pohled Příkazy chmod vypadají takto:

chmod název souboru možností oprávnění

Li možnosti nejsou zadány, chmod změní oprávnění souboru uvedeného v název souboru, pro oprávnění uvedená v oprávnění.

Oprávnění definovat přístupová práva pro vlastníka souboru ("uživatel"), členy skupiny, která soubor vlastní ("skupina"), a všechny ostatní ("ostatní"). Tato oprávnění lze vyjádřit dvěma způsoby: pomocí symbolů (alfanumerické znaky) nebo osmičkových čísel (čísla 0 až 7).

Řekněme, že jste vlastníkem souboru s názvem myfile a chcete nastavit jeho oprávnění tak, aby:

  1. uživatel ( u ser) uměl číst ( rčíst), psát ( w obřad) a vykonám ( X ecute) něm;
  2. členové skupiny ( G skupina) umí číst ( r ead) a vykonat ( X ecute) něm;
  3. stejně jako ostatní ( Ó thers) umí pouze číst ( r ead) ho.

Tento příkaz bude vypadat takto:

chmod u=rwx,g=rx,o=r můj soubor

Tento příklad používá symbolický zápis oprávnění. Písmena u, g a o znamenají „uživatel“, „skupina“ a „ostatní“. Rovnítko („=“) znamená „nastavit oprávnění tímto způsobem“ a písmena „r“, „w“ a „x“ znamenají „číst“, „zapisovat“ a „spouštět“. Čárky oddělují různé třídy oprávnění a mezi nimi nejsou žádné mezery.

Zde je ekvivalentní příkaz používající osmičkovou notaci oprávnění:

chmod 754 myfile

Čísla 7, 5 a 4 zde jednotlivě představují oprávnění pro uživatele, skupinu a další v daném pořadí. Každá číslice je kombinací čísel 4, 2, 1 a 0:

  • 4 znamená "číst"
  • 2 znamená "psat"
  • 1 znamená "provést"
  • 0 znamená "žádné povolení".

Takže 7 je kombinace oprávnění 4 + 2 + 1 (čtení, zápis a spouštění), 5 je 4 + 0 + 1 (čtení, žádný zápis a provádění) a 4 je 4 + 0 + 0 (čtení, ne zapisovat a nespouštět).

syntaxe chmod

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

možnosti chmod

-C, --Změny Podobné jako --verbose, ale vytváří podrobný výstup pouze tehdy, když je změna skutečně provedena.

-F, --tichý, --klid Tichý mód; potlačit většinu chybových zpráv.

-proti, -- podrobné Podrobný režim; zobrazit diagnostickou zprávu pro každý zpracovaný soubor.

--no-preserve-root Nezacházejte s "/" (kořenový adresář) žádným zvláštním způsobem, což je výchozí nastavení.

--preserve-root Nepracujte rekurzivně na "/".

--reference=RFILE Nastavte oprávnění tak, aby odpovídala oprávněním souboru RFILE, ignorujte jakýkoli zadaný MODE.

-R, --rekurzivní Změňte soubory a adresáře rekurzivně.

--Pomoc Zobrazit zprávu nápovědy a odejít.

--verze Vytiskněte informace o verzi a ukončete.

Technický popis

chmod mění režim souboru každého specifikovaného SOUBORu podle MODE, což může být buď symbolická reprezentace prováděné změny, nebo osmičkové číslo představující bitový vzor pro bity nového režimu.

Formát symbolického režimu:

[[+-=]...]

kde perms je nula nebo více písmen z množiny r, w, x, X, sat nebo jedno písmeno z množiny u, g a o. Můžete zadat více režimů znaků oddělených čárkami.

Kombinace písmen u, g, o a ovládacích prvků, které změní přístup uživatele k souboru: uživatel, který jej vlastní (u), ostatní uživatelé ve skupině souboru (g), ostatní uživatelé, kteří nejsou ve skupině souboru (o) nebo všichni uživatelé (a). Pokud není zadáno nic z toho, efekt je, jako by bylo dáno a, ale bity nastavené v umask nebyly ovlivněny.

Operátor (+) způsobí, že vybrané bity režimu souboru budou přidány k existujícím bitům režimu souboru každého souboru; "-" způsobí jejich vymazání; a "=" způsobí jejich přidání a způsobí odstranění nezmíněných bitů, kromě toho, že neměnné bity adresáře nastavené uživatelem a ID skupin nejsou ovlivněny.

Písmena r, w, x, X, sat vybírají bity režimu souboru pro dotčené uživatele: číst (r), zapisovat (w), spouštět (x), spouštět pouze v případě, že soubor je adresář nebo již má oprávnění k spuštění pro některého uživatele (X) nastavte ID uživatele nebo skupiny na spuštění (s), příznak omezeného odstranění nebo pevný bit (t). U adresářů určují parametry běhového prostředí X a X oprávnění k zobrazení obsahu adresáře.

Místo jednoho nebo více těchto písmen můžete zadat jedno z písmen u, g nebo o: oprávnění udělená uživateli, který vlastní soubor (u), oprávnění udělená ostatním uživatelům, kteří jsou členy skupiny souboru (g ) a oprávnění udělená uživatelům , kteří nespadají do žádné ze dvou předchozích kategorií (o).

Numerický režim - jedna až čtyři osmičkové číslice (0-7) získané sečtením bitů s hodnotami 4, 2 a 1. Předpokládá se, že chybějící číslice jsou úvodní nuly. První číslice vybírá zadané ID uživatele (4) a zadané ID skupiny (2) a atributy omezeného odstranění nebo připnutí (1). Druhá číslice vybírá přístupová práva pro uživatele, který vlastní operace čtení (4), zápisu (2) a provádění (1); třetí vybírá přístupová práva pro ostatní uživatele ve skupině souborů se stejnými hodnotami; a čtvrtý pro ostatní uživatele, kteří nejsou ve skupině souborů, se stejnými hodnotami.

chmod nikdy nemění oprávnění symbolických odkazů; Systémové volání chmod nemůže změnit jejich oprávnění. Ale to není problém, protože oprávnění symbolického odkazu se nikdy nepoužívají. Pro každý symbolický odkaz zadaný na příkazovém řádku však chmod změní oprávnění na zadaný soubor. Naproti tomu chmod ignoruje symbolické odkazy, na které narazí během rekurzivního procházení adresářů.

Bity Setuid a Setgid

chmod vymaže bit set-group-ID běžného souboru, pokud ID skupiny souboru neodpovídá skutečnému ID skupiny uživatele nebo jednomu z ID sekundární skupiny uživatele, pokud uživatel nemá příslušná oprávnění. Další omezení mohou způsobit, že bity set-user-ID a set-group-ID v MODE nebo RFILE budou ignorovány. Toto chování závisí na zásadách a funkčnosti základního systémového volání chmod. V případě pochybností zkontrolujte chování systému.

chmod zachovává bity set-user-ID a set-group-ID adresáře, pokud neurčíte jinak. Bity můžete nastavit nebo vymazat pomocí symbolických režimů, jako jsou u+s a g-s, a bity můžete nastavit (ale ne vymazat) pomocí numerického režimu.

Omezený příznak odstranění (nebo "Sticky Bit")

Příznak omezeného odstranění nebo sticky bit je jeden bit, jehož interpretace závisí na typu souboru. To zabrání uživatelům, kteří nevlastní soubor nebo adresář, ve smazání nebo přejmenování souboru v adresáři; toto se nazývá příznak omezeného odstranění adresáře a obvykle se nachází v adresářích, do kterých lze zapisovat, jako je /tmp. U běžných souborů na některých starších systémech se tento bit zachovává textový obrázek programy na odkládacím zařízení, takže se při spuštění rychleji načítá; tomu se říká lepivý kousek.

Jak zobrazit oprávnění k souboru

Rychlý a snadný způsob, jak zobrazit seznam oprávnění k souboru, je použití volby longlist (-l) příkazu ls. Chcete-li například zobrazit oprávnění pro soubor.txt, můžete použít příkaz:

Ls -l soubor.txt

Který zobrazí výstup, který vypadá takto:

Příklady použití chmod

chmod 644 soubor.htm

Nastaví oprávnění pro soubor file.htm na „vlastník může číst a zapisovat; skupina může pouze číst; ostatní umí jen číst."

Chmod -R 755 myfiles

Rekurzivně (-R) změní oprávnění pro adresář myfiles a všechny jeho složky a soubory do režimu 755. Uživatel může číst, zapisovat a spouštět; členové skupiny a ostatní uživatelé mohou číst a spouštět, ale nemohou zapisovat.

Chmod u=rw example.jpg

Změní oprávnění vlastníka souboru example.jpg tak, aby vlastník mohl soubor číst a zapisovat. Nezmění oprávnění pro skupinu ani ostatní.

Chmod u+s comphope.txt

Nastaví bit "Set-User-ID" souboru comphope.txt tak, aby každý, kdo se pokusí získat přístup k tomuto souboru, tak učinil, jako by byl vlastníkem souboru.

Chmod u-s comphope.txt

Opak výše uvedeného příkazu; vymaže bit SUID

Chmod 755 soubor.cgi

Nastaví oprávnění pro file.cgi na "číst, zapisovat a spouštět vlastníkem" a "číst a spouštět podle skupiny a všech ostatních."

Chmod 666 soubor.txt

Nastaví oprávnění souboru.txt na „čtení/zápis všemi“.

Chmod a=rw soubor.txt

Provádí stejnou věc jako výše uvedený příkaz pomocí symbolického zápisu.

Související příkazy

chown- Změňte vlastníka souborů nebo adresářů.
getfacl- Zobrazit seznamy řízení přístupu k souborům.
ls- seznam obsahu adresáře nebo adresářů.