Ubuntu chmod parancsok. Chmod: az engedélyek módosítása

Dokumentációnkban a umask parancs. Átfogó leírást tartalmaz a fájlengedélyek meghatározásáról és megadásáról.

Általánosságban, chmod a parancsok a következő formában vannak:

Chmod lehetőségek engedélyeket fájl név

Ha nem lehetőségek meghatározottak, chmodáltal megadott fájl jogosultságait módosítja fájl néváltal meghatározott engedélyekre engedélyeket.

engedélyeket meghatározza a fájl tulajdonosának (a "felhasználónak"), a fájlt birtokló csoport tagjainak (a "csoport") és bárki másnak ("egyéb") az engedélyeket. Kétféleképpen lehet ezeket az engedélyeket ábrázolni: szimbólumokkal (alfanumerikus karakterek) vagy oktális számokkal (a számjegyekkel) 0 keresztül 7 ).

Tegyük fel, hogy Ön egy nevű fájl tulajdonosa saját fájl, és az engedélyeket úgy szeretné beállítani, hogy:

  1. az u ser tud r ead, w rítus, és e x ecute it;
  2. tagjaid g roup lehet r ead és e x ecute it; és
  3. o csak ott lehet r olvasd el.

Ez a parancs megteszi a trükköt:

Chmod u = rwx, g = rx, o = r saját fájl

Ez a példa szimbolikus engedélyek jelölését használja. A levelek u, g, és oÁll valamiből " felhasználó", "csoport", és" Egyéb". Az egyenlőségjel (" = ") azt jelenti, hogy" pontosan így állítja be az engedélyeket, "és a betűket" r", "w", és" x"stand for" read "," write ", illetve" execute ". A vessző választja el a különböző engedélyosztályokat, és nincs szóközök közöttük.

Itt van az egyenértékű parancs oktális engedélyek jelölésével:

Chmod 754 myfile

Itt vannak a számjegyek 7 , 5 , és 4 mindegyik egyenként képviseli a felhasználó, a csoport és mások engedélyeit, ebben a sorrendben. Minden számjegy a számok kombinációja 4 , 2 , 1 , és 0 :

  • 4 az „olvasás” rövidítése,
  • 2 jelentése: "írni",
  • 1 jelentése "végrehajtás", és
  • 0 jelentése "nincs engedély".

Így 7 az engedélyek kombinációja 4 +2 +1 (olvasás, írás és végrehajtás), 5 van 4 +0 +1 (olvasás, írás nélkül, és végrehajtás), és 4 van 4 +0 +0 (olvasás, írás és végrehajtás nélkül).

Szintaxis

chmod [ VÁLASZTÁSI LEHETŐSÉG]... MÓD[,MÓD]... FÁJL... chmod [ VÁLASZTÁSI LEHETŐSÉG]... OCTAL-MODE FÁJL... chmod [ VÁLASZTÁSI LEHETŐSÉG] ... --hivatkozás = RFILE FÁJL...

Lehetőségek

-c, --változtatások

Mint --bőbeszédű, de csak akkor ad bőbeszédű kimenetet, ha ténylegesen változás történik.

-f, --csendes, --csendes

Csendes mód; letiltja a legtöbb hibaüzenetet.

-v, --bőbeszédű

Bőbeszédű mód; diagnosztikai üzenetet ad ki minden feldolgozott fájlhoz.

--no-preserve-root

Jelenítsen meg egy súgó üzenetet, és lépjen ki.

A fájl tulajdonosa.

reményszemélyzet

A csoport, amelyhez a fájl tartozik.

február 03. 15:36

A fájl "s mtime (a fájl utolsó módosításának dátuma és időpontja).

fájl.txt

A fájl neve.

Példák

chmod 644 fájl.htm

Állítsa be a jogosultságokat fájl.htm a "tulajdonos tud írni és olvasni; a csoport csak olvasni; mások csak olvasni".

Chmod -R 755 saját fájlok

Rekurzívan ( -R) Módosítsa a könyvtár engedélyeit a fájljaim, valamint az abban található összes mappa és fájl módba kerül 755 : A felhasználó olvashat, írhat és végrehajthat; a csoport tagjai és más felhasználók olvashatnak és végrehajthatnak, de írni nem.

Chmod u = rw example.jpg

Módosítsa a tulajdonos engedélyeit példa.jpg hogy a tulajdonos elolvashassa és írhassa a fájlt. Ne módosítsa a csoport vagy mások engedélyeit.

Chmod u + s compope.txt

Állítsa be a "Set-User-ID" bitet compope.txt, így bárki, aki megpróbál hozzáférni a fájlhoz, úgy tegye, mintha ő lenne a fájl tulajdonosa.

Chmod u-s compope.txt

A fenti parancs ellentéte; megszünteti a SUID bit beállítását.

Chmod 755 file.cgi

Állítsa be a jogosultságokat fájl.cgi a "tulajdonos olvasása, írása és végrehajtása" és "a csoport és mindenki más olvassa és hajtsa végre".

Chmod 666 fájl.txt

Állítsa be az engedélyt fájl.txt hogy "mindenki olvassa és írjon".

