Hogyan működnek a Linux fájlengedélyek?

Tartalomjegyzék:

Hogyan működnek a Linux fájlengedélyek?
Hogyan működnek a Linux fájlengedélyek?

Videó: Hogyan működnek a Linux fájlengedélyek?

Videó: Hogyan működnek a Linux fájlengedélyek?
Videó: Windows Hyper-V Virtual Machine Tutorial - YouTube 2024, Lehet
Anonim
Ha már régóta használ Linuxot (és még az OS X-et is), akkor valószínűleg egy "jogosultság" hibát észlel. De pontosan mi ez, és miért szükségesek vagy hasznosak? Vessünk egy belső pillantást.
Ha már régóta használ Linuxot (és még az OS X-et is), akkor valószínűleg egy "jogosultság" hibát észlel. De pontosan mi ez, és miért szükségesek vagy hasznosak? Vessünk egy belső pillantást.

Felhasználói jogosultságok

A nap folyamán a számítógépek hatalmas gépek voltak, amelyek hihetetlenül drágák voltak. Annak érdekében, hogy a legtöbbet hozhassák ki, több számítógépes terminál is összekapcsolódott, ami lehetővé tette, hogy sok felhasználó egyszerre folytassa üzleti tevékenységét. Az adatfeldolgozást és a tárolást a gépen végezték, míg a terminálok maguk nem voltak többek, mint az adatok megtekintésére és bevitelére szolgáló eszközök. Ha rájössz, akkor elég, hogy miként férünk hozzá a "felhő" adathoz; nézd meg az Amazon Cloud MP3 rendszerét, a Gmailt és a Dropboxot, és észre fogod venni, hogy míg a változtatások helyben történnek, mindent távolról tárol.

(Kép: Zenith Z-19 "buta" terminál, hitel: ajmexico)
(Kép: Zenith Z-19 "buta" terminál, hitel: ajmexico)

Annak érdekében, hogy ez működjön, az egyéni felhasználóknak rendelkezniük kell fiókokkal. Szükség van egy résszel ellátott raktárterületre, és engedélyezni kell parancsok és programok futtatását. Mindenki külön "felhasználói jogosultságot" kap, amely diktálja, mit tud és mit nem tehet, ahol a rendszeren van, és nincs hozzáférése, és mely fájlokat tudja és nem módosíthatja. Minden egyes felhasználó különféle csoportokba kerül, amelyek engedélyezik vagy korlátozzák a további hozzáférést.

Fájl elérése

Ebben a szokatlan többfelhasználós világban már határokat határoztunk meg arról, hogy mit tehetünk a felhasználók. De mi van a hozzáféréssel? Nos, minden fájl rendelkezik jogosultságokkal és tulajdonossal. A tulajdonos kijelölése, amely általában a fájl létrehozásakor kötődik, kijelenti, hogy melyik felhasználóhoz tartozik, és csak ez a felhasználó módosíthatja hozzáférési jogosultságait.
Ebben a szokatlan többfelhasználós világban már határokat határoztunk meg arról, hogy mit tehetünk a felhasználók. De mi van a hozzáféréssel? Nos, minden fájl rendelkezik jogosultságokkal és tulajdonossal. A tulajdonos kijelölése, amely általában a fájl létrehozásakor kötődik, kijelenti, hogy melyik felhasználóhoz tartozik, és csak ez a felhasználó módosíthatja hozzáférési jogosultságait.

A Linux világában a jogosultságok három kategóriába sorolhatók: olvasásra, írásra és végrehajtásra. Az "Olvasás" hozzáférés lehetővé teszi, hogy megtekinthesse a fájl tartalmát, a "write" hozzáférést lehetővé tegye egy fájl tartalmának módosítását, és a "végrehajtás" lehetővé teszi, hogy egy utasításkészletet, például szkriptet vagy programot futtasson. E kategóriák mindegyikét különböző osztályokra alkalmazzák: felhasználó, csoport és világ. "Felhasználó": a tulajdonos, a "csoport" minden olyan felhasználót jelent, aki ugyanabban a csoportban van, mint a tulajdonos, és a "világ" azt jelenti, hogy bárki és mindenki.

