A Linux engedélyek és a chmod használat megértése

Az elmúlt néhány hónapban részt vettem egy Linuxról(Linux) szóló tanfolyamon, és a Linux egyik aspektusa, ami mindig megzavart, az az engedélyek működése volt. Például amikor egyszer feltöltöttem egy fájlt a webszerveremre, és hibaüzenetet kaptam, a webszolgáltatóm azt mondta, hogy módosítsam a fájlengedélyeket 755-re.

Fogalmam sem volt, hogy ez mit jelent, bár az engedélyek megváltoztatása megoldotta a problémát. Most már rájöttem, hogy a Linux engedélyek nem olyan bonyolultak, csak meg kell érteni a rendszert. Ebben a cikkben a Linux(Linux) -engedélyekről beszélek magas szinten, és megmutatom, hogyan lehet a chmod paranccsal módosítani a fájlok és mappák engedélyeit.

Linux engedélyek és szintek

A Linuxban(Linux) alapvetően három engedély létezik, amelyek miatt általában aggódnia kell: olvasás, írás és végrehajtás. Mindhárom eléggé magától értetődő. Most, amikor ezeket az engedélyeket egy fájlra alkalmazzák, akkor szinteken alkalmazzák őket.

A Linuxban(Linux) három szintű engedély létezik : tulajdonos, csoport és egyéb. A tulajdonos az a felhasználó, aki a fájl/mappa tulajdonosa, a csoport más felhasználókat is magában foglal a fájl csoportjában, az egyéb pedig csak az összes többi felhasználót képviseli, aki nem a tulajdonosa vagy a csoport tagja.

Az olvasás(Read) , az írás és a végrehajtás szimbolikus karakterekként vagy oktális számokként jeleníthető meg. Például, ha egy ls -l parancsot ír be egy könyvtárban néhány fájllal, látni fogja az engedélyek szimbolikus karakterábrázolását.

A jogosultságok a következőképpen vannak kiírva: az első bit egy kötőjel vagy egy d betű. A kötőjel(Dash) azt jelenti, hogy ez egy fájl, a d pedig a könyvtárat jelenti. Vegye figyelembe, hogy az első bit lehet egy l is, ha a fájlnév hivatkozás. Ezután három, három bitből álló csoport van. Minden csoportban az első bit az olvasásra, a második bit az írásra, a harmadik bit pedig a végrehajtásra szolgál. Az első három bit a tulajdonosé, a második három bit a csoporté, a harmadik három bit pedig az egyébé. Itt van egy vizuálisabb magyarázat.

Ha egy betű helyén kötőjelet lát, az azt jelenti, hogy a tulajdonos, a csoport vagy az összes többi felhasználó nem rendelkezik ezzel az engedéllyel. A fenti példában a tulajdonos, a csoport és mindenki más olvasási írási és végrehajtási jogosultsággal rendelkezik.

Ha megnézi az ls -l parancs kimenetét, észre fogja venni, hogy a gyakorlati szövegfájlom a következő engedélyekkel rendelkezik:

-rw-rw-rw-

Ez azt jelenti, hogy mindenkinek csak olvasási/írási jogosultsága van a fájlhoz. Íme egy másik példa:

drwxr--r--

Az első bitet nézve láthatjuk, hogy az engedélyek egy könyvtárra vonatkoznak. A tulajdonos olvasási/írási/végrehajtási jogosultsággal rendelkezik, de a csoportnak és a többi felhasználónak csak olvasási jogosultsága van.

Oktális számábrázolás

Tehát így jelennek meg az engedélyek a Linuxban(Linux) szimbólumok használatával. A második módja ugyanazon jogosultságok megjelenítésének az oktális számok használata. Amikor később a chmod parancsot használjuk, látni fogja, hogy szimbólumokkal vagy oktális számokkal módosíthatja az engedélyeket.

Tehát hogyan reprezentálja a Linux az olvasást, írást és végrehajtást oktális számok használatával? Alapvetően minden engedélyhez csak egy számot rendel, az alábbiak szerint.

Az olvasási engedélyt 4, az írást 2 és a végrehajtást 1 jelöli. Mindössze össze kell adnia őket, hogy megkapja az oktális engedélyt. Vegyük például a fenti példát, ahol mindenki rendelkezik minden engedéllyel:

-rwxrwxrwx

A tulajdonosnak rwx-e van, ezért 4 + 2 + 1-et adunk hozzá, hogy 7-et kapjunk. Ugyanezt csináljuk a csoportnál és ugyanazt a többinél. A végső oktális érték 777. Nézzük meg azt a példát, ahol csak olvasási/írási engedélyt adtunk:

-rw-rw-rw-

Az első oktális szám 4 + 2 lesz, mivel hozzáadjuk az olvasást és az írást. A második ugyanaz lesz, mint a harmadik oktális szám. Itt a végső oktális érték 666.

