a fájlrendszerek engedélyeket és attribútumokat használnak a rendszerfolyamatok által a fájlokkal és könyvtárakkal való interakció szintjének szabályozására.

figyelmeztetés: ha biztonsági célokra használják, az engedélyek és attribútumok csak a rendszerindított rendszerből indított támadások ellen védenek. A tárolt adatok védelme a támadóktól a géphez való fizikai hozzáféréssel, az adatok nyugalmi titkosítását is végre kell hajtani.,

megtekintési engedélyek

használja az ls parancs -l opcióját a könyvtár tartalmához beállított engedélyek (vagy fájlmód) megtekintéséhez, például:

 $ ls-l / path/to / directory

az első oszlop az, amire összpontosítanunk kell., Taking an example value of drwxrwxrwx+, the meaning of each character is explained in the following tables:

d rwx rwx rwx +
The file type, technically not part of its permissions. See info ls -n "What information is listed" for an explanation of the possible values., a tulajdonos által a fájl felett megadott engedélyek, az alábbiakban ismertetjük. a csoport által a fájl felett megadott engedélyek, az alábbiakban ismertetjük. az összes többi felhasználó által a fájl felett megadott engedélyek, az alábbiakban ismertetjük. egyetlen karakter, amely meghatározza, hogy egy Alternatív hozzáférési módszer vonatkozik-e a fájlra. Ha ez a karakter egy szóköz, nincs Alternatív hozzáférési módszer. A . karakter egy biztonsági kontextusú fájlt jelez, de nincs más Alternatív hozzáférési módszer., Az Alternatív hozzáférési módszerek bármely más kombinációjával rendelkező fájlt + karakter jelöli, például hozzáférés-vezérlési listák esetén.,

mind a három engedélyt triád (rwx a fenti példában) lehet a következő karaktereket:

Karakter Hatással fájlok Hatása a könyvtárak
Olvassa el engedélyt (az első karakter) - A fájl nem olvasható., a könyvtár tartalma nem jeleníthető meg.
r a fájl olvasható. a könyvtár tartalma látható.
write permission (second character) - a fájl nem módosítható. a könyvtár tartalma nem módosítható.
w a fájl módosítható., a könyvtár tartalma módosítható (új fájlok vagy mappák létrehozása; meglévő fájlok vagy mappák átnevezése vagy törlése); megköveteli a végrehajtás engedélyének beállítását is, különben ennek az engedélynek nincs hatása.
Execute permission (third character) - a fájl nem hajtható végre. a könyvtár nem érhető el cd-vel.
x a fájl végrehajtható., A könyvtár elérhető cd; ez az egyetlen engedélyt kicsit, hogy a gyakorlatban tekinthető “örökölte” az őse, könyvtárak, sőt, ha minden mappát, az utat nem rendelkezik a x bit készlet, a végső fájl vagy mappa nem lesz elérhető sem, függetlenül attól, hogy a engedélyekkel; lásd path_resolution(7) a további információkért.,
s a setuid bit, amikor a felhasználói triádban található; a setgid bit, amikor a csoport triádban található; ez nem található a többi triadban; azt is jelenti, hogy x be van állítva.
S ugyanaz, mint a s, de x nincs beállítva; ritka a normál akták, és használhatatlanok a mappákban.,
t The sticky bit; it can only be found in the others triad; it also implies that x is set.
T Same as t, but x is not set; rare on regular files, and useless on folders.

See info Coreutils -n "Mode Structure" and chmod(1) for more details.,

tipp: az engedélyeket a namei -l pathútvonalon tekintheti meg.

példák

nézzünk néhány példát a tisztázáshoz:

drwx------ 6 archie users 4096 Jul 5 17:37 Documents

Archie teljes hozzáféréssel rendelkezik a dokumentumok könyvtárához. Listázhat, fájlokat hozhat létre, átnevezhet, törölhet bármilyen fájlt a Dokumentumokban, függetlenül a fájl engedélyeitől. A fájlhoz való hozzáférés képessége a fájl engedélyétől függ.

dr-x------ 6 archie users 4096 Jul 5 17:37 Documents

Archie teljes hozzáféréssel rendelkezik, kivéve, hogy nem tud létrehozni, átnevezni, törölni egy fájlt., Felsorolhatja a fájlokat, és (ha a fájl engedélye felhatalmazza) hozzáférhet egy meglévő fájlhoz a Dokumentumokban.

d-wx------ 6 archie users 4096 Jul 5 17:37 Documents