A mappák ezen jogosultságokkal is korlátozhatók. Például lehetővé teheti a csoportjában levő többi személy számára, hogy megtekinthesse a saját mappájában lévő könyvtárakat és fájlokat, de senki sem a csoporton kívül. Valószínűleg korlátozni szeretnéd a "write" hozzáférést csak magadhoz, hacsak nem dolgozol egy közös projekten. Hozzon létre egy megosztott könyvtárat, amely lehetővé teszi, hogy bárki megtekintheti és módosíthassa a mappában található fájlokat.
A mappák ezen jogosultságokkal is korlátozhatók. Például lehetővé teheti a csoportjában levő többi személy számára, hogy megtekinthesse a saját mappájában lévő könyvtárakat és fájlokat, de senki sem a csoporton kívül. Valószínűleg korlátozni szeretnéd a "write" hozzáférést csak magadhoz, hacsak nem dolgozol egy közös projekten. Hozzon létre egy megosztott könyvtárat, amely lehetővé teszi, hogy bárki megtekintheti és módosíthassa a mappában található fájlokat.

Az Ubuntu jogosultságainak módosítása

GUI

Az Ubuntu-ban lévő fájl engedélyeinek módosításához kattintson jobb gombbal a fájlra, és menjen a "Tulajdonságok" menüponthoz.

Megváltoztathatja, hogy a Tulajdonos, a Csoport vagy más személyek képesek-e olvasni és írni, olvasni vagy semmit sem tenni. Jelölje be a jelölőnégyzetet is, hogy engedélyezze a fájl végrehajtását, ez pedig lehetővé teszi a tulajdonos, csoport és egyebek egyidejű használatát.
Megváltoztathatja, hogy a Tulajdonos, a Csoport vagy más személyek képesek-e olvasni és írni, olvasni vagy semmit sem tenni. Jelölje be a jelölőnégyzetet is, hogy engedélyezze a fájl végrehajtását, ez pedig lehetővé teszi a tulajdonos, csoport és egyebek egyidejű használatát.

Parancs sor

Ezt a parancssor segítségével is elvégezheti. Menjen egy olyan könyvtárba, amelyen benne vannak fájlok, és írja be a következő parancsot a lista összes fájljának megtekintéséhez:

ls -al

Az egyes fájlok és könyvtárak mellett egy speciális szakasz jelenik meg, amely körvonalazza az engedélyeket. Ez így néz ki:
Az egyes fájlok és könyvtárak mellett egy speciális szakasz jelenik meg, amely körvonalazza az engedélyeket. Ez így néz ki:

-rwxrw-r–

A r jelentése "olvasni" w jelentése a "write", és a x a "végrehajtható" kifejezés. A könyvtárak a "-" helyett "d" jelzéssel kezdődnek. Azt is észre fogod venni, hogy 10 hely van, amelyek értéket tartanak. Elfelejtheti az elsőt, majd 3 készlet van. Az első készlet a tulajdonos, a második csoport a csoporthoz tartozik, és az utolsó készlet a világ számára.

A fájl vagy a könyvtár jogosultságainak megváltoztatásához nézzük meg a chmod parancs alapformáját.

chmod [class][operator][permission] file

chmod [ugoa][+ or –] [rwx] file

Ez kezdetben bonyolultnak tűnhet, de bízz bennem, nagyon egyszerű. Először nézzük meg az osztályokat:

  • u: Ez a tulajdonos.
  • g: Ez a csoporthoz tartozik.
  • o: Ez mindenki számára.
  • a: Ez megváltoztatja az összes fenti engedélyeket.

Ezután az üzemeltetők:

  • +: A pluszjel hozzáadja a következő engedélyeket.
  • -: A mínusz jel eltávolítja a következő engedélyeket.

Maradj velem? És az utolsó rész ugyanaz, mint amikor ellenőrizzük a fájl engedélyeit:

  • r: Lehetővé teszi az olvasási hozzáférést.
  • w: Lehetővé teszi az íráshoz való hozzáférést.
  • x: Lehetővé teszi a végrehajtást.

Most összegyűjtsük. Tegyük fel, hogy van egy "todo.txt" nevű fájl, amely a következő jogosultságokkal rendelkezik:

-rw-rw-r–

Vagyis a tulajdonos és a csoport képes olvasni és írni, és a világ csak olvasható. Szeretnénk megváltoztatni ezeket a jogosultságokat:

-rwxr-–

Vagyis a tulajdonos teljes jogosultságokkal rendelkezik, és a csoport olvasható. Ezt három lépésből tehetjük meg. Először hozzáadjuk a felhasználó számára a végrehajtási engedélyt.

