Setuid



Setuid , ami azt jelenti állítsa be a felhasználói azonosítót a végrehajtáskor , egy speciális típusa fájl engedély ban ben Unix és Unix-szerű operációs rendszer mint például Linux és BSD . Ez egy olyan biztonsági eszköz, amely lehetővé teszi a felhasználók számára a bizonyos futtatást programok eszkalálódva kiváltságokat .



Amikor egy futtatható fájl A setuid engedélye meg van adva, a felhasználók az adott programot olyan hozzáférési szinttel hajthatják végre, amely megfelel annak a felhasználónak, aki a fájl tulajdonosa . Például, ha egy felhasználó meg akarja változtatni a jelszavát, akkor futtatja a passwd parancs . A passwd program a gyökér fiókot és setuidként van megjelölve, így a felhasználó ideiglenesen root hozzáférést kap erre a korlátozott célra.

A fájl setuid engedélyének megtekintése

A fájl engedélyeinek megtekintésekor a ls -l parancsot, a setuid engedély ' s 'a' user execute 'bit pozícióban. Például:



ls -l /usr/bin/passwd
-rwsr-xr-x 1 root 54192 Nov 20 17:03 /usr/bin/passwd

A fájl setuid engedélyének beállítása

A futtatható fájl setuid engedélyének beállításához használja az engedély azonosítóját u + s a ... val chmod parancs:

chmod u+s myfile

A nem futtatható fájlok setuidként is megjelölhetők, de nincs hatása; A setuid jelölése nem teszi automatikusan futtathatóvá. Ebben az esetben az engedély bit nagybetűként jelenik meg ' S ”. Például:



ls -l myfile
-rw-r--r-- 1 user 0 Mar 6 10:45 myfile
chmod u+s myfile
ls -l myfile
-rwSr--r-- 1 user 0 Mar 6 10:45 myfile

Ha azonban ezután a fájlt engedélyével felhasználó által futtathatóvá állítja be u + x , a setuid engedély érvénybe lép. Ezután kisbetűvel szerepel a listán. s ':

chmod u+x myfile
ls -l myfile
-rwsr--r-- 1 user 0 Mar 6 10:45 myfile

Setgid

A Setgid egyenértékű a setuid csoportokkal. Ha a bit be van állítva, engedélyt ad annak a csoportnak, aki a fájlt birtokolja. Egy fájl listában a s A '(kisbetűs) karakter a fájlengedélyezési karakterlánc' csoport végrehajtása 'pozíciójában szerepel. Ha a setgid bit be van állítva, de a csoportnak nincsenek végrehajtási engedélyei, akkor egy nagybetű ' S 'helyett jelenik meg. Ez a nagybetűs karakter azt jelzi, hogy a bit be van állítva, de nincs hatása.

A kimenet a ls -l Az itt látható kisbetűs 's' azt jelzi, hogy a setgid bit be van állítva a felsorolt ​​fájlhoz. Bármely felhasználó, aki hozzáfér a fájlhoz, úgy fog tenni, mintha a tulajdonos csoport tagja lenne.

chmod g+s myfile2
ls -l myfile2
-rw-r-sr-- 1 user mygroup 0 Mar 6 10:46 myfile2

Ha a setgid bit egy könyvtárhoz van beállítva, akkor bármelyik új A létrehozott fájlok a könyvtár tulajdonosa, nem pedig a felhasználói csoport tulajdonában vannak. A más helyről áthelyezett vagy másolt fájlok csoportazonosítóját nem módosítják.