Archie nem tudja megtenni az ” ls ” – t a Dokumentumokban, de ha ismeri egy meglévő fájl nevét, akkor felsorolhatja, átnevezheti, törölheti vagy (ha a fájl engedélye felhatalmazza őt) elérheti azt. Emellett képes új fájlokat létrehozni.

d--x------ 6 archie users 4096 Jul 5 17:37 Documents

Archie csak akkor képes hozzáférni azokhoz a fájlokhoz, amelyekről tud. Nem tudja felsorolni a már meglévő fájlokat,vagy létrehozni, átnevezni, törölni őket.,

ne feledje, hogy a könyvtári engedélyeket kidolgozzuk, ennek semmi köze az egyes fájlengedélyekhez. Új fájl létrehozásakor a könyvtár változik. Ezért kell írási engedélyt a könyvtárba.

nézzünk meg egy másik példát, ezúttal egy fájl, nem egy könyvtár:

-rw-r--r-- 1 archie users 5120 Jun 27 08:28 foobar

itt láthatjuk az első betű nem d de -. Tehát tudjuk, hogy ez egy fájl, nem Könyvtár., Ezután a tulajdonos jogosultságai: rw-, így a tulajdonos képes írni-olvasni, de nem végrehajtani. Ez furcsának tűnhet, hogy a tulajdonos nem rendelkezik mind a három jogosultsággal,de a x engedélyre nincs szükség, mivel ez egy szöveg / adatfájl, amelyet egy szövegszerkesztő, például Gedit, EMACS vagy olyan szoftver, mint az R, és nem egy futtatható fájl a saját jogán (ha tartalmazott valamit, mint a python programozási kód, akkor nagyon jól lehet)., A csoport engedélyei r-- értékre vannak állítva, így a csoport képes olvasni a fájlt, de semmilyen módon nem írhatja/szerkesztheti-lényegében olyan, mintha valamit csak olvasásra állítana. Láthatjuk, hogy ugyanazok az engedélyek vonatkoznak mindenki másra is.

Engedélyek módosítása

A chmod egy parancs Linux és más Unix-szerű operációs rendszerekben, amely lehetővé teszi egy fájl vagy könyvtár engedélyeinek (vagy hozzáférési módjának) megváltoztatását.

Szövegmódszer

a fájl engedélyeinek — vagy hozzáférési módjának-megváltoztatásához használja a chmod parancsot egy terminálon., Az alábbiakban a parancs általános szerkezete:

chmod who=permissions filename

ahol who bármilyen betűtartományból, mindegyik jelzi, hogy ki kap engedélyt. Ezek a következők:

  • u: a fájl tulajdonosa.
  • g: A felhasználói csoport, amelyhez a fájl tartozik.
  • o: a többi felhasználó, azaz mindenki más.
  • a: A fentiek mindegyike; használja ezt a ugo gépelés helyett.,

az engedélyek ugyanazok, mint a #megtekintési jogosultságok (r, w és x).

most nézd meg néhány példát ezzel a paranccsal., Tegyük fel, hogy lett nagyon vigyáz a Dokumentumok könyvtár, valamint azt akartam, hogy mindenki tagadja, de magad, engedélyek olvasni, írni, aztán végre (vagy ebben az esetben a keresés/megjelenés) benne:

Előtt: drwxr-xr-x 6 archie users 4096 Jul 5 17:37 Documents

$ chmod g= Documents$ chmod o= Documents

Után: drwx------ 6 archie users 4096 Jul 6 17:32 Documents

Itt mert nem akarja tagadni, hogy az engedélyek nem tesz semmilyen levelet után a =, ahol az engedélyek lenne lépett. Most már láthatja, hogy csak a tulajdonos jogosultságai rwx, az összes többi engedély pedig -.,

Ez lehet visszatért a:

Előtt: drwx------ 6 archie users 4096 Jul 6 17:32 Documents

$ chmod g=rx Documents$ chmod o=rx Documents

Után: drwxr-xr-x 6 archie users 4096 Jul 6 17:32 Documents

a következő példa, hogy teljesíteni akarja olvasni végre engedélyeket a csoport, illetve más felhasználók, így a leveleket a jogosultságokat (r vagy x) után a =, szóköz nélkül.

egyszerűsítheti ezt, hogy egynél több who betűt tegyen ugyanabba a parancsba, e.,g:

