Android

Umask parancs a linuxban

Umask Linux Pro

Umask Linux Pro

Tartalomjegyzék:

Anonim

Linux és Unix operációs rendszereken az összes új fájlt alapértelmezett engedélykészlettel hozzák létre. Az umask segédprogram lehetővé teszi a fájlmód létrehozási maszk megtekintését vagy beállítását, amely meghatározza az újonnan létrehozott fájlok vagy könyvtárak engedélyezési biteit.

Az mkdir, touch, tee és más parancsok használják, amelyek új fájlokat és könyvtárakat hoznak létre.

Linux engedélyek

Mielőtt továbbmennénk, röviden ismertesse a Linux engedélyek modelljét.

Linuxban minden fájl társítva van egy tulajdonoshoz és egy csoporthoz, és engedély hozzáférési jogokkal rendelkezik három különböző felhasználói osztályra:

  • a fájltulajdonos. a csoport tagjai.mások.

Három engedélytípus vonatkozik minden osztályra:

  • az olvasási engedély.az írásbeli engedély.a végrehajtási engedély.

Ez a koncepció lehetővé teszi annak meghatározását, hogy mely felhasználók használhatják a fájlt, olvassa el a fájlt vagy futtathatja azt.

A fájljogosultságok megtekintéséhez használja az ls parancsot:

ls -l dirname

drwxr-xr-x 12 linuxize users 4.0K Apr 8 20:51 dirname | | | | | | | | | | | | +-----------> Group | | | | +-------------------> Owner | | | +----------------------------> Others Permissions | | +-------------------------------> Group Permissions | +----------------------------------> Owner Permissions +------------------------------------> File Type

Az első karakter azt a fájltípust jelöli, amely lehet szokásos fájl ( - ), könyvtár ( d ), szimbolikus link ( l ) vagy bármilyen más speciális fájltípus.

A következő kilenc karakter az engedélyeket képviseli, mindegyik három, három karakterből álló sorozatot. Az első halmaz a tulajdonos engedélyét mutatja, a második csoportos engedélyt, az utolsó halmaz pedig mindenki más engedélyét mutatja.

A 4 oktális értékű r karakter az olvasást jelenti, w az oktális érték 2 az íráshoz, x az oktálértékkel 1 az engedély végrehajtásához és ( - ) 0 oktálértékkel, ha nincs engedély.

Három további speciális fájljogosultságtípus létezik: setuid , setgid és Sticky Bit .

A fenti példában ( rwxr-xr-x ) azt jelenti, hogy a tulajdonos engedélyeket olvasott, írt és végrehajtott ( rwx ), a csoport és mások engedélyeket olvastak és hajtottak végre.

Ha a fájljogokat numerikus jelöléssel ábrázoljuk, akkor a 755 számot fogjuk elérni:

  • Tulajdonos: rwx = 4+2+1 = 7 Csoport: rx = 4+0+1 = 5 Egyéb: rx = 4+0+1 = 5

Ha numerikus ábrázolásban szerepel, akkor az engedélyeknek három vagy négy oktális számjegy lehet (0-7). Az első számjegy a speciális engedélyeket jelöli, és ha kihagyják, akkor a fájlban nincs megadva különleges engedély. Esetünkben a 755 ugyanaz, mint a 0755 . Az első számjegy kombinációja lehet 4 a setuid , a 2 a setgid és az 1 a Sticky Bit .

A fájljogosultságok megváltoztathatók a chmod paranccsal és a tulajdonjoggal a chown paranccsal.

Az umask megértése

Alapértelmezés szerint Linux rendszereken az alapértelmezett létrehozási engedélyek 666 fájloknál, ami olvasási és írási engedélyt ad a felhasználónak, csoportnak és másoknak, és 777 könyvtáraknak, ami azt jelenti, hogy olvasási, írási és végrehajtási engedélyt adhat a felhasználó, csoport és mások. A Linux nem engedélyezi a fájl létrehozását végrehajtási engedélyekkel.

Az alapértelmezett létrehozási engedélyek az umask segédprogrammal módosíthatók.

umask csak az aktuális héjkörnyezetet érinti. A legtöbb Linux disztribúciónál az alapértelmezett rendszerszintű umask értéket a pam_umask.so vagy az /etc/profile fájlban pam_umask.so be.