Chmod a = rw fájl.txt

Ugyanazt hajtja végre, mint a fenti parancs, szimbolikus jelöléssel.

Kapcsolódó parancsok

chown- Fájlok vagy könyvtárak tulajdonjogának megváltoztatása.
getfacl- Fájl-hozzáférési listák megjelenítése.
ls- Sorolja fel egy könyvtár vagy könyvtárak tartalmát.

Fájlengedélyek módosítása

Szintaxis:

chmod[-fv] [-R [-H | -L | -P]] mód fájl ... chmod[-fv] [-R [-H | -L | -P]] [-a | + a | = a] ACE fájl ... chmod[-fhv] [-R [-H | -L | -P]] [ ACL_Option] fájlt ...

Lehetőségek:

-R Rekurzió. Mappákhoz használják. Nem csak a megadott objektum, hanem az összes benne beágyazott objektum jogait módosítja
-R -H Kövesse a szimbolikus linkeket parancs sor... Alapértelmezés szerint a szimbolikus hivatkozások feldolgozása nem történik meg
-R -L Minden szimbolikus link feldolgozásra kerül
-R -P A linkfa nem kerül feldolgozásra. Alapértelmezett paraméter.
-v Bőbeszédű. Megjeleníti az összes megváltozott fájlt
-v -v nagyon bőbeszédű mód. A régi és az új jogok oktális (numerikus) és alfabetikus megjelenítési módban jelennek meg
-f ne jelenítsen meg diagnosztikai üzeneteket, ha nem lehet módosítani a fájlhozzáférési jogosultságokat
ACL_Option(ACL – Hozzáférés-vezérlési listák felhasználói csoportokhoz) ACL_manipulation_options

Hozzáférési jogok:

A hozzáférési jogok megadhatók alfabetikus kóddal vagy számokkal oktális rendszer leszámolás

Vezérlés a hozzáférési jogok digitális jelzésével:

Három bitet használnak a jogok kezelésére

  • az első az olvasási jog
  • a második az írás joga
  • harmadik - a végrehajtás joga
Lépésenként Szám Betűkód a jog leírása
000 0 nincs joga
001 1 csak a teljesítéshez való jog
010 2 csak írható
011 3 felvételi és előadási jogok
100 4 csak olvasható
101 5 az olvasás és a végrehajtás joga
110 6 olvasási és írási engedély végrehajtás nélkül
111 7 minden jog

Az ilyen fájlengedélyek három hozzáférési típushoz vannak beállítva:

  • a tulajdonos számára
  • a csoport számára
  • másoknak

Ennek eredményeként a parancs így néz ki:

chmod 444 dollár fájl – mindenki számára csak olvasható

755 chmod fájl - a tulajdonos rendelkezik minden joggal (7), a többi felhasználó csak olvasható és fut (5)

$ chmod 066 fájl - a tulajdonosnak nincs joga a fájlhoz (0), az összes többi olvasási és írási jog végrehajtás nélkül

Kezelés a hozzáférési jogok szó szerinti megjelölésével:

A jogok szimbolikus kóddal történő megadásának formátuma

[aki ...] [[+ - =] [jogok ...] ...] [, ...]

ki karakterek kombinációja "ugoa" rámutatva felhasználókat akinek a fájlhoz vagy mappához való hozzáférési engedélyei módosulnak

  • u felhasználó tulajdonos
  • g felhasználói csoport
  • o más felhasználók
  • a (all) for all, hasonló az ugo-hoz

A chmod parancs a fájlok vagy könyvtárak engedélyeinek módosítására szolgál.

Linuxon és más Unix-szerű operációs rendszer minden fájlhoz van egy szabálykészlet, amely meghatározza, hogy ki és hogyan férhet hozzá az adott fájlhoz. Ezeket a szabályokat fájlengedélyeknek vagy fájlmódoknak nevezzük. A chmod parancsnév jelentése "módváltás", és a fájl elérésének meghatározására szolgál.

Általában a chmod parancsok így néznek ki:

chmod engedélybeállítások fájlnév

Ha lehetőségek nincs megadva, a chmod megváltoztatja a -ban megadott fájl engedélyeit fájl név pontban meghatározott engedélyekért engedélyeket.

Engedélyek meghatározza a fájl tulajdonosának ("felhasználó"), a fájlt birtokló csoport tagjainak ("csoport") és mindenki másnak ("egyéb"-nek) a hozzáférési jogait. Ezeknek az engedélyeknek két módja van: szimbólumok (alfanumerikus karakterek) vagy oktális számok (0 és 7 közötti számok) használatával.

Tegyük fel, hogy Önnek van egy myfile nevű fájlja, és az engedélyeit úgy szeretné beállítani, hogy:

  1. felhasználó ( u ser) tudott olvasni ( r olvasni), írni ( w rítus) és végrehajtani ( x ecute) it;
  2. csoporttagok ( g roup) tud olvasni ( r olvasni) és végrehajtani ( x ecute) it;
  3. és mások is ( oők) csak olvasni tudnak ( r ead) azt.

Ez a parancs így fog kinézni:

chmod u = rwx, g = rx, o = r saját fájl

