Fájlengedélyek Linuxban / Unixban: Olvasás, írás és módosítás
⚡ Okos összefoglaló
A Linux és Unix rendszerben a fájlengedélyek szabályozzák, hogy ki olvashatja, írhatja és futtathatja az egyes fájlokat, két rétegen keresztül védve a többfelhasználós rendszert: a tulajdonjog, amely hozzárendel egy felhasználót, csoportot és másokat, valamint az olvasási, írási és végrehajtási jogosultságbitek.
Fájlengedélyek itt: Linux és az Unix dönti el, hogy ki olvashatja, módosíthatja vagy futtathatja az egyes fájlokat, ami biztonságban tartja a megosztott, többfelhasználós rendszert. Ez az oldal végigvezeti a fájlok tulajdonjogán, az olvasási, írási és végrehajtási engedélyeken, valamint az ezeket módosító parancsokon.
A Linux a Unix klónja, amely egy többfelhasználós operációs rendszer, amelyet egyszerre sok felhasználó érhet el. A Linux nagyszámítógépeken és szervereken is használható módosítás nélkül. Ez azonban biztonsági aggályokat vet fel, mivel egy kéretlen vagy rosszindulatú felhasználó megrongálhatja, megváltoztathatja vagy eltávolíthatja a kulcsfontosságú adatokat. A hatékony biztonság érdekében a Linux két szintre osztja a jogosultságokat:
- Tulajdon
- Engedély
A fájljogosultságok és a tulajdonjog fogalma kulcsfontosságú a Linuxban. Ebben a cikkben elmagyarázzuk a Linux jogosultságokat és a tulajdonjogot, és mindkettőt megvitatjuk. Kezdjük a tulajdonjoggal.
Linux fájl tulajdonjoga
A Unix/Linux rendszeren minden fájlhoz és könyvtárhoz háromféle tulajdonos tartozik, amelyeket alább láthatunk. Az alábbi ábra azt mutatja, hogyan viszonyul a tulajdonjog a felhasználóhoz, a csoporthoz és másokhoz.
használó
Egy felhasználó a fájl tulajdonosa. Alapértelmezés szerint a fájlt létrehozó személy lesz a tulajdonosa. Ezért a felhasználót néha tulajdonosnak is nevezik.
Csoport
A felhasználói csoport több felhasználót is tartalmazhat. Egy csoporthoz tartozó összes felhasználó ugyanazokkal a Linux csoportengedélyekkel rendelkezik a fájlhoz. Tegyük fel, hogy van egy projekted, amelyben több személynek is hozzáférésre van szüksége egy fájlhoz. Ahelyett, hogy manuálisan rendelnél engedélyeket az egyes felhasználókhoz, hozzáadhatod az összes felhasználót egy csoporthoz, és csoportengedélyt rendelhetsz a fájlhoz, így csak ezek a csoporttagok, és senki más, olvashatják vagy módosíthatják a fájlokat.
Más
Bármely más felhasználó, aki hozzáféréssel rendelkezik egy fájlhoz. Ez a személy nem hozta létre a fájlt, és nem tartozik olyan felhasználói csoporthoz, amely birtokolhatná azt. Gyakorlatilag ez mindenki mást jelent. Ezért, amikor másoknak adsz meg engedélyt, azt a világ egészére vonatkozó engedélyek beállításának is nevezik.
Most felmerül a nagy kérdés: hogyan tesz különbséget a Linux e három felhasználói típus között, hogy az „A” felhasználó ne tudjon befolyásolni egy olyan fájlt, amely egy másik „B” felhasználó létfontosságú információit vagy adatait tartalmazza? Ez olyan, mintha nem akarnánk egy kollégát, aki a mién dolgozik. Linux számítógép a képek megtekintéséhez. Itt jönnek képbe az engedélyek, amelyek meghatározzák a felhasználói viselkedést.
Nézzük meg a Linux jogosultságrendszerét.
Linux fájljogosultságok
A Unix/Linux rendszered minden fájljához és könyvtárához a következő három jogosultság tartozik, amelyeket a fent tárgyalt mindhárom tulajdonoshoz definiáltunk.
- Olvasás: Ez az engedély feljogosít egy fájl megnyitására és olvasására. Egy könyvtár olvasási engedélye lehetővé teszi a tartalmának listázását.
- Ír: Az írási jogosultság feljogosít egy fájl tartalmának módosítására. Egy könyvtárra vonatkozó írási jogosultság feljogosít a könyvtárban tárolt fájlok hozzáadására, eltávolítására és átnevezésére. Vegyünk egy olyan forgatókönyvet, amelyben írási jogosultsággal rendelkezik egy fájlra, de nincs írási jogosultsága arra a könyvtárra, ahol a fájl található. Módosíthatja a fájl tartalmát, de nem nevezheti át, helyezheti át vagy távolíthatja el a fájlt a könyvtárból.
- Végrehajtás: In Windows, egy futtatható program kiterjesztése általában „.exe”, amelyet könnyen futtathatsz. Unix/Linux alatt nem futtathatsz programot, hacsak nincs beállítva a végrehajtási engedély. Ha a végrehajtási engedély nincs beállítva, akkor továbbra is láthatod vagy módosíthatod a programkódot (feltéve, hogy az olvasási és írási engedélyek be vannak állítva), de nem futtathatod.
Nézzük meg a fájlengedélyeket Linuxban példákkal. Az ls -l parancs futtatása a terminálon a következő eredményt adja:
ls -l
Az alábbi képernyőkép egy hosszú listában mutatja az engedélyezési karakterláncot.
Itt kiemeltük az '-rw-rw-r–' kódot, és ez a furcsa kinézetű kód az, amely a tulajdonosnak, a felhasználói csoportnak és a világnak adott Unix jogosultságokról árulkodik.
Itt az első '-' jel azt jelenti, hogy kiválasztottunk egy fájlt. Az alábbi ikon egy normál fájlt jelöl.
Egyébként, ha könyvtár lenne, egy 'd' betű jelenne meg, ahogy az alábbi listában is látható.
A karakterek nagyon könnyen megjegyezhetők.
- r = olvasási engedély
- w = írási engedély
- x = végrehajtási engedély
- – = nincs engedély
Nézzük meg így. A kód első része 'rw-'. Ez arra utal, hogy a 'Home' tulajdonos a következőket teheti:
- Olvassa el a fájlt
- Írja meg vagy szerkessze a fájlt
A tulajdonos nem tudja végrehajtani a fájlt, mivel a végrehajtási bit '-'-re van állítva. Az alábbi ikon azt mutatja, hogy a végrehajtási bit kötőjelre van cserélve.
Tervezésileg számos Linux disztribúció, mint például a Fedora, a CentOS és a Ubuntu adj hozzá egy felhasználót egy azonos nevű csoporthoz. Így a 'tom' felhasználó hozzáadódik egy 'tom' nevű csoporthoz.
A második rész az „rw-”. Ez a „Home” felhasználói csoporthoz tartozik, és a csoport tagjai a következőket tehetik:
- Olvassa el a fájlt
- Írja meg vagy szerkessze a fájlt
A harmadik rész a világra vonatkozik, ami bármely felhasználót jelent. Azt írja, hogy „r–”. Ez azt jelenti, hogy a felhasználó csak a következőket teheti:
- Olvassa el a fájlt
Az alábbi lebontás a jogosultsági karakterlánc minden részét a tulajdonoshoz, a csoporthoz és a világhoz rendeli.
Fájl-/könyvtárengedélyek módosítása Linuxban a 'chmod' parancs használatával
Tegyük fel, hogy nem szeretné, hogy egy kollégája lássa a személyes képeit. Ezt a fájlengedélyek módosításával teheti meg.
Használhatjuk a 'chmod'-ot parancs, ami a „módosítási módot” jelenti. A parancs használatával jogosultságokat (olvasás, írás, végrehajtás) állíthatunk be egy fájlra vagy könyvtárra a tulajdonos, a csoport és a világ számára.
Syntax:
chmod permissions filename
A parancs kétféleképpen használható:
- Abszolút mód
- Szimbolikus mód
Abszolút (numerikus) mód Linuxban
Ebben a módban a fájlengedélyek nem karakterekkel, hanem háromjegyű oktális számként jelennek meg. Az alábbi táblázat az összes engedélytípushoz tartozó számokat tartalmazza.
| Szám | Engedély típusa | Szimbólum |
|---|---|---|
| 0 | Nincs engedélye | - |
| 1 | Végrehajt | -X |
| 2 | Ír | -Ban ben- |
| 3 | Végrehajtás + Írás | -wx |
| 4 | Olvass | r– |
| 5 | Olvasás + Végrehajtás | rx |
| 6 | Olvasás + Írás | rw - |
| 7 | Olvasás + Írás + Végrehajtás | rwx |
Nézzük meg a chmod parancsot működés közben, ahogy az az alábbi terminálablakban látható.
A fenti terminálablakban a 'sample' fájl jogosultságait '764'-re változtattuk. A '764' abszolút kód a következőket mondja:
- A tulajdonos olvashat, írhat és végrehajthat.
- A felhasználói csoport olvashat és írhat.
- A világ csak olvasni tud.
Ez '-rwxrw-r–' formátumban jelenik meg, ahogy az alábbi eredményben is látható.
Így módosíthatja a felhasználói jogosultságokat Linuxban egy fájlra vonatkozóan egy abszolút szám hozzárendelésével.
Szimbolikus mód Linuxban
Abszolút módban mindhárom tulajdonos jogosultságait módosíthatod. Szimbolikus módban egy adott tulajdonos jogosultságait módosíthatod. Matematikai szimbólumokat használ a Unix fájlengedélyek módosításához.
| Operator | Leírás |
|---|---|
| + | Engedélyt ad egy fájlhoz vagy könyvtárhoz |
| - | Eltávolítja az engedélyt |
| = | Beállítja az engedélyt, és felülírja a korábban beállított engedélyeket. |
A különböző tulajdonosokat a következőképpen képviselik.
| használó | Jelölések |
|---|---|
| u | felhasználó/tulajdonos |
| g | csoport |
| o | egyéb |
| a | minden |
Nem számokban, például 755-ben szereplő jogosultságokat fogunk használni, hanem karakterekben, például rwx-ben. Nézzük meg az alábbi példát.
Tulajdonjog és csoport megváltoztatása Linuxban
Egy fájl vagy könyvtár tulajdonjogának megváltoztatásához a következő parancsot használhatja:
chown user filename
Ha egy fájl vagy könyvtár felhasználóját és csoportját is módosítani szeretné, használja a következő parancsot:
chown user:group filename
Nézzük meg ezt működés közben, ahogy az alább látható.
Ha csak a csoport tulajdonosát szeretné módosítani, használja a következő parancsot:
chgrp group_name filename
A „chgrp” a csoportváltást jelenti. Az alábbi képernyőkép a chgrp parancs használatát mutatja.
típus
- Az /etc/group fájl tartalmazza a rendszeren definiált összes csoportot.
- A „groups” parancs segítségével megkeresheted az összes olyan csoportot, amelynek tagja vagy, az alábbiak szerint.
- A newgrp parancs segítségével az alapértelmezett csoporttól eltérő csoport tagjaként is dolgozhat, az alábbiak szerint.
- Nem lehet két csoportnak ugyanaz a fájl a tulajdonosa.
- Linuxban nincsenek beágyazott csoportok. Egyik csoport sem lehet egy másik alcsoportja.
- x — egy könyvtár végrehajtása azt jelenti, hogy „beléphetünk” egy könyvtárba, és hozzáférhetünk az alkönyvtáraihoz.
- Vannak más jogosultságok is, amelyeket fájlokra és könyvtárakra állíthatsz be, amelyeket egy későbbi haladó oktatóanyagban tárgyalunk.







.png)
.png)
.png)
.png)
.png)


