Linux chmod példa

Ezzel a gyors bemutatóval megnézzük, hogyan használhatjuk a chmod parancsot egy Ubuntu gépen, hogy megtaláljuk, módosítsuk és eltávolítsuk a felhasználói jogosultságokat a felhasználó fájlrendszerében létező bizonyos fájlokban. Játsszuk végig a különböző feltételeket, hogy elsajátíthassuk az alapvető chmod parancsokat, amelyek megkönnyíthetik mindennapi életünket az Ubuntuval.

Linux engedélyek

A Linux engedélyek egy nagyszerű szabályrendszer, amelyet egyszerű megérteni, ha megértjük az alapvető jogokat. A három fő pont, amit meg kell értenünk ahhoz, hogy tudjuk, hogyan működik a Linux Permissions:

  • Az elem, amelyre a jogosultságokat definiálták
  • Milyen műveleteket lehet végrehajtani egy jogosultsággal
  • Ki milyen műveleteket végezhet

A Linux fájlrendszerben két alapvető elem van:

  1. Könyvtárak
  2. Fájlok

Három műveletet lehet végrehajtani:

  1. Read
  2. Write
  3. Execute. A parancsfájlok végrehajtásán kívül ugyanezekre a műveletekre van szükség a fájlok és a benne lévő egyéb mappák létrehozásához

A következő felhasználók végezhetik el ezeket a műveleteket:

  1. A fájl tulajdonosa
  2. A fájl tulajdonosának csoportja
  3. A tulajdonos csoporthoz vagy magához a tulajdonoshoz nem tartozó felhasználók

A fájlhoz kapcsolódó jogosultságok megtekintéséhez futtassa a következő parancsot:

ls -l

Az alábbiakat kapjuk vissza ezzel a paranccsal:

Fájlok engedélyeinek keresése

Fájlok engedélyeinek keresése

A kimeneten az első 10 karakter mutatja a fájl engedélyeit:

  • Az első karakter, ami ebben az esetben a ‘-‘ jelzi, hogy ez egy fájl. Egy könyvtár esetében ez egy ‘d’ lenne.
  • A következő kilenc karakter a tulajdonos, a tulajdonos csoportja és a többi engedélyét jelenti.

Az engedélyek módosítása

A fájl engedélyeinek módosítására szolgáló szintaxis így néz ki:

chmod permissions file …

Az engedélyek oktális ábrázolása

Az engedélyeket oktális számként is ábrázolhatjuk. Például a hello.txt fájl olvasási, írási & végrehajtási engedélyek beállításához a tulajdonosnak, olvasási & írási engedélyek beállításához a csoportjának, és a többieknek nincs engedélye, a következő parancsot hajtjuk végre:

sudo chmod 760 hello.txt

Mihelyt a fenti parancsot végrehajtjuk, és megpróbálunk egy fájlt nem tulajdonos fiókkal olvasni a következő paranccsal:

sudo -u notowner-user more hello.txt

A következő hibát fogjuk kapni:

hello.txt: Permission denied

De honnan jön ez a szám? Ennek a számnak minden egyes számjegye egy-egy jogosultságot jelöl. Lássuk, hogyan származtak ezek:

  • 0: Nem jelent engedélyt
  • 1: Jelenti a végrehajtási engedélyt
  • 2: Jelenti az írási engedélyt
  • 4: Jelenti az olvasási engedélyt

Az olvasási, írási & végrehajtási engedélyek kiosztásához a tulajdonosnak a 7(= 4 + 2 + 1) számot adtuk. Értelmezzük ezt jobban egy számjegyes táblázatban:

Szám Binary Read Write Execute
0 000 NEM NEM NEM
1 001 NEM NEM IGEN
2 010 NEM IGEN NEM
3 011 NEM IGEN IGEN IGEN
4 100 IGEN NEM NEM
5 101 IGEN NEM IGEN
6 110 IGEN YES NO
7 111 YES YES YES

A fenti táblázatban sokkal világosabb, hogy az egyes fájlok jogosultságai mit jelentenek.

Az engedélyek karakteres ábrázolása

Az engedélyeket oktális számként is ábrázolhatjuk. Például a hello.txt fájl olvasási, írási & végrehajtási engedélyének beállításához a tulajdonosnak, olvasási & írási engedélyének beállításához a csoportjának, és a többieknek nincs engedélye, a következő parancsot hajtjuk végre:

sudo chmod u=rwe,g=rw,o-rwx hello.txt

Egy létező felhasználó jogosultságainak hozzáadásához szintén elvégezhetjük:

sudo chmod g+w hello.txt

Itt az írási jogosultságot a fájl tulajdonosának felhasználói csoportjához rendeltük.

Rekurzív jogosultságváltoztatás

Az adott könyvtárban található fájlok jogosultságait egyetlen paranccsal is módosíthatjuk. Ha egy megadott könyvtárban lévő minden egyes fájl és mappa engedélyeit egyszerre szeretnénk módosítani, használjuk a sudo chmod parancsot -R:

sudo chmod 777 Directory/*

A következő kimenetet láthatjuk, amely egyértelműen tükrözi a fájlengedélyek változását:

Fájlengedélyek rekurzív módosítása

Fájlengedélyek rekurzív módosítása

Következtetés

Ebben a leckében megnéztük, hogyan módosíthatunk egy fájl engedélyeit, és ha szükséges, akkor ezt rekurzívan is megtehetjük. Megértettük a Linux jogosultságok mögötti alapfogalmakat, amelyek sokat segíthetnek a mindennapi munkánkban.

Szólj hozzá!