logo

Chmod parancs Linux/Unix rendszerben példákkal

A Linux chmod parancs a fájlok és könyvtárak hozzáférési engedélyeinek módosítására szolgál. Azt jelenti módot váltani . Nem módosíthatja a szimbolikus hivatkozások engedélyét. Még azt is figyelmen kívül hagyja, hogy a szimbolikus hivatkozások rekurzív címtárbejárással találkoznak.

Ban,-ben Linux fájlrendszer, minden fájl egy adott tulajdonoshoz van társítva, és különböző felhasználók számára van jogosultságuk. A felhasználói osztályok a következők lehetnek:

  • tulajdonos
  • csapattag
  • Mások (mindenki más)

A Linux fájlengedélyei a következő három típusból állnak:

  • olvasni (r)
  • írj (w)
  • végrehajtani (x)

A Chmod rövid története

Először is, a chmod parancs az AT&T UNIX 1-es verziójában a chmod rendszerhívással jelenik meg. A hozzáférés-szabályozási listák több fájlrendszerben is szerepeltek ezekben a leggyakoribb módokban a rugalmasság növelése érdekében, mivel a rendszerek típusai és felhasználói száma nőtt.

A GNU coreutils-ba rendezett chmod verziót Jim Meyering és David MacKenzie határozta meg. Ez a parancs a Microsoft Windows rendszerhez különálló csomagként jelenik meg, az alapvető GNU Unix-szerű segédprogramok UnxUtils natív Win32 portgyűjteményének elemeként. Ezenkívül a chmod parancsot az IBM i operációs rendszerbe szállították.

Nézzük meg, hogyan módosítható a fájl engedélye a chmod paranccsal.

Szintaxis:

java iterációs térkép

A chmod parancs alapvető szintaxisa a következő:

 chmod 

Az általánosan alkalmazott lehetőségek a következők:

    -R:A rekurzív rövidítése, azaz objektumok hozzáadása az alkönyvtárakhoz.-BAN BEN:A bőbeszédű, módosított objektumok megjelenítése (a módosítatlan objektumok nem jelennek meg).

A célobjektumra hatással van, ha egy szimbolikus hivatkozást említenek. A szimbolikus hivatkozásokhoz közvetlenül kapcsolódó fájlmódokat általában nem használják.

A chmod engedély elsődleges összetevője:

Például, rwxr-x---

Minden három karakterből álló csoport engedélyeket ad meg minden osztály számára:

    rwx:A bal szélső három karakter határozza meg a fájltulajdonos engedélyeit (azaz a felhasználói osztályt).r-x:A három középső karakter a fájlt birtokló csoport (vagyis a Csoport osztály) jogosultságait határozza meg.---:A jobb szélső három karakter határozza meg az Egyéb osztály engedélyeit. Azok a felhasználók, akik nem a fájl tulajdonosai és a csoport tagjai, nem férhetnek hozzá a fájlhoz.

Lehetőségek:

A chmod parancs a következő parancssori beállításokat támogatja:

-c, --módosítások: Hasonló a bőbeszédű opcióhoz, de a különbség az, hogy a rendszer jelenti, ha változás történt.

-f, --néma, --csendes: A hibaüzenetek elnyomására szolgál.

-v, --verbose: Minden feldolgozott fájl diagnosztikájának megjelenítésére szolgál.

--no-preserve-root: Arra használják, hogy ne kezeljék a fordított perjelet ('/'), különösen (az alapértelmezett).

--preserve-root: Ha ezt az opciót használja, akkor nem fog rekurzívan működni fordított perjel („/”) esetén.

--reference=RFILE: Az RFILE mód vagy a MODE értékek megadására szolgál.

-R, --rekurzív: Fájlok és könyvtárak rekurzív megváltoztatására szolgál.

--Segítség: A súgó kézikönyv megjelenítésére szolgál, amely rövid leírást tartalmaz a használati és támogatási lehetőségekről.

teljes forma pvr