$ chmod go=rx Documents
Megjegyzés: Nem számít, hogy a who betűket vagy engedélyleveleket a chmod parancs: lehet chmod go=rx file vagy chmod og=xr file. Ez mind ugyanaz.,ider egy másik példát: tegyük fel, hogy meg szeretné változtatni egy foobar fájlt úgy, hogy írni-olvasni engedélyek, valamint a fickó, hogy a felhasználók a csoport users ki lehet kollégák dolgoznak foobar, lehet, írni-olvasni is, de a többi felhasználó számára csak akkor olvassa el, hogy:

Előtt: -rw-r--r-- 1 archie users 5120 Jun 27 08:28 foobar

$ chmod g=rw foobar

Után: -rw-rw-r-- 1 archie users 5120 Jun 27 08:28 foobar

Ez pontosan olyan, mint az első példában, de egy fájl, nem egy könyvtárat, illetve adja meg írni engedély (csak, hogy egy példát nyújtott minden engedélyt).,

Text method shortcuts

A chmod parancs lehetővé teszi, hogy a + vagy - helyett =. Ez különbözik a fenti parancsoktól, amelyek lényegében újraírják az engedélyeket (például a r-- rw- engedélyének megváltoztatásához még mindig tartalmaznia kell a r, valamint a w a = A chmod parancshívásban., Ha kimaradt a r, akkor elveszi a r engedélyt, mivel újraírják őket a =. A + és - használata ezt az aktuális jogosultságok hozzáadásával vagy eltávolításával elkerüli).,>Előtt: -rw-rw-r-- 1 archie users 5120 Jun 27 08:28 foobar

$ chmod a-w foobar

Után: -r--r--r-- 1 archie users 5120 Jun 27 08:28 foobar

A különböző parancsikon a különleges X mód: ez nem egy konkrét fájlt mód, de gyakran használják együtt a -R lehetőség, hogy a végrehajtható kicsit csak a könyvtárak, hagyja változatlan, a szokásos fájlok, például:

$ chmod -R a+rX ./data/

Másolás engedélyek

Azt lehet mondani, chmod másolni az engedélyek egyik osztályból, azt mondja, a tulajdonos, illetve adja ugyanazokat a jogosultságokat, hogy a csoport vagy akár az összes., Ehhez a r, w, vagy x a = után tegyen egy másik who levelet. E.g:

előtt: -rw-r--r-- 1 archie users 5120 Jun 27 08:28 foobar

$ chmod g=u foobar

után: -rw-rw-r-- 1 archie users 5120 Jun 27 08:28 foobar

Ez a parancs lényegében azt jelenti, hogy “módosítsa a csoport engedélyeit (g=/div>), hogy ugyanaz legyen, mint a tulajdonos felhasználó (=u). Vegye figyelembe, hogy nem másolhat egy sor engedélyt, valamint újakat adhat meg, például,:

$ chmod g=wu foobar

ebben az esetben a chmod hibát dob.

numerikus módszer

A chmod engedélyeket is beállíthat számokkal.

a számok használata egy másik módszer, amely lehetővé teszi mind a három tulajdonos, csoport és mások engedélyeinek szerkesztését egyszerre, valamint a setuid, setgid és sticky bitek szerkesztését. A kód alapvető szerkezete a következő:

$ chmod xxx filename

ahol xxx egy 3 számjegyű szám, ahol minden számjegy bármi lehet 0-tól 7-ig., Az első számjegy a tulajdonos engedélyeire vonatkozik, a második számjegy a csoport engedélyeire vonatkozik, a harmadik számjegy pedig az összes többi engedélyére vonatkozik.

ebben a számjelölésben a r, w, és x saját számértékük van:

r=4w=2x=1

számjegy száma meg kell vizsgálni, hogy milyen engedélyeket szeretne tulajdonos, csoport, és az összes többi, hogy, majd a teljes értéküket fel., akarsz csoport, mindenki más csak olvasni végre engedélyeket, akkor a numerikus értékek, mint így:

  • Tulajdonos: rwx=4+2+1=7
  • Csoport: r-x=4+0+1=5
  • Egyéb: r-x=4+0+1=5
$ chmod 755 filename

Ez az összeg a használata a következő:

$ chmod u=rwx filename$ chmod go=rx filename

megtekintéséhez a meglévő engedélyeket egy fájl vagy könyvtár numerikus formában, használja a stat(1) parancs:

$ stat -c %a filename

Amennyiben a % – os opció megadja a kimeneti numerikus formában.,

