Kezdő Linux-felhasználóként megismerheti a fájlokhoz és könyvtárakhoz kapcsolódó engedélyeket és tulajdonjogokat. A Linux/Unix-szerű operációs rendszerek lehetővé teszik kilenc bites engedélyek kombinációjának beállítását, hogy megakadályozzák a többi felhasználó szükségtelen fájl-/könyvtár-hozzáférését. Ezekhez hasonlóak a végrehajtható fájlok speciális engedélyei, melyeket set UID, set GID és sticky bitek néven ismerünk.

A különleges engedélyek megértése kissé nehézkes lehet a törekvő Linux rendszergazdák számára. Itt megtudhat egy kis háttérinformációt a normál fájlengedélyekről, és elmagyarázza, hogyan különböznek a speciális engedélyektől. A SetID, GetID és a ragadós bitek funkcionalitását is bemutatjuk példákkal az átfogó megértés érdekében.

Normál Linux-fájlengedélyek

A Linux a chmod parancsot olvasás hozzárendelése/módosítása (r=4), ír (w=2), és végrehajtani (x=1) engedélyeket a fájlokhoz és mappákhoz. Ez azt jelenti, hogy a fent említett kilenc bit az engedélycsoportok három fő kategóriájára vonatkozik. Az első három a fájl tulajdonosa, a második a fájlhoz/könyvtárhoz rendelt csoporté, az utolsó három pedig az összes többi felhasználót jelöli.

instagram viewer

Például egy normál fájl minden típusú engedélyt tartalmaz minden felhasználókategóriához -rwxrwxrwx formában. Míg - a betűk helyett az engedély hiányát jelenti. Most chmod parancs számokat és betűket használ az engedélyek módosításához:

sudo chmod 755 fájl #for rwxr-xr-x 
sudo chmod 644 fájl #for rw-r--r-- 
sudo chmod a-w fájl #for r-xr-xr-x 
sudo chmod a+x fájl #for --x--x--x

Különleges Linux-fájlengedélyek

A setuid bit egy végrehajtható fájlra vonatkozó engedélyt jelöl, amelyet más felhasználók is futtathatnak a tulajdonos felhatalmazásával. Például amikor a felhasználó max felhasználóként futtatja a vi parancsot János, akkor rendelkezni fog az olvasási/írási jogosultságokkal János.

A fájlok setuid segítségével történő azonosításához használja a ls parancsoljon és keresse meg a s bitet a végrehajtható bit helyett x, alábbiak szerint.

Állítsa be az UID bitet

A setuid bit egy végrehajtható fájlra vonatkozó engedélyt jelöl, amelyet más felhasználók is futtathatnak a tulajdonos felhatalmazásával. Például amikor a felhasználó max futtatja a vi parancsot, mint a gyökér, olvasási/írási jogosultságai lesznek a gyökér. A fájlok setuid segítségével történő azonosításához használja a ls parancsoljon és keresse meg a s bit a végrehajtó bit helyett x, alábbiak szerint:

ls -la /etc/passwd 
-rwsr-xr-x 1 gyökér gyökér 88464 december 14. 12:46 passwd

Néhány további példa:

ls -la /bin/gpasswd
-rwsr-xr-x 1 gyökérgyökér 88464 július 14. 15:08 gpasswd
ls -la /bin/su
-rwsr-xr-x 1 gyökérgyökér 67816 2020. július 21. su
ls -la /newgrp
-rwsr-xr-x 1 gyökérgyökér 44784 július 14. 15:08 newgrp
ls -la /bin/sudo
-rwsr-xr-x 1 gyökérgyökér 166056 2021. január 19. sudo

A végrehajtható fájlok setuid bitjének beállításához használja a chmod parancsot az alábbiak szerint:

chmod u+s /etc/passwd

A fájlok végrehajtására vonatkozó engedély eltávolítása nem root felhasználóktól vagy tulajdonosoktól:

chmod u-s /etc/passwd

Állítsa be a GID bitet

Amint már említettük, a set uid bit szabályozza a többi felhasználó fájlhozzáférését, míg a setgid (GID) bit együttműködési könyvtárakat hoz létre. Ez azt jelenti, hogy a könyvtárban létrehozott bármely fájl elérhető a könyvtárcsoport számára. Ennélfogva lehetővé teszi, hogy a csoport minden tagja futtatható fájlokat futtasson a tulajdonos jogosultságai nélkül, és megvédi őket a többi felhasználótól.

Kövesse az alábbi lépéseket egy együttműködési címtár létrehozásához a Linux rendszerben:

Hozzon létre egy csoportot a groupadd parancs 415-ös csoportazonosítóval az együttműködéshez:

groupadd -g 415 admin

Használja a usermod parancsot a hozzáadáshoz Jánosa csoportba a fájl eléréséhez/végrehajtásához.

usermod -aG adminok john

Használja a mkdir parancs egy könyvtár létrehozásához:

mkdir /tmp/collaborative_dir

Használja a chgrp parancs a könyvtár hozzárendeléséhez a adminok csoport:

chgrp admins /tmp/collaborative_dir

Használja a chmod paranccsal módosíthatja a könyvtárengedélyt 2775-re. A 2 bit bekapcsolja a beállított gid-t, a 7-es a teljes rwx hozzárendeléséhez a felhasználóhoz és a csoporthoz, míg az 5 (r-w) a többihez.

chmod 2775 /tmp/collaborative_dir

Végül módosítsa felhasználói fiókját erre: János és hozzon létre egy fájlt az együttműködési könyvtárban a fájljogosultságok ellenőrzéséhez.

su - John
érintse meg a /tmp/collaborative_dir/file.txt fájlt

A su parancs hitelesítési hibát jelezhet. Ebben az esetben írja be a sudo su parancsot a gyökérre váltáshoz és újrafuttatáshoz su - John a felhasználói fiók megváltoztatásához

Most sorolja fel az engedélyeket a könyvtárhoz és az újonnan létrehozott fájlhoz beállított GID bit(ek) ellenőrzéséhez.

ls -ld /tmp/collaborative_dir /tmp/collaborative_dir/file.txt 

Egy tipikus forgatókönyv szerint a john által létrehozott fájlhoz egy csoport john van hozzárendelve. Mivel a fájlt egy beállított GID bitkönyvtárban hozza létre, az engedélyeket rendel hozzá a adminok csoport, így bárki, aki a csoporthoz tartozik, kedveli a felhasználót Chris, hozzá fog férni.Összefüggő: Új fájlok létrehozása Linuxon érintéssel

Ragadós bitek

A SID és GID bitekkel ellentétben a ragadós bitek funkciójukban különböznek, mivel megvédik a fájlokat és könyvtárakat a többi felhasználó átnevezésétől és törlésétől. A normál fájlengedély lehetővé teszi bármely írási jogosultsággal rendelkező felhasználó számára a fájl törlését vagy átnevezését. Míg a ragadós bit beállítása esetén ez csak akkor lehetséges, ha Ön a fájl root felhasználója vagy tulajdonosa.

A ragadós bitek használatának ideális esete az a könyvtár, amely minden felhasználó számára elérhető a fájl létrehozásához. Például használja a ls -ld parancsot, hogy ellenőrizze a \tmp könyvtárengedélyek, az alábbiak szerint:

Észreveheti, hogy a ragadós bit t lecseréli a végrehajtó bitet x. Kövesse a megadott utasításokat egy korlátozott törlési könyvtár létrehozásához:

Most hozzon létre egy másik könyvtárat a /tmp mappa:

mkdir /tmp/new_dir

Módosítsa a fájl engedélyeit erre: 1777 beállítani a ragadós bitet (t) és teljes címtár-hozzáférés:

chmod 1777 /tmp/new_dir

Most másoljon bármilyen fájlt a /etc mappába /tmp/new_dir és módosítsa az engedélyeit erre 666:

cp /etc/ /tmp/new_dir
chmod 666 /tmp/new_dir/services

Az engedélyek megtekintéséhez listázza ki a könyvtárat és annak teljes tartalmát:

ls -ld /tmp/new_dir /tmp/new_dir/services

Az execute bit helyett a ragadós bitet lehet észrevenni, ami azt jelenti, hogy csak a root vagy a john felhasználó törölheti a fájlt, mivel a fájl a ragadós bit könyvtárban van.

A speciális fájlengedélyek megértése Linuxban

A cikk bemutatja, hogyan állíthatja be ezeket a biteket a megosztott fájlok és könyvtárak közötti együttműködés javítása érdekében, és megvédi őket a jogosulatlan hozzáféréstől, végrehajtástól és törléstől. Még ha nem is hoz létre fájlokat/könyvtárakat ezekkel a bitekkel, a speciális fájljogosultságok megértése sok esetben hasznos, különösen a hibaelhárításnál vagy rendszergazdaként. Míg ezeknek a biteknek a nem ésszerű használata különféle biztonsági réseket okozhat.

A fájlok engedélyeinek megőrzése fájlok másolása közben Linux alatt

Szeretné megőrizni a fájljogosultságokat, miközben fájlokat másol Linuxon? Íme, hogyan kell ezt megtenni cp és rsync használatával.

Olvassa el a következőt

RészvényCsipogEmail
Kapcsolódó témák
  • Linux
  • Fájlkezelés
  • Linux
A szerzőről
Rumaisa Niazi (3 cikk megjelent)

Rumaisa a MUO szabadúszó írója. Hosszú utat tett meg matematikustól az információbiztonság rajongójáig, és SOC elemzőként dolgozik. Érdeklődési köre az új technológiákról, Linux disztribúciókról és az információbiztonsággal kapcsolatos bármiről való olvasás és írás.

Továbbiak Rumaisa Niazitól

Iratkozzon fel hírlevelünkre

Csatlakozzon hírlevelünkhöz műszaki tippekért, ismertetőkért, ingyenes e-könyvekért és exkluzív ajánlatokért!

Kattintson ide az előfizetéshez