Ez a példa szimbolikus jelölést használ az engedélyekhez. Az u, g és o betűk a felhasználót, a csoportot és egyebeket jelölik. Az egyenlőségjel ("=") azt jelenti, hogy "az engedélyeket így kell beállítani", az "r", "w" és "x" betűk pedig "olvasást", "írást" és "végrehajtást" jelentenek. Vesszővel válassza el különböző osztályok engedélyeket, és nincs szóköz.

Íme az egyenértékű parancs, amely oktális jelölést használ az engedélyekhez:

chmod 754 myfile

Itt a 7-es, 5-ös és 4-es számok egyenként a felhasználó, a csoport és mások engedélyeit jelentik, ebben a sorrendben. Minden számjegy a 4, 2, 1 és 0 számok kombinációja:

  • 4 azt jelenti, hogy "olvasni"
  • 2 jelentése "írás",
  • 1 jelentése "végrehajtás",
  • A 0 azt jelenti, hogy nincs engedély.

Tehát a 7 a 4 + 2 + 1 (olvasási, írási és végrehajtási) engedély kombinációja, az 5 a 4 + 0 + 1 (olvasás, nincs írás és végrehajtás), a 4 pedig 4 + 0 + 0 (olvasás, nem) írás, végrehajtás nélkül).

Chmod szintaxis

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

Chmod opciók

-c, --változtatások Mint a --verbose, de csak akkor hoz létre bőbeszédű kimenetet, amikor ténylegesen változás történik.

-f, --csendes, --csendes Néma üzemmód; letiltja a legtöbb hibaüzenetet.

-v, --bőbeszédű Bőbeszédű mód; nyomtasson ki egy diagnosztikai üzenetet minden feldolgozott fájlhoz.

--no-preserve-root Ne kezelje a "/"-t (gyökérkönyvtár) semmilyen speciális módon, ami az alapértelmezett.

--preserve-root Ne dolgozzon rekurzívan a „/”-en.

--hivatkozás =RFILEÁllítsa be az RFILE fájl engedélyeit, figyelmen kívül hagyva a megadott MODE-ot.

-R, --rekurzív Fájlok és könyvtárak rekurzív módosítása.

--Segítség Súgó üzenet megjelenítése és kilépés.

--változat Nyomtassa ki a verzióinformációkat és lépjen ki.

Technikai leírás

A chmod minden megadott FÁJL fájlmódját módosítja, hogy megfeleljen a MODE-nak, amely lehet a végrehajtott változtatások szimbolikus ábrázolása, vagy egy oktális szám, amely az új módban lévő bitek bitmintáját reprezentálja.

Szimbolikus mód formátuma:

[[+-=]...]

ahol a perms nulla vagy több betű az r, w, x, X, s és t halmazból, vagy egy betű az u, g és o halmazból. Több karaktermód is megadható, vesszővel elválasztva.

Az u, g, o betűk és vezérlőelemek kombinációja, amely megváltoztatja a felhasználó hozzáférését a fájlhoz: a felhasználó, aki a fájl tulajdonosa (u), a fájl csoportjába tartozó többi felhasználó (g), a fájl csoportjába nem tartozó többi felhasználó (o) , vagy az összes felhasználó (a). Ha ezek közül egyiket sem adjuk meg, akkor a hatás olyan lesz, mintha a lenne megadva, de az umask-ban beállított biteket ez nem érinti.

A (+) operátor hatására a kiválasztott fájlmód-bitek hozzáadódnak az egyes fájlok meglévő fájlmód-bitjeihez; "-" a törlésüket okozza; és a "="" hatására hozzáadódnak, és eltávolítják a nem említett biteket, kivéve, hogy a nem módosítható, felhasználó által beállított címtárbiteket és csoportazonosítókat ez nem érinti.

Az r, w, x, X, s és t betűk az érintett felhasználók fájlmód-bitjeit választják ki: olvasás (r), írás (w), végrehajtás (x), csak akkor hajtsa végre, ha a fájl egy könyvtár vagy már rendelkezik végrehajtási engedély bizonyos felhasználók számára (X) beállítja a felhasználói vagy csoportazonosítót a végrehajtáskor, korlátozott törlési jelzőt vagy rögzített bitet (t). Könyvtárak esetén az X és X futási beállítások határozzák meg a könyvtár tartalmának megtekintésére vonatkozó engedélyt.

E betűk közül egy vagy több helyett megadhatja az u, g vagy o betűk egyikét: a fájlt birtokló felhasználónak adott engedélyek (u), a fájl csoportjába tartozó többi felhasználónak adott engedélyek (g ), valamint azoknak a felhasználóknak adott engedélyeket, akik nem tartoznak a két előző kategória egyikébe sem (o).

Numerikus mód – 1-4 oktális számjegy (0-7), amelyet a 4, 2 és 1 értékű bitek összeadásával kapunk. A hiányzó számjegyeket a bevezető nulláknak tekintjük. Az első számjegy a megadott felhasználói azonosítót (4) és a megadott csoportazonosítót (2), valamint a korlátozott törlési vagy ragadós attribútumokat (1) választja ki. A második számjegy az olvasási (4), írási (2) és végrehajtási (1) műveletekkel rendelkező felhasználó hozzáférési jogait határozza meg; a harmadik kiválasztja a hozzáférési jogokat a fájlcsoport többi felhasználója számára azonos értékekkel; a negyedik pedig a fájlcsoporton kívüli, azonos értékekkel rendelkező többi felhasználó számára.

