A futtatható fájlok és könyvtárak számára 3 speciális engedély áll rendelkezésre. Ezek a következők :

1. SUID engedély
2. SGID engedély
3. Sticky bit

Set-user Identification (SUID)

Gondoltál már arra, hogy egy nem root felhasználó hogyan tudja megváltoztatni a saját jelszavát, ha nincs írási joga az /etc/shadow fájlhoz. hmmm… érdekes, nem? Nos, hogy megértsd a trükköt, ellenőrizd az /usr/bin/passwd parancs jogosultságát :

# ls -lrt /usr/bin/passwd-r-sr-sr-x 1 root sys 31396 Jan 20 2014 /usr/bin/passwd

– Ha alaposan megnézed, a jogosultság mezőben 2 S-t találsz. Az első s a SUID-ot, a második pedig az SGID-t jelöli.
– Amikor egy SUID bit be van állítva, egy parancs vagy szkript futtatásakor a tényleges UID a fájl tulajdonosának UID-je lesz, nem pedig a futtató felhasználóé.
– Egy másik jó példa a SUID-ra a su parancs :

# ls -l /bin/su -rwsr-xr-x-x 1 root user 16384 Jan 12 2014 /bin/su

– A setuid engedély a tulajdonos execute mezőben “s”-ként jelenik meg.

Hogyan lehet SUID-t beállítani egy fájlon?

# chmod 4555 

Jegyzet :
Ha a tulajdonos execute mezőjében egy nagy “S” betű jelenik meg, az azt jelzi, hogy a setuid bit be van kapcsolva, és a fájl tulajdonosának execute bitje “x” ki van kapcsolva vagy megtagadva.

Set-group identification (SGID)

SGID engedély a futtatható fájlon

– Az SGID engedély hasonló a SUID engedélyhez, a különbség csak annyi, hogy – amikor az SGID-vel bekapcsolt script vagy parancs fut, úgy fut, mintha ugyanannak a csoportnak a tagja lenne, amelynek a fájl is tagja.

# ls -l /usr/bin/write-r-xr-sr-x 1 root tty 11484 Jan 15 17:55 /usr/bin/write

– A setgid engedély a csoport execute mezőjében “s”-ként jelenik meg.

Figyelem :
– Ha a csoport execute mezőjében egy kisbetűs “l” jelenik meg, az azt jelzi, hogy a setgid bit be van kapcsolva, a csoport execute bitje pedig ki van kapcsolva vagy megtagadva.

Hogyan lehet GUID-t beállítani egy fájlon?

# chmod 2555 

SGID egy könyvtáron

– Ha egy könyvtáron SGID engedély van beállítva, a könyvtárban létrehozott fájlok ahhoz a csoporthoz tartoznak, amelynek a könyvtár tagja.
– Ha például egy felhasználó, akinek írási joga van a könyvtárban, létrehoz ott egy fájlt, akkor az a fájl ugyanannak a csoportnak a tagja, mint a könyvtár, és nem a felhasználó csoportjának.
– Ez nagyon hasznos a megosztott könyvtárak létrehozásánál.

How to set SGID on a directory

# chmod g+s 

Sticky Bit

– A sticky bitet elsősorban megosztott könyvtáraknál használjuk.
– Hasznos az olyan megosztott könyvtáraknál, mint a /var/tmp és a /tmp, mert a felhasználók létrehozhatnak fájlokat, olvashatnak és futtathatnak más felhasználók tulajdonában lévő fájlokat, de nem törölhetnek más felhasználók tulajdonában lévő fájlokat.
– Például ha bob felhasználó létrehoz egy /tmp/bob nevű fájlt, akkor más felhasználó tom nem törölheti ezt a fájlt még akkor sem, ha a /tmp könyvtárban 777-es jogosultsággal rendelkezik. Ha a sticky bit nincs beállítva, akkor tom törölheti a /tmp/bob fájlt, mivel a /tmp/bob fájl örökli a szülő könyvtár engedélyeit.
– a root felhasználó (Természetesen!) és a fájlok tulajdonosa törölheti a saját fájljait.

Példa a sticky bitre :

# ls -ld /var/tmpdrwxrwxrwt 2 sys sys 512 Jan 26 11:02 /var/tmp

- T refers to when the execute permissions are off.- t refers to when the execute permissions are on.

Hogyan lehet beállítani a sticky bit jogosultságot?

# chmod +t or # chmod 1777 

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

Az e-mail-címet nem tesszük közzé.