A Linux jogosultságainak és a chmod használatának megértése


Az utóbbi néhány hónapban tanultam a Linuxon, és a Linux egy olyan aspektusa, amely mindig összekeverte velem, hogy az engedélyek hogyan működtek. Például amikor egy fájlt töltöttem egyszer webkiszolgálón, és hibaüzenetet kaptam, a webes fogadóim azt mondták nekem, hogy 755-ös fájlmegosztási jogosultságokat változtassak.

Nem tudtam, hogy ez mit jelent, az engedélyek rögzítették a problémát. Most már észrevettem, hogy a Linux engedélyek nem olyan bonyolultak, csak meg kell értened a rendszert. Ebben a cikkben magas szintű Linux-engedélyeket fogok beszélni, és megmutatom, hogyan kell használni a chmod parancsot a fájlok és mappák engedélyeinek megváltoztatásához.

Linux jogosultságok & amp; Szintek

A Linuxban alapvetően három olyan engedély létezik, amelyekre általában aggódni kell: olvasni, írni és végrehajtani. Ezek mindegyike eléggé magától értetődő. Most, amikor ezeket az engedélyeket egy fájlra alkalmazzák, azok szinteken kerülnek alkalmazásra.

A Linuxban három jogosultságszint van: tulajdonos, csoport és egyéb. A tulajdonos az a felhasználó, aki a fájlt / mappát birtokolja, a csoport más felhasználókat is tartalmaz a fájl csoportjában, és a többi csak az összes többi felhasználót képviseli, akik nem a tulajdonos vagy a csoport.

Olvasás, írás és végrehajtás szimbolikus karakterek vagy oktális számok. Például, ha ls -l-t csinál egy bizonyos fájlok könyvtárában, megjelenik az engedélyek szimbolikus ábrázolása.

Az engedélyek az alábbiak szerint íródnak: az első bit egy kötőjel vagy a d betű. A Dashazt jelenti, hogy egy fájl, a dpedig a könyvtárat jelenti. Vegye figyelembe, hogy az első bit is lehet l, ha a fájlnév egy hivatkozás. Ezután három csoport van három bittel. Minden csoport első bitje olvasásra, a második bit az írásra és a harmadik bit a végrehajtásra. Az első három bit a tulajdonos számára, a második három bit a csoport számára és a harmadik három bit a másik számára. Íme egy vizuális magyarázat.

Ha egy betű helyett egy kötőjelet lát, azt jelenti, hogy a tulajdonos, csoport vagy minden más felhasználó nincs ilyen engedélye. A fenti példában a tulajdonos, a csoport és mindenki más elolvasta az írási és végrehajtási engedélyeket.

Ha az ls -l parancs kimenetét nézzük, észreveszed, hogy a gyakorlat szöveges fájljának a következő engedélyek:

-rw-rw-rw-

Ez azt jelenti, hogy mindenkinek csak olvasási / írási jogosultságai vannak a fájl számára. Íme egy másik példa:

drwxr--r--

Az első bitre tekintve láthatjuk, hogy az engedélyek egy könyvtárhoz tartoznak. A tulajdonos engedélyeket olvas / ír és hajt végre, de a csoport és más felhasználók csak olvasási jogosultsággal rendelkeznek.

Oktal szám ábrázolása

Az ugyanazon jogosultságok másik módja az oktális számok használata. Amikor később a chmod parancsot használjuk, láthatjuk, hogy a jogosultságokat szimbólumokkal vagy oktális számokkal változtathatjuk.

Szóval hogyan értelmezi a Linux a lexikális számok olvasását, írását és végrehajtását? Alapvetően csak az alábbiakban megadott engedélyekhez rendel egy számot.

Az olvasási jogosultságot 4, 2-es írással és 1-es végrehajtással ábrázoljuk. Mindössze annyit kell tennie, hogy hozzáadja őket az oktális engedélyhez. Például tegyük fel a fenti példát, ahol mindenki rendelkezik minden jogosultsággal:

-rwxrwxrwx

A tulajdonosnak rwx van, ezért 4 + 2 + 1-et adunk hozzá 7-es érték eléréséhez. Ugyanazt tesszük ugyanazért a csoporthoz és ugyanazért a máshoz. A végső oktális érték 777. Vessünk egy pillantást arra a példára, ahol csak olvasási / írási engedélyeket adtunk:

-rw-rw-rw-

Az első oktális szám 4 + 2 lesz, mivel olvasható és írható. A második pedig ugyanaz lesz, mint a harmadik oktális szám. Itt van egy 666 végső oktális értéke.

Tehát most próbáljuk meg a másik irányba. Mondjuk tudni, hogy milyen engedélyek 755képviselik? Nos, elég könnyű kitalálni, hogy egyedi számokat töröl. Az első szám 7, amelyet csak 4 + 2 + 1 hozzáadásával kaphatunk, vagyis a tulajdonos olvasási / írási / végrehajtási engedélyt kapott. Öt csak 4 + 1 hozzáadással érhető el, ami azt jelenti, hogy a csoport és a többi felhasználó engedélyeket olvas és hajt végre.

Remélhetőleg ez jó magyarázatot ad arra vonatkozóan, hogy hogyan lehet az oktális számok használatával engedélyezni az engedélyeket a Linuxban. Általánosságban elmondható, hogy összességében eléggé előrehaladott.

A chmod használata a jogosultságok módosításához

Most, hogy megértjük az engedélyek olvasását, beszéljünk arról, hogyan változtathatjuk meg őket. A legegyszerűbb segédprogram erre a célra a chmod parancs. Így működik. A parancs értelmezésének legjobb módja egy példa.

Kezdjük a fent említett engedélyekkel, nevezetesen:

-rw-rw-rw-

a tulajdonossal, csoporttal és másikkal együtt szeretnénk hozzáadni a végrehajtási engedélyt, kétféle módon tudtuk megtenni. Használhatjuk a szimbólummódszert vagy az oktális módszert. A szimbólummódszer szerint a következőket tennénk az alábbiak szerint:

A pontos parancs

chmod a+x filename

A szintaktika a következő: a tulajdonos (u), csoport (g), más (oerős>) vagy mindegyik (a), majd engedélyek hozzáadásához +, vagy a -(raz olvasáshoz, waz íráshoz és xa végrehajtáshoz).

A fenti példában hozzáadtam a engedélyt ad minden felhasználó számára. A fenti képernyőképen látható eredmény egy xa tulajdonos, a csoport és egyebek számára. Most mondjuk el akarom távolítani az írási és végrehajtási engedélyeket csak a csoport és más felhasználók számára.

a következő parancs végrehajtásával:

chmod go-wx filename

Miután módosítani szeretném a csoportos és egyéb jogosultságokat, a gbetűt és a o. Szeretném eltávolítani a jogosultságokat, 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 a wés xszavakat használom. Itt van egy praktikus kis táblázat a szimbólumok használatához:

Tehát mindennek van szüksége a szimbólummódszer használatára. Most beszéljünk az oktális módszerről, amelyet egy kicsit könnyebbnek találok. Az Octal szép, mert egy lépésben engedélyeket adhat hozzá vagy távolíthat el.

Ha a következő engedélyekkel kezdjük a fájlt, nézzük meg, hogyan módosíthatjuk őket oktális módszerrel:

<

>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. Amint látja, egyszerűen hozzá lehet adni vagy eltávolítani az engedélyeket egy egyszerű paranccsal. Folytassuk, és azt mondjuk, hogy újra engedélyeket akarok megváltoztatni.

Most a következő parancsot használtam, mégpedig nagyon egyszerű:

chmod 640 filename

Itt adtuk meg a tulajdonos olvasási / írási engedélyeit, a csoport csak olvasási engedélyt és a másik csoportnak nincs engedélye. Zérójelet használ a jogosultságok jelölésére. Elég egyszerű, eh?

Összefoglalva, ez egy nagyon egyszerű áttekintés a Linux-engedélyekről, és ennél sokkal bonyolultabb lehet, mint a kezdőknek, de ez jó kiindulópont. A jövőben több cikket fogok közzétenni a fejlettebb engedélyekhez. Ha bármilyen kérdése van, ne habozzon megjegyezni. Enjoy!

Kapcsolódó hozzászólások:


16.02.2017