A speciális engedélyek a Linuxban olyan speciális engedélyek, amelyeket fájlokra vagy könyvtárakra lehet beállítani, és amelyek további képességeket vagy korlátozásokat biztosítanak.
Lehetővé teszik a jogosultságok és a rendszer biztonságának pontosabb kezelését, mint a normál hozzáférési jogok (olvasás, írás, végrehajtás). A speciális hozzáférési jogok Linuxban szintén különleges képességeket vagy korlátozásokat biztosítanak egy felhasználó, csoport vagy fájl számára. Ezek közé tartoznak a következő hozzáférési jogok:
Végrehajtási jog (execute
): futtatható fájlok futtatása vagy parancs használata bizonyos műveletek elvégzéséhez.Olvasási jog (Read
): Egy fájl vagy könyvtár tartalmának megtekintése.Írási jog (Write
): Egy fájl tartalmának módosítása, illetve fájlok létrehozása, módosítása vagy törlése egy könyvtárban.Egy Linux rendszerben különböző hozzáférési jogok vannak a fájlokhoz és könyvtárakhoz, amelyek meghatározzák, hogy egy adott felhasználó vagy felhasználói csoport számára milyen műveletek engedélyezhetők vagy megtagadhatók. Az alábbiakban a Linux rendszerben a fájlokra vonatkozó főbb speciális hozzáférési jogokat ismertetjük:
"setuid
"(suid
): Ha a"setuid
" jogosultság egy futtatható fájlra van beállítva, akkor a folyamat a fájl tulajdonosának jogosultságaival fut, nem pedig a futtató felhasználóéval. Ez bizonyos feladatokhoz ideiglenes jogosultság-visszaállítást biztosít."setgid
"(sgid
): amikor a"setgid
" engedélyt egy futtatható fájlra állítjuk be, a folyamat a fájl tulajdonosának csoportjának jogosultságaival indul, nem pedig az indító felhasználó csoportjával. Ez lehetővé teszi a fájlok és erőforrások megosztását ugyanazon csoport tagjai között."sticky bit
": a"sticky bit
" beállítása egy könyvtárban lehetővé teszi, hogy csak a fájl tulajdonosa törölhessen vagy mozgathasson fájlokat a könyvtárban, még akkor is, ha más felhasználók írási jogosultsággal rendelkeznek a könyvtárban. Ez hasznos egy olyan könyvtár általános használatakor, mint például a /tmp, hogy megakadályozza, hogy más felhasználók fájlokat töröljön vagy módosítson.Általában ezeket a speciális jogosultságokat a szabványos jogosultságokkal (rwx) együtt adjuk meg, és szimbolikus vagy numerikus értékekkel jelöljük. A setuid
például"x"
helyett"s"
betűvel jelöli a futtatható fájl tulajdonosát.
Ha Linuxban speciális fájlengedélyeket szeretne beállítani vagy megváltoztatni, akkor a chmod parancsot használhatja a megfelelő argumentumokkal. Például egy futtatható fájl"setuid" beállításához
a"chmod u+s fájlnév
" parancsot használhatja.
A speciális hozzáférési jogokat (SUID, SGID és Sticky bit) a Linuxban a chmod
paranccsal lehet beállítani fájlokon vagy könyvtárakon.
A SUID beállításához:
chmod +s file_name
SGID beállítása egy könyvtáron:
chmod +s directory_name
Sticky bit beállítása egy könyvtáron:
chmod +t derectory_name
Megjegyzés: A SUID fájlokba történő telepítése ajánlott korlátozni, mivel ez potenciális biztonsági fenyegetést jelenthet a rendszerre. A speciális hozzáférési jogokat óvatosan és csak olyan helyzetekben használja, ahol ez jól indokolt és nem okoz sebezhetőséget.
Az `ls-l`
paranccsal megtekintheti a beállított speciális hozzáférési jogokat. A jogosultságok, beleértve a speciális jogosultságokat is, a fájl- vagy könyvtárengedélyek után betű- vagy számértékek formájában jelennek meg.