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:
- Könyvtárak
- Fájlok
Három műveletet lehet végrehajtani:
- Read
- Write
- 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:
- A fájl tulajdonosa
- A fájl tulajdonosának csoportja
- 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:
Az alábbiakat kapjuk vissza ezzel a paranccsal:
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:
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:
Mihelyt a fenti parancsot végrehajtjuk, és megpróbálunk egy fájlt nem tulajdonos fiókkal olvasni a következő paranccsal:
A következő hibát fogjuk kapni:
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:
Egy létező felhasználó jogosultságainak hozzáadásához szintén elvégezhetjük:
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:
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
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.