a chmod soha nem változtatja meg a symlink engedélyeket; a chmod rendszerhívás nem módosíthatja az engedélyeiket. De ez nem probléma, mivel a szimbolikus hivatkozási engedélyeket soha nem használják. A parancssorban megadott minden szimbolikus hivatkozás esetén azonban a chmod módosítja a megadott fájl engedélyeit. Ezzel szemben a chmod figyelmen kívül hagyja a rekurzív címtárbejárások során talált szimbolikus hivatkozásokat.

Setuid és Setgid bitek

A chmod törli a normál fájl set-group-ID bitjét, ha a fájl csoportazonosítója nem egyezik a felhasználó tényleges csoportazonosítójával vagy a felhasználó egyik kiegészítő csoportazonosítójával, kivéve, ha a felhasználó rendelkezik a megfelelő jogosultságokkal. További korlátozások okozhatja a set-user-ID és set-group-ID bitek figyelmen kívül hagyását a MODE vagy RFILE módban. Ez a viselkedés a fő chmod rendszerhívás házirendjétől és funkcióitól függ. Ha kétségei vannak, ellenőrizze a rendszer viselkedését.

A chmod megőrzi a könyvtár set-user-ID és set-group-ID bitjeit, hacsak másként nem ad meg. A biteket beállíthatja vagy törölheti szimbolikus módokkal, például u + s és g-s, a biteket pedig numerikus móddal állíthatja be (de nem törölheti).

Korlátozott eltávolítási jelző (vagy "Sticky Bit")

A korlátozott törlési jelző vagy ragadós bit egyetlen bit, amelynek értelmezése a fájltípustól függ. Ez megakadályozza, hogy azok a felhasználók, akik nem birtokolják a fájlt vagy könyvtárat, töröljenek vagy átnevezzenek egy fájlt a könyvtárban; ezt a korlátozott törlési jelzőnek nevezik egy könyvtárhoz, és általában megtalálható a világszerte írható könyvtárakban, mint például a / tmp. Egyes régebbi rendszerek normál fájljainál ez a bit a program szöveges képét menti a swap eszközre, így gyorsabban töltődik be indításkor; ezt ragadós bitnek hívják.

A fájljogosultságok megtekintése

Egy fájl engedélyeinek gyors és egyszerű listázása az ls parancs hosszú lista (-l) kapcsolójával. Például a file.txt engedélyeinek megtekintéséhez használja a következő parancsot:

Ls -l fájl.txt

Amely a következőképpen néz ki kimenetet:

Példák a chmod használatára

chmod 644 fájl.htm

A file.htm fájlt a következőre állítja: „a tulajdonos tud írni és olvasni; a csoport csak olvasni tud; mások csak olvasni tudnak."

Chmod -R 755 saját fájlok

Rekurzívan (-R) módosítja a myfiles könyvtár és az összes mappa és fájl engedélyeit 755 módra.. A felhasználó olvashat, írhat és végrehajthat; a csapattagok és más felhasználók olvashatnak és végrehajthatnak, de írni nem.

Chmod u = rw example.jpg

Módosítja a tulajdonos engedélyeit example.jpg-re, hogy a tulajdonos olvashassa és írhassa a fájlt. Nem módosítja a csoport vagy mások engedélyeit.

Chmod u + s compope.txt

Beállítja a comphope.txt fájl "Set-User-ID" bitjét, így bárki, aki megpróbál hozzáférni a fájlhoz, úgy tegye, mintha a fájl tulajdonosa lenne.

Chmod u-s compope.txt

A fenti parancs ellentéte; eltávolítja a SUID bitet

Chmod 755 file.cgi

Beállítja a file.cgi engedélyeket a "tulajdonos olvasása, írása és végrehajtása" és "csoport és mindenki más szerint történő olvasás és végrehajtás" értékre.

Chmod 666 fájl.txt

A file.txt engedélyét „mindenki olvassa és írja” értékre állítja.

Chmod a = rw fájl.txt

Ugyanazt hajtja végre, mint a fenti parancs, szimbolikus jelöléssel.

Kapcsolódó parancsok

chown- Módosítsa a fájlok vagy könyvtárak tulajdonosát.
getfacl- Fájl-hozzáférési listák megjelenítése.
ls- egy könyvtár vagy könyvtárak tartalmának listája.

(A fájljogosultságok kezdeti értéke rwxrwxrwx – teljes körű vezérlés mindenki számára) Vonja vissza a fájlvégrehajtási engedélyt minden felhasználó és csoport számára:

$ chmod a-x fájl(rw-rw-rw-)

Egy csoport és más felhasználók fájlba írásának megszakítása:

$ chmod go-w fájl (rw-r – r–)

A fájl futtatásának engedélyezése a tulajdonos számára:

$ chmod u + x fájl (rwxr – r–)