Az aktuális maszk értékének megtekintéséhez egyszerűen írja be az umask argumentum nélkül:

umask

A kimenet tartalmazza a

022

Az umask érték tartalmazza az engedély biteket, amelyeket NEM állíthat be az újonnan létrehozott fájlokon és könyvtárakon.

Mint már említettük, a fájlok alapértelmezett létrehozási engedélyei a 666 , a 777 könyvtárak. Az új fájlok engedélybiteinek kiszámításához vonjuk le az umask értéket az alapértelmezett értékből.

Például annak kiszámításához, hogy a uname 022 hogyan befolyásolja az újonnan létrehozott fájlokat és könyvtárakat:

  • Fájlok: 666 - 022 = 644 . A tulajdonos el tudja olvasni és módosíthatja a fájlokat. A csoport és mások csak a fájlokat tudják olvasni.Direktóriumok: 777 - 022 = 755 A tulajdonos beírhatja a könyvtárat a CD-be, és felsorolhatja, megváltoztathatja, létrehozhatja vagy törölheti a könyvtárban található fájlokat. A Csoport és mások bekerülhetnek a könyvtárba, felsorolhatják és elolvashatják a fájlokat.

A maszk értékét szimbolikus ábrázolásban is megjelenítheti az -S opcióval:

umask -S

u=rwx, g=rx, o=rx

A numerikus jelöléssel ellentétben a szimbolikus jelölés értéke tartalmazza az engedély biteket, amelyeket az újonnan létrehozott fájlokon és könyvtárakon beállítunk.

A maszk értékének beállítása

A fájlkészítő maszk oktális vagy szimbolikus jelöléssel állítható be. A változtatások állandóvá tételéhez állítsa be az új umask értéket egy olyan globális konfigurációs fájlban, mint például az /etc/profile fájl, amely hatással lesz az összes felhasználóra, vagy a felhasználó shell konfigurációs fájljaiban, például ~/.profile , ~/.bashrc vagy ~/.zshrc amelyek csak a felhasználót érinti. A felhasználói fájlok elsőbbséget élveznek a globális fájlokkal szemben.

Az umask érték módosítása előtt ellenőrizze, hogy az új érték nem jelent-e potenciális biztonsági kockázatot. A 022 nél kevésbé korlátozó értékeket nagyon óvatosan kell használni. Például az umask 000 azt jelenti, hogy bárki elolvassa, írja és végrehajtja az új újonnan létrehozott fájlok engedélyét.

Tegyük fel, hogy szigorúbb engedélyeket akarunk beállítani az újonnan létrehozott fájlok és könyvtárak számára, hogy mások ne tudják a cd t a könyvtárakba beolvasni és a fájlokat olvasni. A kívánt engedélyek: könyvtárakhoz 750 , fájlokhoz pedig 640 .

Az umask érték kiszámításához egyszerűen vonja le a kívánt engedélyeket az alapértelmezettől:

Umask-érték: 777-750 = 027

A numerikus ábrázolásban ábrázolt kívánt umask érték 027 .

Az új érték egész rendszerre történő végleges beállításához nyissa meg az /etc/profile fájlt a szövegszerkesztővel:

sudo nano /etc/profile

és módosítsa vagy adja hozzá a következő sort a fájl elejére:

/ Etc / profile

umask 027

A módosítások érvénybe lépéséhez futtassa a következő source vagy kijelentkezést, és jelentkezzen be:

source /etc/profile

Az új beállítások ellenőrzéséhez létrehozunk egy új fájlt és könyvtárat az mkdir használatával és touch :

mkdir newdir touch newfile

drwxr-x--- 2 linuxize users 4096 Jul 4 18:14 newdir -rw-r----- 1 linuxize users 0 Jul 4 18:14 newfile

A fájlkészítő maszk beállításának másik módja a szimbolikus jelölés használata. Például umask u=rwx, g=rx, o= megegyezik az umask 027 .

Következtetés

Ebben az útmutatóban elmagyaráztuk a Linux engedélyeket és az umask parancs használatát az újonnan létrehozott fájlok vagy könyvtárak engedélyezési umask beállításához.

További információ: írja be az man umask terminálját.

umask terminál