A suid egy rövidítés, a ,,Set User Identification'' kifejezés rövidítése. Azt jelenti, hogy a ,,felhasználói azonosító megváltoztatása''. Ennek megértéséhez tudnunk kell azt, hogy időnként szükség van arra, hogy egy egyszerű felhasználó egy privilégizált felhasználó jogaival rendelkezzen. Talán a legegyszerűbb eset a jelszó megváltoztatása. Egy egyszerű felhasználó nem írhatja közvetlenül a rendszer jelszófájlját, hiszen akkor bármikor korlátlan jogokhoz juthatna, de a saját jelszavát meg kell tudnia változtatni. Ehhez viszont írnia kell a jelszófájlba. Ezt az ellentmondást oldják fel úgy, hogy a programot ruházzák fel privilégizált jogokkal, a suid bit beállításával.
A passwd parancs engedélyei a következők:
-rwsr-xr-x 1 root root 28896 Jul 17 1998 /usr/bin/passwdLátható, hogy a suid bit be van kapcsolva, így futásának idejére az őt futtató felhasználó rendszergazdai jogkört kap, tehát a root jogosultságaival olvassa és írja a /etc/passwd fájlt (mivel a root tulajdonában van a fájl).
A Unix típusú rendszerekben a programok azokkal a felhasználói jogokkal futnak, amivel az őket elindító felhasználó rendelkezik. Ezt lehet megváltoztatni a suid és az sgid bitekkel. Egy suid bittel rendelkező program elindításakor a program a tulajdonosának jogaival fog futni, fájlokat olvasni, írni és más programokat futtatni.
Az sgid bit is egy rövidítés a ,,Set Group Identification'' kifejezés rövidítése. Azt jelenti, hogy a ,,csoportazonosító megváltoztatása''. Beállítása esetén a program annak a csoportnak a jogaival fog futni, akinek a fájl a birtokában van.
Hogy hogyan lehet ezeket a programokat megtalálni? Érdemes tanulmányozni a checksecurity (itt található) scriptet, nagyon tanulságos!
Az sgid bitet könyvtárak esetén is be lehet kapcsolni. Ennek az eredménye a következő: ha ebben a könyvtárban bárki létrehoz egy fájlt (ehhez az többi jognak rendben kell lennie), akkor a fájl csoporttulajdonosa nem az a csoport lesz, amelyikbe a felhasználó tartozik, hanem az, akinek a könyvtár a birtokában van.