Adja meg a csoportnak ugyanazokat az engedélyeket, mint a fájl tulajdonosának:

$ chmod g = u fájl (rwxrwxr–)

Csoportfelhasználók és más felhasználók által a fájl olvasásának és írásának megszakítása:

$ chmod go-rw fájl (rwx – x-)

Példák a chmod parancs abszolút módban történő használatára

Engedély a fájl olvasására, írására és végrehajtására minden felhasználó és csoport számára (teljes hozzáférés):

$ chmod 777 fájl (rwxrwxrwx)

Olvasási és írási engedélyek beállítása tulajdonos, csoport és más felhasználók számára:

$ chmod 666 fájl (rw-rw-rw-)

A fájlhoz való teljes hozzáférés beállítása a tulajdonos számára és csak olvasási hozzáférés a csoport és más felhasználók számára:

$ chmod 744 fájl (rwxr – r–)

A fájlhoz való teljes hozzáférés beállítása a fájl tulajdonosának, és a hozzáférés megtagadása a csoporttól és más felhasználóktól:

$ chmod 700 fájl (rwx--)

Írási/olvasási engedélyek beállítása a fájltulajdonos számára, valamint csak olvasási engedélyek beállítása a csoport és mások számára:

$ chmod 644 fájl (rw-r – r–)

Olvasási és írási engedélyek beállítása a fájl tulajdonosa és csoportja számára, valamint a hozzáférés megtagadása másoktól:

$ chmod 640 fájl (rw-r-–)

Fájlhozzáférés beállítása olvasási engedéllyel minden felhasználó és csoport számára:

$ chmod 444 fájl (r – r – r–)

Fájl-hozzáférési jogok olvasáshoz, íráshoz, tulajdonos általi végrehajtáshoz és olvasáshoz, végrehajtáshoz csoporthoz és másokhoz:

$ chmod 755 fájl (rwxr-xr-x)

A fájl olvasási és végrehajtási hozzáférésének engedélyezése a felhasználó és mások számára, valamint a csoport hozzáférésének megtagadása:

$ chmod 505 fájl (r-x-r-x)

Ha az aktuális könyvtárban lévő összes fájlhoz engedélyeket szeretne rendelni, egyszerűen tegyen egy * (csillag) jelet a hozzárendelt engedélyek után:

chmod 755*

A parancs eredményeként a tulajdonos teljes (olvasási, módosítási, végrehajtási) joggal rendelkezik az aktuális könyvtárban található összes fájlhoz, a csoportnak és a többi felhasználónak pedig csak olvasási és végrehajtási joga lesz. Ha azt szeretné, hogy a műveletei rekurzív módon terjedjenek (beleértve az összes alkönyvtárat), használja az -R kapcsolót:

$ chmod -R 777 *

A fenti parancs végrehajtásának eredménye rekurzívan „bejárja” az aktuális könyvtár összes alkönyvtárát, és teljes hozzáférést rendel az összes felhasználóhoz és csoporthoz. Ez a cikk csak néhány példát mutat be a chmod parancs használatára. Ha többet szeretne megtudni a chmod működéséről és a Linux engedélyeiről, tekintse meg ezt a cikket.

Csak a könyvtárak engedélyeinek módosítása (rekurzív)

$ keresés / elérési út / ide / alap / dir -type d -exec chmod 755 () +

$ chmod 755 $ (keresse / elérési út / ide / alap / dir -type d)

$ chmod 755 `keresse / elérési útja / to / base / dir -type d`

$ find / elérési út / to / base / dir -type d -print0 | xargs -0 chmod 755

Csak a fájlok engedélyeinek módosítása (rekurzív)

$ keresés / elérési út / to / base / dir -type f -exec chmod 644 () +

$ chmod 644 $ (keresse / elérési út / ide / alap / dir - type f)

$ chmod 0755 `find ./ -type f`

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

Chmod szintaxis mappákhoz és fájlokhoz

Először is értsük meg a probléma lényegét a Chmod-dal, hogy megértsük, mit és hogyan konfigurálunk pontosan. Tehát kezdjük. Az engedélyek fel vannak osztva: Chmod a fájlok és Chmod a könyvtárak számára. Ugyanaz a jelölés, de egy kicsit mást jelentenek.

A fájlengedélyek (Chmod) a következőkre oszlanak:

    r - adatolvasási jog.

    w - a tartalom megváltoztatásának joga (írás - csak a tartalom módosítása, törlés nem).

    x - a fájl végrehajtásának joga.

Foglalkozzunk kicsit részletesebben a fájlvégrehajtási joggal. A lényeg az, hogy linuxon (Unix) bármilyen fájl futtatható. Azt, hogy végrehajtható-e, nem a kiterjesztése határozza meg (a kiterjesztés fogalma hiányzik a Unix fájlrendszerben), hanem a Chmod hozzáférési jogok. Ha bármely fájl rendelkezik „X” (chmod x) engedéllyel, az azt jelenti, hogy futtatható végrehajtásra.