chmod u+x todo.txt

Ezután eltávolítjuk a csoporthoz tartozó írásbeli engedélyt.

chmod g-w todo.txt

Végül eltávolítjuk a többi felhasználó olvasási engedélyeit.

chmod o-r todo.txt

Ezek kombinálhatók egy parancsra, így:

chmod u+x,g-w,o-r todo.txt

Láthatja, hogy minden egyes rész vesszővel van elválasztva, és nincs szóköz.
Láthatja, hogy minden egyes rész vesszővel van elválasztva, és nincs szóköz.

Íme néhány hasznos engedély:

  • -rwxr-xr-x: A tulajdonos teljes jogosultságokkal rendelkezik, a csoportok és más felhasználók olvashatják a fájl tartalmát és végrehajtják.
  • -rwxr-r-: A tulajdonos teljes jogosultságokkal rendelkezik, a csoportok és más felhasználók csak fájlokat olvashatnak (hasznos, ha nem bánja, hogy a fájlokat megtekintő másokat megnézzenek.
  • -rwx--: Tulajdonos teljes jogosultsággal rendelkezik, minden más nincs (hasznos a személyes szkriptekhez).
  • -rw-rw--: A tulajdonos és a csoport képes olvasni és írni (hasznos a csoporttagokkal való együttműködéshez).
  • -rw-r-r-: A tulajdonos képes olvasni és írni, a csoportos és egyéb felhasználók csak fájlokat olvashatnak (hasznos személyes fájlok megosztására a megosztott hálózaton).
  • -rw ---: A tulajdonos tud olvasni és írni, minden más nincs (hasznos a személyes fájlok tárolására).

Van még néhány dolog, amit tehetsz a chmod-nal - mint a setuid és a setgid -, de egy kicsit mélyebbek, és a legtöbb felhasználónak tényleg nem kell ezeket használni.

A gyökér vagy szuperfelhasználó és a rendszerfájlok

Manapság nem mindig olyan rendszereket futtatunk, amelyek több felhasználóval rendelkeznek. Miért még mindig aggódnunk kell a jogosultságok miatt?
Manapság nem mindig olyan rendszereket futtatunk, amelyek több felhasználóval rendelkeznek. Miért még mindig aggódnunk kell a jogosultságok miatt?

Nos, a Unix és annak származékai - a Linux, az OS X többek között megkülönböztetik a felhasználók által működtetett dolgokat, a rendszergazda által működtetett dolgokat vagy az adminisztrátori jogosultságokat és a rendszer által működtetett dolgokat. Mint ilyenek, a rendszerhez szükséges dolgok adminisztrációs jogosultságokkal kell rendelkezniük, hogy megváltoztassák vagy hozzáférjenek. Így nem véletlenül zavarja meg.

Az Ubuntuban a rendszerfájlok módosításához használja a "sudo" vagy a "gksudo" parancsot, hogy egyenértékű legyen a rendszergazdai jogosultságokkal. Más disztribúcióknál a "root" vagy a "szuperfelhasználó" -ra vált, amely ténylegesen ugyanazt teszi, amíg ki nem jelentkezel.

Ne feledje, hogy mindkét esetben a fájlengedélyek megváltoztatása azt eredményezheti, hogy a programok nem működnek, a fájl tulajdonjogának szándékos megváltoztatása a root felhasználóhoz (a tulajdonos helyett), és a rendszer kevésbé biztonságosvá tétele (további engedélyek megadása révén). Mint ilyen, javasoljuk, hogy ne módosítsa a fájlok - különösen a rendszerfájlok - engedélyeit, hacsak nem szükséges, vagy tudod, hogy mit csinálsz.

Fájlengedélyek vannak érvényben annak érdekében, hogy alapvető biztonsági rendszert biztosítsanak a felhasználók között. Megtanulva, hogy működnek, segíthetnek az alapfelosztás létrehozásában egy többfelhasználós környezetben, megvédeni a "nyilvános" fájlokat, és megadhat egy nyomot arra vonatkozóan, hogy mikor történt valami rossz a rendszerfájl tulajdonjogával kapcsolatban.

Gondolod, egyszerűbbé teheted a dolgokat? Van korrekció? Szeretné emlékezni a régi időkről? Vessen egy kis szünetet és tegye bele a gondolatait a megjegyzésekbe.

Ajánlott: