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:
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:
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:
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:
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:
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. |