Az elmúlt néhány hónapban vettem részt a Linuxon, és a Linux minden olyan összetevője, amely mindig összekeverte, az volt, hogyan működött az engedélyek. Például, ha egyszer feltöltöttem egy fájlt a webkiszolgálómba, és hiba keletkezik, a webszerverem azt mondta, hogy megváltoztatom a fájlengedélyeket 755-re.
Nem tudtam, hogy ez mit jelent, bár az engedélyek megváltoztatása rögzítette a problémát. Most már rájöttem, hogy a Linux engedélyek nem olyan bonyolultak, csak meg kell értened a rendszert. Ebben a cikkben a Linux-engedélyekről magas szinten beszélek, és megmutatom, hogyan használhatja a chmod parancsot a fájlok és mappák engedélyeinek megváltoztatásához.
Linux engedélyek és szintek
Linuxban alapvetően három jogosultság áll rendelkezésére, amelyeket általában aggódnia kell: olvasni, írni és végrehajtani. Mindhárom eléggé megmagyarázó. Most, amikor ezeket az engedélyeket egy fájlra alkalmazzák, azokat szinteken alkalmazzák.
A Linuxban három jogosultsági szint van: tulajdonos, csoport és más. A tulajdonos az a felhasználó, aki a fájlt / mappát birtokolja, a csoportba tartoznak a fájlcsoport többi felhasználója, és csak a többi felhasználó, aki nem a tulajdonos vagy a csoport.
Az olvasás, az írás és a végrehajtás szimbolikus karakterek vagy oktális számok. Például, ha egy ls -l-et csinál egy könyvtárban, ahol néhány fájl van, akkor megjelenik az engedélyek szimbolikus karakterképe.
Az engedélyeket a következőképpen írják: az első bit egy kötőjel vagy d betű. Dash azt jelenti, hogy egy fájl, és d a könyvtár. Ne feledje, hogy az első bit l is lehet, ha a fájlnév egy hivatkozás. Ezután három csoport van három bitből. Az egyes csoportok első bitje olvasásra szolgál, a második bit írásra és a harmadik bit végrehajtásra szolgál. Az első három bit a tulajdonos számára, a második három bit a csoportra, a harmadik három bit pedig a másikra. Itt van egy vizuálisabb magyarázat.
Ha egy betű helyett kötőjelet lát, azt jelenti, hogy a tulajdonosnak, a csoportnak vagy az összes többi felhasználónak nincs engedélye. A fenti példában a tulajdonos, a csoport és mindenki más olvasott és végrehajtott engedélyeket.
Ha megnézzük az ls -l parancs kimenetét, észre fogod venni, hogy a gyakorlati szövegfájl a következő jogosultságokkal rendelkezik:
-RW-rw-r t
Ez azt jelenti, hogy mindenki csak olvasási / írási jogosultsággal rendelkezik a fájlhoz. Íme egy másik példa:
drwxr - r--
Az első bitre nézve láthatjuk, hogy az engedélyek egy könyvtárhoz tartoznak. A tulajdonos olvasási / írási / végrehajtási jogosultságokkal rendelkezik, de a csoport és más felhasználók csak olvasási engedéllyel rendelkeznek.
Octal szám képviselet
Így jelennek meg a jogosultságok Linuxon szimbólumok használatával. A második módja, hogy ugyanazokat az engedélyeket képviseljük, az oktális számok használata. Ha később használjuk a chmod parancsot, látni fogod, hogy megváltoztathatod az engedélyeket szimbólumokkal vagy oktális számokkal.
Szóval hogyan reprezentálja a Linux az olvasási, írási és végrehajtási műveleteket oktális számokkal? Alapvetően csak egy számot rendel az egyes engedélyekhez, az alábbiak szerint.
Az olvasási engedélyt 4 jelzi, írja 2 és végrehajtja az 1-es. Mindössze annyit kell tennie, hogy hozzáadja őket, hogy megkapja az oktális engedélyt. Vegyük például a fenti példát, ahol mindenkinek megvan az összes engedélye:
-rwxrwxrwx
A tulajdonosnak rwx van, így 4 + 2 + 1-et adunk hozzá, hogy 7-es értéket kapjunk. A végső oktális érték 777. Nézzük meg a példát, ahol csak olvasási / írási engedélyeket adtunk meg:
-RW-rw-r t
Az első oktális szám 4 + 2 lesz, mióta olvasni és írni kell. A második ugyanaz lesz, mint a harmadik oktális szám. Itt végső oktális értéke 666.
Tehát most próbáljuk meg másként. Mondjuk, szeretnénk tudni, hogy milyen jogosultságokat képvisel a 755 ? Nos, elég könnyű kitalálni, ha egyedi számokkal bontja le. Az első szám 7, amit csak 4 + 2 + 1 hozzáadásával tudunk elérni, ami azt jelenti, hogy a tulajdonosnak olvasási / írási / végrehajtási engedélye van. Az öt csak 4 + 1 hozzáadásával érhető el, ami azt jelenti, hogy a csoport és más felhasználók engedélyeket olvasnak és hajtottak végre.
Remélhetőleg ez egy jó magyarázat arra, hogyan képviselhetjük az engedélyeket a Linuxban oktális számokkal. Ez egészen általános.
A chmod használata az engedélyek módosításához
Most, hogy megértjük, hogyan kell olvasni az engedélyeket, beszéljünk arról, hogyan változtathatjuk meg őket. A legegyszerűbb segédprogram a chmod parancs. Így működik. A parancs megmagyarázásának legjobb módja egy példa.
Kezdjük a fent említett engedélyekkel, nevezetesen:
-RW-rw-r t
Ha szeretnénk hozzáadni a végrehajtó engedélyt a tulajdonosnak, csoportnak és másnak, akkor kétféleképpen tudnánk továbblépni. Használhatnánk a szimbólummódszert vagy az oktális módszert. A szimbólum módszerrel az alábbiak szerint tennénk:
A pontos parancs
chmod a + x fájlnév
A szintaxis a következő: a tulajdonos ( u ), a ( g ) csoport, más ( o ) vagy az összes ( a ) betűje vagy betűje, amelyet a + követ a jogosultságok hozzáadásához, vagy a - az engedélyek elvételéhez, majd a levélhez az engedélyt ( r olvasásra, w írásra és x végrehajtásra).
A fenti példában minden felhasználó számára hozzáadtam a végrehajtási engedélyt. A fenti képen látható eredmény egy x, a tulajdonos, a csoport és más. Tegyük fel, hogy csak a csoport és más felhasználók számára szeretném eltávolítani az írási és végrehajtási engedélyeket.
Amint itt láthatod, ezt a következő parancsot használtam:
chmod go-wx fájlnév
Mivel módosítani szeretném a csoport és más engedélyeket, a g betűt és az o betűt használom. Szeretném eltávolítani az engedélyeket, ezért használom a - jelet. Végül szeretném eltávolítani az írási és végrehajtási engedélyeket, ezért w és x-t használok. Itt egy praktikus kis asztal a szimbólum használatához:
Szóval ez az, amire szükség van a szimbólum módszer használatára. Most beszéljünk az oktális módszerről, amit egy kicsit könnyebbnek tartok. Az Octal jó, mert az összes engedélyt hozzáadhatja vagy távolíthatja el.
Ha a következő engedélyekkel kezdjük a fájlt, nézzük meg, hogyan változtathatjuk meg őket az oktális módszerrel:
-RW-rw-r t
Fentebb látható, hogy a következő parancsot használtam:
chmod 744 fájlnév
Ez alapvetően azt mondja, hogy a tulajdonos olvasási / írási / végrehajtási engedélyt kap, és a csoport és más csak olvasási engedélyt kap. Mint látható, könnyű hozzáadni vagy eltávolítani az engedélyeket egy egyszerű parancsban. Folytassuk és mondjuk, hogy újra engedélyeket akarok változtatni.
Most már a következő parancsot használtam: egy nagyon egyszerű:
chmod 640 fájlnév
Itt adtuk meg a tulajdonos olvasási / írási engedélyeit, csak a csoport olvasási engedélyét és a másik csoportot nem engedélyezték. Nulla használatával nem engedélyezhető. Elég egyszerű, ugye?
Összefoglalva, ez egy nagyon egyszerű áttekintés a Linux-engedélyekről, és ez sokkal bonyolultabb, mint ez, de kezdőknek ez egy jó hely a kezdetekhez. További cikkeket fogok közzétenni a fejlettebb engedélyekről a jövőben. Ha bármilyen kérdése van, ne habozzon megjegyzést tenni. Élvez!