Most a mappa (könyvtár) hozzáférési jogairól (Chmod):

    r - a könyvtár olvasási joga (elolvashatja a könyvtár tartalmát, azaz megkaphatja a benne lévő objektumok listáját)

    w - a könyvtár tartalmának megváltoztatásának joga (ebben a könyvtárban létrehozhat és törölhet objektumokat, és ha van írási joga, akkor törölheti azokat a fájlokat is, amelyek nem tartoznak Önhöz)

    x - a könyvtárba való belépést lehetővé tévő jog (ez a jog először mindig ellenőrzésre kerül, és még akkor is, ha rendelkezik minden szükséges joggal egy olyan objektumhoz, amely a könyvtárak láncolatában mélyen van eltemetve, de nincs meg az „X” joga van hozzáférni legalább egy könyvtárhoz a fájl elérési útjában, akkor nem fog áttörni)

Linux (Unix) rendszereken mindezeket a jogokat a számítógép fő rendszergazdája biztosítja, amelyhez jelszó megadásával jut hozzá. És ha a legtöbb objektum csak olvasható hozzáférési jogosultsággal (Chmod) rendelkezik, akkor az ilyen számítógépen lévő vírusoknak gyakorlatilag semmi közük, mert nem írhatják oda magukat, és akkor nem tudnak teljesülni. Pontosan ezt az eredményt kell elérnünk az oldalunk objektumaihoz való hozzáférési jogok (Chmod) beállításával.

Chmod szintaxis felhasználói csoportokhoz

Maguk az engedélyek (Chmod) három kategóriába sorolhatók, attól függően, hogy ki fér hozzá az objektumhoz:

    "Felhasználó" - u (közvetlenül a fájl tulajdonosa)

    "Csoport" - g (a tulajdonossal azonos csoport tagja)

    "Világ" - o (az összes többi)