Tehát most próbáljuk meg másképp. Tegyük fel, hogy tudni akarjuk, milyen engedélyeket jelent a 755 ? Nos, elég könnyű kitalálni, ha az egyes számokra bontja. Az első szám a 7, amit csak a 4 + 2 + 1 összeadásával kaphatunk meg, vagyis a tulajdonos olvasási/írási/végrehajtási jogosultsággal rendelkezik. Öt csak 4 + 1 hozzáadásával érhető el, ami azt jelenti, hogy a csoport és a többi felhasználó olvasási és végrehajtási jogosultsággal rendelkezik.

Remélhetőleg(Hopefully) ez jó magyarázat arra, hogyan kell az engedélyeket oktális számokkal ábrázolni Linuxban . (Linux)Összességében elég egyértelmű.

A chmod használata az engedélyek módosításához

Most, hogy megértjük, hogyan kell olvasni az olvasási engedélyeket, beszéljünk arról, hogyan módosíthatjuk őket. Erre a célra a legkönnyebben használható segédprogram a chmod parancs. Íme, hogyan működik. A parancs magyarázatának legjobb módja egy példa végigjátszása.

Kezdjük azokkal az engedélyekkel, amelyekről fentebb beszéltünk, nevezetesen:

-rw-rw-rw-

Ha a tulajdonos, a csoport és mások végrehajtási engedélyét szeretnénk hozzáadni, akkor kétféleképpen járhatunk el. Használhatjuk a szimbólum módszert vagy az oktális módszert. A szimbólummódszer esetében a következőket tesszük, az alábbiak szerint:

A pontos parancs az

chmod a+x filename

A szintaxis a következő: a tulajdonost ( u ), a csoportot ( g ), a többit ( o ) vagy az összeset ( a ) jelképező betű vagy betűk, ezt követi egy + az engedélyek hozzáadásához vagy a az engedélyek eltávolításához, majd a az engedély ( r az olvasáshoz, w az íráshoz és x a végrehajtáshoz).

A fenti példában minden felhasználóhoz hozzáadtam a végrehajtási engedélyt. A fenti képernyőképen látható eredmény egy x a tulajdonos, a csoport és egyebek számára. Tegyük fel, hogy csak a csoport és a többi felhasználó írási és végrehajtási engedélyeit akartam eltávolítani.

Amint itt látható, a következő parancsot használtam ennek végrehajtásához:

chmod go-wx filename

Mivel meg akarom változtatni a csoport és egyéb jogosultságokat, a g(g) betűt és az o betűt használom . El szeretném távolítani az engedélyeket, ezért a –(–) jelet használom . Végül szeretném eltávolítani az írási és végrehajtási engedélyeket, ezért w és x billentyűket használok . Íme egy praktikus kis táblázat a szimbólumhasználathoz:

Tehát ennyi a szimbólummódszer használata. Most beszéljünk az oktális módszerről, amelyet valamivel egyszerűbbnek találok. Az Octal(Octal) azért jó, mert egyszerre adhat hozzá vagy távolíthat el engedélyeket.

Ha a következő jogosultságokkal kezdünk egy fájlon, nézzük meg, hogyan tudjuk ezeket megváltoztatni az oktális metódussal:

-rw-rw-rw-

Fent(Above) láthatja, hogy a következő parancsot használtam:

chmod 744 filename

Ez alapvetően azt jelenti, hogy a tulajdonos olvasási/írási/végrehajtási engedélyt kap, a csoport és a többiek pedig csak olvasási engedélyt kapnak. Amint látja, az engedélyek hozzáadása vagy eltávolítása egyszerű egyetlen paranccsal. Folytassuk, és mondjuk, hogy újra meg akarom változtatni az engedélyeket.

Most a következő parancsot használtam, ismét egy nagyon egyszerűt:

chmod 640 filename

Itt a tulajdonosnak olvasási/írási engedélyt adtunk, a csoportnak csak olvasási engedélyt, a másik csoportnak pedig nem. Nullát használ a nem jogosultság jelzésére. Elég egyszerű, mi?

Összefoglalva, ez egy nagyon egyszerű áttekintés a Linux engedélyekről, és ennél sokkal bonyolultabb is lehet, de kezdőknek ez egy jó kiindulópont. A jövőben további cikkeket fogok közzétenni a fejlettebb engedélyekről. Ha kérdése van, nyugodtan írjon megjegyzést. Élvezd!



About the author

Szoftvermérnök vagyok, több mint 15 éves tapasztalattal a Microsoft Office és Edge területén. Kifejlesztettem számos, a végfelhasználók által használt eszközt is, mint például egy alkalmazást a fontos egészségügyi adatok nyomon követésére, és egy ransomware detektort. A képességeim abban rejlenek, hogy elegáns kódot fejlesszek, amely jól működik különböző platformokon, valamint jól ismerjem a felhasználói élményt.



Related posts