--változat: A verzióinformációk megjelenítésére szolgál.

Fájlengedély szintaxis

Ha Ön új felhasználó, összetévesztheti a fájlengedélyek beállításához használt különböző betűtípusokat. Tehát, mielőtt továbblépnénk a chmod paranccsal, ismerjük meg a fájlengedély szintaxisát.

Egy fájl vagy könyvtár engedélyének beállításához a következő dolgokat kell megadnunk:

  • Ki: Kik vagyunk. (felhasználó)
  • Mi: Milyen változtatásokat fogunk végrehajtani (például az engedély hozzáadása vagy eltávolítása)?
  • Melyik: melyik jogosultság?

Az engedély nyilatkozatot olyan mutatók képviselik, mint az u+x, u-x. Ahol az „u” a „felhasználót” jelenti, a „+” az add, a „-” az eltávolítást, az „x” pedig a végrehajtható fájlt (amit).

java listát a tömbbe

A felhasználói érték a következő lehet:

u: a fájl tulajdonosa

g: csoporttag

o: mások

a: mind

Az engedélytípusok lehetnek r, w és x.

Az engedélyek beállítása és frissítése

Egy fájl engedélyének beállításához hajtson végre engedélyt a chmod paranccsal. Például be akarjuk állítani az olvasási és írási engedélyt a 'Demo.txt' fájl összes felhasználója és csoportja számára. A chmod paranccsal át kell adnunk az 'u=rw,go=rw Demo.txt' engedélyt. A fájl engedélyének megjelenítéséhez hajtsa végre az alábbi parancsot:

 ls -l Demo.txt 

A fenti parancs megjeleníti a fájl aktuális engedélyét a „Demo.txt” fájlhoz.

Az engedély módosításához hajtsa végre az alábbi parancsot:

 chmod u=rw,go=rw Demo.txt 

Vegye figyelembe az alábbi kimenetet:

Linux chmod parancs

A fenti kimenetből a 'Demo.txt' hozzáférési engedélye megváltozott.

Engedélyek beállítása több fájlhoz

A chmod paranccsal egyszerre több fájlhoz is beállíthatunk engedélyt. Több fájl fájlengedélyének módosításához adja meg a fájl mintáját a chmod paranccsal. Például, ha olvasási és írási engedélyt szeretnénk beállítani az összes szövegfájlhoz, adja meg a * jelet. txt mintát a chmod paranccsal.

Az aktuális munkakönyvtárban található összes szövegfájl engedélyének megtekintéséhez hajtsa végre az alábbi parancsot:

 ls -l *.txt 

Felsorolja az összes szöveges fájlt az engedély módjával. Vegye figyelembe az alábbi kimenetet:

Linux chmod parancs

A fenti kimenetből sok fájl csak olvasási jogosultsággal rendelkezik más felhasználók számára.

Más felhasználók olvasási és írási engedélyének beállításához hajtsa végre az alábbi parancsot:

 chmod o+w *.txt 

Ez beállítja az olvasási és írási jogosultságot a szöveges fájlok többi felhasználója számára. Vegye figyelembe az alábbi kimenetet:

Linux chmod parancs

Numerikus gyorsírás

Az engedélyek megadásához betűk helyett számértékeket használhatunk. Az engedély megadására három számjegyű érték szolgál. A bal szélső számjegy a tulajdonost (u), a középső számjegy pedig a csoporttagokat (g) jelöli. A jobb szélső számjegy a többit jelöli (o).

Az alábbi táblázat a számjegyeket és azok jogosultságait mutatja be:

Számjegyek Engedélyek
000 Nincs engedélye
001 Engedély végrehajtása
010 Írási engedély
011 Írási és végrehajtási engedélyek
100 Olvasási engedély
101 Olvasási és végrehajtási engedélyek
110 Olvasási és írási engedélyek
111 Olvasási, írási és végrehajtási engedélyek

Szimbolikus módok

Ezenkívül a chmod parancs elfogadja a finomabb szemcsés szimbolikus jelölést, amely lehetővé teszi bizonyos módok megváltoztatását. A szimbolikus mód három elemből áll, amelyek egy szöveges karakterláncot egyesítenek:

java kapja az aktuális időt
 $ chmod [references] [operator] [modes] file... 

A chmod program egy operátort alkalmaz a fájlmódok elrendezésének meghatározásához. Az alábbi üzemeltetők engedélyezettek:

Operátor Leírás
+ A leírt osztályokhoz hozzáadja a leírtakat.
- Eltávolítja a leírt módot a leírt osztályokból.
= Ez azt jelenti, hogy a leírt módokat a leírt osztályokhoz ugyanazokat a módokat kell létrehozni.

A módok azt jelzik, hogy mely engedélyeket kell eltávolítani vagy megadni a leírt osztályokból. Főleg három közös mód kapcsolódik a közös engedélyekhez:

Név Mód Leírás
olvas r Beolvas egy fájlt, vagy kilistázza egy könyvtár tartalmát.
ír Ban ben Könyvtárba vagy fájlba ír.
végrehajtani x Megismétli egy könyvtárfát vagy végrehajt egy fájlt.
speciális végrehajtás x Ez nem engedély, hanem használható x helyett. Használja a végrehajtási engedélyeket a könyvtárakhoz a jelenlegi engedélyeik ellenére, és használja a végrehajtási engedélyeket olyan fájlokhoz, amelyeknek legalább egy végrehajtási engedély bitje van. Hasznos, ha a '+' operátorral használjuk és a végrehajtási engedély beállítása nélkül, ami akkor történne, ha csak a chmod -R a+rx .-t használnánk, míg a chmod -R a+rx parancsot megvalósíthatjuk. inkább x-szel.

Több módosítás leírható több szimbolikus mód vesszővel együtt történő elkülönítésével. A chmod parancs megvizsgálja a umask ha nincs megadva felhasználó.

Speciális módok

A chmod parancs emellett módosíthatja egy könyvtár vagy fájl speciális módjait és extra engedélyeit. A szimbolikus módok „s”-t alkalmaznak a setgid és setuid módok jelzésére, „t” pedig a ragadós módot. Egy mód csak a megfelelő osztályokhoz használatos, függetlenül attól, hogy más osztályokat említenek-e vagy sem.

Szinte minden operációs rendszer numerikusan támogatja a speciális mód specifikációt, különösen oktálisan, de néhányan nem. Csak a szimbolikus módok alkalmazhatók ezekre a rendszerekre.

Néhány példa a parancssorra:

Parancs Leírás
chmod a+r publicComments.txt Hozzáadja az olvasási engedélyt minden osztályhoz (azaz csoporthoz, tulajdonoshoz és másokhoz).
chmod a-x publicComments.txt Ez minden osztály végrehajtási engedélyét eltávolítja.
chmod a+rx viewer.sh Minden osztályhoz hozzáadja a végrehajtási és olvasási engedélyeket.
chmod u=rw, g=r, o=belsőPlan.txt Ez beállítja az írási és olvasási jogosultságokat a felhasználó számára, a szolgáltatás olvasási jogosultságát a csoport számára, és elutasítja a hozzáférést a többiek számára.
chmod -R u+w, go-w docs Tartalmazza az írási engedélyt a könyvtárdokumentumokhoz és annak minden tartalmához a tulajdonos számára, és törli a többiek és a csoport írási engedélyét.
chmod and=rw groupAgreements.txt Ez beállítja az írási és olvasási jogosultságokat a csoport és a felhasználó számára.
chmod 664 global.txt Ez beállítja az írási és olvasási jogosultságokat a csoport és a felhasználó számára, és olvasási engedélyt ad másoknak.
chmod 744 Show_myCV.sh Beállítja a végrehajtási, írási és olvasási jogosultságokat a felhasználó számára, és olvasási engedélyt ad a csoportnak és másoknak.