4Jul

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

Ha Linuxot már régóta használ( és még az OS X-t is), akkor valószínűleg egy "jogosultság" hibára bukkan. 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)

Annak érdekében, hogy ez működjön, az egyéni felhasználóknak számlákra van szükségük. 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.

File Access

Ebben a szokatlan többfelhasználós világban már határoztunk meg, 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ához, és a "végrehajtás" lehetővé teszi egy utasítások készítését, például egy szkriptet vagy egy programot. 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.

Az Ubuntu jogosultságainak megváltoztatása

GUI

Az Ubuntu tulajdonában lévő fájl engedélyeinek módosításához kattintson a jobb egérgombbal a fájlra, és menjen a "Tulajdonságok" elemre.

Megváltoztathatja, hogy a Tulajdonos, Csoport vagy Egyebek képesek-e olvasni és írni,csak 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.

parancssori

Ezt a parancssor segítségével is elvégezheti. Lépjen egy olyan könyvtárba, amelyben van benne 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. Az

-rwxrw-r-

Az r jelentése "olvasni", az w jelentése "írni", és az x jelentése "végrehajtás". A könyvtárak "d "helyett" - ".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] [operátor] [engedély] fájl

chmod [ugoa] [+ vagy -] [rwx] fájl

Először bonyolultnak tűnhet, de bízzon bennem, ez elég egyszerű.Először nézzük meg az osztályokat:

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

Ezután az operátorok:

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

Még 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-

Ez 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 képes olvasni. 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

A parancsokat egy parancsra is lehet kombinálni:

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.

Néhány hasznos jogosultság:

  • -rwxr-xr-x: A tulajdonos teljes jogosultságokkal rendelkezik, a csoportok és más felhasználók a fájl tartalmát olvashatják és végrehajthatják.
  • -rwxr-r-: A tulajdonos teljes jogosultságokkal rendelkezik, a csoport és más felhasználók csak fájlokat olvashatnak( hasznos, ha nem bánod a fájlokat megtekintő többiekkel.)
  • -rwx--: Tulajdonos teljes jogosultsággal rendelkezik, minden más nincs( hasznos
  • -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, csoportos és más felhasználók csak
  • -rw ---: A tulajdonos tud olvasni és írni, a többi nem rendelkezik( hasznos a személyes fájlok tárolására)

Van néhány más dolog, amit tehetszchmod-szerű setuid és setgid - de egy kicsit mélyebbek és a legtöbb felhasználónak tényleg nem kell különösebben használni őket.

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

Napjainkban nem mindig működnek olyan rendszerek,van több felhasználó, miért még mindig aggódnunk az engedélyek 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 rendszergazdák által működtetett vagy adminisztrátori jogosultságokkal é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 a "sudo" vagy a "gksudo" parancsot kell használni ahhoz, hogy egyenértékű legyen az adminisztrátori 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 módosítása miatt a programok nem működhetnek, a fájl tulajdonjoga szándékosan megváltoztathatja a root felhasználókat( a tulajdonos helyett), és kevésbé biztonságosvá teszi a rendszert( 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.

A fájlengedélyek vannak a helyén, 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 a rendszerfájl-tulajdonjoggal kapcsolatban.

Gondolod, hogy könnyebben meg tudod magyarázni 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.