A szerver határozza meg, hogy Ön melyik felhasználói csoporthoz tartozik, amikor csatlakozik a szerverhez. Amikor például FTP-n keresztül csatlakozik egy szerverhez, akkor bejelentkezik a felhasználónevével (és jelszavával), majd a szerver hozzárendeli a "felhasználó" ("u)" csoporthoz. A többi felhasználó, aki szintén FTP-n keresztül csatlakozik a szerverhez, a "csoport" ("g") csoporthoz lesz hozzárendelve, a böngészővel az Ön webhelyére érkező felhasználó pedig a "world" ("o") csoporthoz lesz hozzárendelve. .

A három lehetséges „r”, „w” és „x” érték variációi a három „u”, „g” és „o” kategóriában határozzák meg a fájlok Chmod-ját. Ha egy kategória nincs megadva, akkor azt egy kötőjel „-” helyettesíti. A hozzáférési jogok (Chmod) sorban, a megadott sorrendben kerülnek megadásra:

    először a tulajdonos jogai az "u"

    majd a csoporthoz - "g"

    és a jog végén mindenki másé - "o"

Miután a szerver hozzárendeli a felhasználót a egy bizonyos csoport, ez biztosítja számára az objektumok kezelésének jogát, ami után a felhasználó elolvashatja, írhatja vagy végrehajthatja a fájlt (attól függően, hogy a csoportja mit tehet ezzel az objektummal). Egy mappa tartalmának megtekintéséhez az "r" olvasási attribútummal kell rendelkeznie (annak a csoportnak, amelyhez a szerver a felhasználót hozzárendelte). Ha egy meglévő fájlban vagy mappában szeretne létrehozni egy fájlt vagy mappát, akkor a „w” bejegyzésben szerepelnie kell a Chmod attribútumnak.

Az érthetőség kedvéért nézzünk meg egy példát, ahol a fájl tulajdonosa ("user" - "u") rendelkezik minden joggal: az olvasási, írási és végrehajtási jog, a többi felhasználónak pedig csak az olvasási joga. Az ilyen Chmod rekordja így fog kinézni: "rwx r-- r--". Nézzük meg részletesen: "rwx" (ez a bejegyzés az objektum jogait állítja be a tulajdonos számára - "u"), "r--" (ez a bejegyzés ugyanahhoz az objektumhoz állítja be a jogokat, de ha a felhasználó hozzá van rendelve a szerver általi csoport - "g ")," R-- "(ez a bejegyzés az objektum jogait állítja be az összes többi felhasználó számára - o").

Hogyan különböznek a Chmod fájlok és mappák

Semmit sem lehet tenni

A címtárhoz és alkönyvtáraihoz való hozzáférés megtagadva

Megtekintheti és módosíthatja a tartalmat

Hozzáadhat, törölhet, módosíthat mappafájlt

Végrehajtás, ha a fájl bináris

A felhasználó futtathat olyan bináris fájlt, amelynek létezéséről tud, tilos a könyvtárba belépni vagy olvasni

Chmod numerikus szintaxis (777)

Látható, hogy itt latin betűket és kötőjeleket használó rekordokat használnak a hozzáférési jogok leírására, de valószínűleg már találkozhattál azzal, hogy a Chmod általában digitális formában van beállítva, például a jól ismert kombináció: Chmod 777, amely mindent és mindenkinek megenged. Valójában a hozzáférési jogokat (Chmod) számokkal is jelöljük:

    w (rekord) helyére 2 kerül

    x (verzió) helyébe 1 lép

A 0 azt jelenti, hogy nem csinál semmit (amit kötőjel jelöl a szó szerinti jelölésben) Térjünk vissza a hozzáférési jogok példájához, amit kicsit korábban adtam: rwx r-- r--. Ha az imént leírt szabály szerint a betűket és a kötőjeleket számokra cseréljük, és egyúttal minden hármasban összeadjuk a számokat, akkor ennek a bejegyzésnek a digitális formáját kapjuk: 744. kiderül, hogy ezeknek a számoknak az összege mutatja a Chmod-ot a fájlok vagy mappák számára. Például:

    7 (rwx) = 4 + 2 +1 (teljes jog)

    5 (r-x) = 4 + 0 + 1 (olvasás és végrehajtás)

    6 (rw-) = 4 + 2 + 0 (olvasás és írás)

    4 (r--) = 4 + 0 + 0 (csak olvasható)

Ez a táblázat felsorolja a Chmod összes lehetséges kombinációját digitális formában:

Most nézzük meg a különböző Chmod-kombinációkat számokban, felhasználói csoportokra alkalmazva:

""Tulajdonos""

""Csoport""

""Pihenés""

végrehajtani

végrehajtani

végrehajtani

Ön maga (kivéve azt az esetet, amikor FTP-n keresztül éri el az oldalt) és webhelyének összes többi látogatója a „szó” csoportba tartozik (mindenki más), ezért a webhely használatához először meg kell nézni az utolsó ( harmadik) a Chmod számjegy. Ahhoz, hogy a felhasználó "futtassa a szkript fájlját", amikor a felhasználó az oldallal dolgozik, elegendő, ha hozzáférési jogokkal (Chmod) rendelkezik, "4"-től kezdve (r-- - csak olvasható) (5,6,7 is rendben van, de biztonsági szempontból felesleges lesz).

A "mappához", amelyben a szkript fájlja található, legalább "5"-et kell beállítania (r-x - bemehet a mappába, és elolvashatja a tartalmát, nem törölheti vagy hozzáadhatja). A 7-es is rendben van, de az is felesleges lesz biztonsági szempontból. Ha azt szeretné, hogy a szkriptet ne csak olvassák, hanem bizonyos adatokat (például a felhasználó által beírt) „írjon” is, akkor a „mappához” a minimális jogok továbbra is „5”, de a „fájlhoz” ” szüksége lesz a „6” (Olvasás és írás) jogokra.

Valószínűleg azon a szerveren, amelyre a webhely motorjának tartalmát másolta, a következő Chmod-ok lesznek telepítve az objektumokra:

Mappák 755

a tulajdonos (felhasználó) mindent megtehet, a csoport és mindenki más csak olvasni tudja a mappákat és belépni, de tilos fájlokat írni, nevet megváltoztatni és könyvtárakba törölni. (rwxr-xr-x)

644. fájl

Ha csak html-ből állna az oldal, akkor hagyhatná így is. A modern webhelyek azonban motorokra épülnek, és lehetnek olyan objektumok, amelyekben a "világ" csoport felhasználói nevében kell írni - o (minden többi). Ezek lehetnek az oldalak gyorsítótárazására használt mappák, vagy azok, amelyekbe az oldallal végzett munka során képeket töltenek be.. Magától értetődik, hogy ha FTP-n keresztül megy fel az oldalra, akkor ezekbe a fájlokba vagy mappákba írhat, de a weboldal felületén dolgozva , mint egy rendszeres felhasználónak, problémái lehetnek. Ezért bizonyos Chmod-ok telepítését szelektíven kell megközelíteni.

Parancs chmod (MÓD módosítása- módváltás) nagyon specifikus szintaxissal rendelkezik. Általános szintaxis:
de jellemző rá, hogy a rendszerváltás sokféle formát ölthet. Kétféleképpen határozható meg:

  1. nyolcas számként. Ebben az esetben a tulajdonos engedélyei 00-as formájú számoknak felelnek meg, ahol a hozzárendelt jogosultságnak felelnek meg: 4 az olvasáshoz, 2 az íráshoz és 1 a végrehajtáshoz. Hasonlóképpen, a tulajdonosi csoport jogosultságai 0, a "mások" jogosultságai pedig. Ezután már csak meg kell találnia a hozzárendelendő engedélyek összegét a kívánt mód eléréséhez. Tehát az rwxr-xr-- engedélyek 400 + 200 + 100 (tulajdonos engedélyei, rwx) + 40 + 10 (csoport engedélyei, r-x) +4 (mások engedélyei, r--) = 754-nek felelnek meg; így az engedélyeket a szabad tagok számában fejezik ki. Ez azt jelenti, hogy a korábbi engedélyek feltétel nélkül lecserélődnek;
  2. kifejezések használatával. Ebben az esetben az engedélyek kifejezések sorozatával vannak kifejezve, vesszővel elválasztva. Ezért a kifejezés a következő alakot ölti: [kategória]<+|-|=><разрешения> .
Példák:
  • chmod -R o-w / megosztott / docs: rekurzív módon eltávolítja mások írási jogosultságát a / share / docs / könyvtárban található összes fájlból és alkönyvtárból.
  • chmod -R og-w, o-x privát /: rekurzív módon eltávolítja az írási engedélyt a csoport és mások számára a teljes privát / könyvtárból, és eltávolítja a végrehajtási engedélyt a többire vonatkozóan.
  • chmod -c 644 misc / fájl *: megváltoztatja a misc / könyvtárban lévő összes fájl engedélyét, amelynek neve fájllal kezdődik, az rw-r - r-- értékre (azaz olvasási jogosultság mindenkinek és írási engedély csak a tulajdonosnak), és csak azokat a fájlokat jelenti, amelyeket érintett a csapat.

A következő példa bemutatja, hogyan engedélyezheti minden felhasználó számára a fájl elolvasását, módosítását és mentését. Ehhez meg kell változtatni az "egyéb" csoport hozzáférési jogait.
Írja be a parancssorba:
ls -l example1.txt A következő információk jelennek meg a képernyőn:
-rw-rw-r-- 1 felhasználó felhasználó 42. március 24. 22:07 example1.txt Most írja be ezt a parancsot:
chmod o + w example1.txt Az o + w parancs azt jelenti, hogy az „others” (az „o betűvel jelöljük”) engedélyt ad az example1.txt fájl írására. Ha látni szeretné, mihez vezetett a megadott parancs végrehajtása, nézzük meg újra a fájlt:
-rw-rw-rw- 1 felhasználó felhasználó 42. március 24. 22:09 example1.txt Most már mindenki olvashatja és írhatja a fájlt.
Az example1.txt fájl olvasásának és írásának megakadályozásához használja a chmod parancsot.
chmod go-rw example1.txt A go-rw parancs közli a rendszerrel, hogy meg akarja akadályozni, hogy a csoport és "egyebek" olvassák és írhassák az example1.txt fájlt.
Ennek eredményeként a hozzáférési jogok így fognak kinézni:
-rw ------- 1 felhasználó felhasználó 42. március 24. 22:10 example1.txt Ezek az osztályok és engedélyek a megfelelő angol szavak rövidítései, így könnyen megjegyezhetők: mindössze néhány karaktert és leveleket.
Íme a rövidítések átiratainak listája:

u osztályok - a fájl tulajdonosa (az angol "user" szóból);
g - a csoport, amelyhez a felhasználó tartozik (az angol "group" szóból);
o - a többi (nem a tulajdonos és nem a csoporttulajdonos, az angol "others" szóból);
a - mindent (u, g és o, az angol "all" szóból). Jogok r - olvasási jog;
w - írási jog;
x a végrehajtás joga. Actions + - megadja a jogot;
- - elveszi a jogot;
= - csak az adott jogot fenntartja.

Szeretnéd próbára tenni tudásod? Távolítsa el az example1.txt fájl összes felhasználói jogát az összes felhasználótól.
chmod a-rwx example1.txt Most ellenőrizze, hogy tudja-e olvasni ez a fájl a cat example1.txt paranccsal. A következőket kell látnod:
cat: example1.txt: Engedély megtagadva Az összes jog visszavonásával, beleértve a sajátját is, letiltotta a hozzáférést a fájlhoz. De mivel a fájl az Öné, mindig visszaállíthatja a jogokat a következő paranccsal:
chmod u + rw example1.txt Annak érdekében, hogy biztosan el tudja olvasni az adott fájlt, használja a cat example1.txt fájlt.
Íme néhány példa a chmod parancs használatára:

  • g + w - írási engedélyt ad a csoport tulajdonosának;
  • o-rwx - eltávolít minden jogot a többi felhasználótól;
  • u + x - jogot ad a tulajdonosnak a fájl végrehajtására;
  • a + rw - lehetővé teszi, hogy bárki olvassa és írjon a fájlba;
  • ug + r - lehetővé teszi a tulajdonos és a csoport számára a fájl olvasását;
  • g = rx - Lehetővé teszi a csoport számára a fájl olvasását és végrehajtását (nem írását).

Az -R opció lehetővé teszi a teljes címtárfa jogainak megváltoztatását.
Mivel a könyvtárakat nem lehet alkalmazásként "futtatni", a megfelelő jogosultság hozzáadása vagy eltávolítása azt jelenti, hogy engedélyezi (vagy nem) megtekintheti a címtárat.
Például, ha megakadályozza, hogy más felhasználók végrehajtsák a docs / könyvtárat, akkor nem számít, ki kap olvasási / írási engedélyt. Senki sem férhet hozzá egy könyvtár tartalmához, hacsak nem ismeri a benne lévő fájl pontos nevét.
Írja be például:
chmod a-x docs a végrehajtási engedélyek visszavonásához minden felhasználótól.
Ha most megpróbál könyvtárat változtatni a cd docs paranccsal, a rendszer elutasítja:
bash: docs: Engedély megtagadva Adja vissza magának és csoportjának jogait:
chmod ug + x docs Ha most ellenőrzi a műveletek eredményét az ls -l paranccsal, látni fogja, hogy csak a többi felhasználó nem férhet hozzá a docs / könyvtárhoz.