a Legtöbb mappák, könyvtárak vannak beállítva, hogy a 755, hogy lehetővé teszik, olvasás, írás, végrehajtás, hogy a tulajdonos, de tagadja, írás, hogy mindenki más, de a fájlok általában 644, hogy lehetővé teszik, írás-olvasás, a tulajdonos, de csak olvasva mindenki más számára; olvassa el az utolsó megjegyzés a hiánya x jogosultságok a nem végrehajtható fájlokat: ez ugyanaz a dolog.,

látni, Hogy ez az intézkedés a példa tekintsük az előző példa, hogy a már használt, de ezzel a numerikus módszer alkalmazása helyett:

Előtt: -rw-r--r-- 1 archie users 5120 Jun 27 08:28 foobar

$ chmod 664 foobar

Után: -rw-rw-r-- 1 archie users 5120 Jun 27 08:28 foobar

Ha ez egy futtatható a szám 774 ha azt akartam, hogy grant futtatható engedélyt, hogy a tulajdonos, illetve a csoport. Alternatív megoldásként, ha azt akarja, hogy mindenki csak olvasási engedéllyel rendelkezzen, a szám 444lenne., Kezeli r mint 4, w mint 2 x, mint 1 talán a legegyszerűbb módja annak, hogy működik a numerikus értékek a chmod xxx filename, de van is egy bináris módszer, ahol minden engedélyt egy bináris számot, akkor viszont számmá alakít át. Ez egy kicsit bonyolultabb, de itt szerepel a teljesség.,

Fontolja meg ezt a jogosultságot beállítani:

-rwxr-xr--

Ha egy 1 alatt minden engedélyt, valamint a 0 minden, aki nem biztosított, az eredmény valami ilyesmi:

-rwxrwxr-x 111111101

lehet majd átalakítani, ezek a bináris számok:

000=0 100=4001=1 101=5010=2 110=6011=3 111=7

az érték A fenti lenne tehát 775.

Fontolja meg akartuk, hogy távolítsa el az írható engedélye csoport:

-rwxr-xr-x 111101101

Az érték lenne tehát 755 akkor használjuk a chmod 755 filename, hogy távolítsa el az írható engedélyt., Észre fogja venni, hogy ugyanazt a háromjegyű számot kapja, függetlenül attól, hogy melyik módszert használja. Függetlenül attól, hogy szöveget vagy számokat használ, a személyes preferenciától és a gépelési sebességtől függ. Ha vissza szeretne állítani egy könyvtárat vagy fájlt az alapértelmezett engedélyekre, például olvasni és írni (és végrehajtani) engedélyt a tulajdonosnak, de megtagadja az írási engedélyt mindenki másnak, gyorsabb lehet a chmod 755/644 filenamehasználata. Ha azonban az engedélyeket valami normán kívülre változtatja, akkor egyszerűbb és gyorsabb lehet a szöveges módszer használata, szemben a számokká való konvertálással, ami hibához vezethet., Meg lehet vitatni, hogy nincs valódi jelentős különbség a sebesség egyik módszer a felhasználó számára, hogy csak akkor kell használni chmod alkalmanként.

a numerikus módszerrel a setuid, setgid, és sticky biteket négy számjegyből állíthatja be.

setuid=4setgid=2sticky=1

például chmod 2777 filename mindenki számára beállítja az olvasási/írási / végrehajtható biteket, valamint engedélyezi a setgid bitet.

tömeges chmod

általában a könyvtárak és fájlok nem rendelkezhetnek azonos jogosultságokkal., Ha szükség van egy könyvtárfa tömeges módosítására, használja a find-et az egyik vagy a másik szelektív módosításához.

To chmod only könyvtárak to 755:

$ find directory -type d -exec chmod 755 {} +

to chmod only files to 644:

$ find directory -type f -exec chmod 644 {} +

tulajdonosváltás

chown megváltoztatja a tulajdonos egy fájl vagy könyvtár, ami gyorsabb és könnyebb, mint megváltoztatni a jogosultságokat bizonyos esetekben.

Tekintsük a következő példát, hogy egy új partíciót GParted biztonsági adatok. A Gparted mindezt gyökérként teszi, így minden alapértelmezés szerint a root-hoz tartozik., Ez mind jó, mind jó, de amikor adatokat írunk a szerelt partícióra, az engedélyt megtagadják a rendszeres felhasználók számára.

brw-rw---- 1 root disk 8, 9 Jul 6 16:02 sda9drwxr-xr-x 5 root root 4096 Jul 6 16:01 Backup

mint látható a készülék /dev tulajdonosa root, mint a mount location (/media/Backup)., A csatolási hely tulajdonosának megváltoztatásához a következőket teheti:

előtt: drwxr-xr-x 5 root root 4096 Jul 6 16:01 Backup

# chown archie /media/Backup

után: drwxr-xr-x 5 archie root 4096 Jul 6 16:01 Backup

most a partíciónak az új tulajdonos, archie által írt adatai lehetnek, anélkül, hogy megváltoztatná a csatolási helyet engedélyek (mint a tulajdonos Triad már rwx engedélyek).

Megjegyzés:

  • chown mindig törli a setuid és setgid biteket.
  • a nem root felhasználók nem használhatják a chown fájlokat egy másik felhasználó számára.,

Access Control Lists

Access Control Lists egy további, rugalmasabb engedélyezési mechanizmus fájlrendszerek lehetővé téve, hogy engedélyeket bármely Felhasználó vagy csoport bármely fájl.

Umask

az umask segédprogram a fájlkészítési mód maszk vezérlésére szolgál, amely meghatározza az újonnan létrehozott fájlok fájlengedély-bitjeinek kezdeti értékét.,

fájl attribútumok

eltekintve a fájl mód bitek, amelyek szabályozzák a felhasználó és a csoport olvasási, írási és végrehajtási engedélyeket, több fájlrendszer támogatja a fájl attribútumokat, amelyek lehetővé teszik a további testreszabását megengedhető fájlműveletek. Ez a szakasz néhány ilyen tulajdonságot, valamint azt írja le, hogyan kell velük dolgozni.

figyelmeztetés: alapértelmezés szerint a fájl attribútumokat a CP, rsync és más hasonló programok nem őrzik meg.,

chattr és lsattr

az ext2 és ext3 fájlrendszerek esetében az e2fsprogs csomag tartalmazza az lsattr és chattr programokat, amelyek felsorolják és megváltoztatják a fájl attribútumait.,/li>

  • u: törölhetetlen
  • A: nem atime frissítések
  • C: nem értettem, hogy írni
  • D: szinkron könyvtár frissítések
  • S: szinkron frissítések
  • T: top a címtár-hierarchia
  • például, ha azt szeretné, hogy állítsa be a megváltoztathatatlan kicsit néhány fájlt használja a következő parancsot:

    # chattr +i /path/to/file

    Ha el szeretne távolítani egy attribútum egy fájlt, csak a változás +, hogy a -.,

    Extended attributes

    From xattr(7): “Extended attributes are name:value pairs associated permanently with files and directories”. Négy kiterjesztett attribútumosztály létezik: Biztonság, Rendszer, megbízható és felhasználó.

    figyelmeztetés: alapértelmezés szerint a kiterjesztett attribútumokat a CP, rsync és más hasonló programok nem őrzik meg, lásd: #a kiterjesztett attribútumok megőrzése.

    kiterjesztett attribútumokat is használnak a képességek beállításához.

    felhasználói kiterjesztett attribútumok

    A felhasználói kiterjesztett attribútumok tetszőleges információk tárolására használhatók egy fájlról., To create one:

    $ setfattr -n user.checksum -v "3baf9ebce4c664ca8d9e5f6314fb47fb" foo.txt

    Use getfattr to display extended attributes:

    $ getfattr -d foo.txt
    # file: foo.txtuser.,3de557528">
    --preserve=mode,ownership,timestamps,xattr mv preserves by default1 tar --xattrs for creation and extraction bsdtar -p for extraction rsync --xattrs
    1. mv silently discards extended attributes when the target file system does not support them.,

    a bővített attribútumok szövegszerkesztőkkel való megőrzéséhez konfigurálnia kell őket a fájlok mentése helyett az Átnevezés(2) használata helyett.

    tippek és trükkök

    gyökér megőrzése

    használja a --preserve-root zászlót, hogy megakadályozza a chmod rekurzív hatását a/. Ez például megakadályozhatja, hogy az egyik eltávolítsa a futtatható bitet rendszerszéles, így megtörve a rendszert. Ha ezt a zászlót minden alkalommal használni szeretné, Állítsa be egy álnéven belül. Lásd még .,

    Lásd még:

    • wikipedia:Chattr
    • Linux File Permission Confusion
    • Linux File Permission Confusion Part 2
    • wikipedia: Extended file attribútumok#Linux

    • kiterjesztett attribútumok: a jó, a nem olyan jó, a rossz.
    • Backup and restore file permissions in Linux
    • miért romboló a” chmod-R 777/”?

    Vélemény, hozzászólás?

    Az email címet nem tesszük közzé. A kötelező mezőket * karakterrel jelöltük