Speciální oprávnění – SUID/SGID
U spustitelných souborů lze nastavit dvě speciální oprávnění:Nastavit ID uživatele (setuid) a Nastavte ID skupiny (sgid) . Tato oprávnění umožňují, aby byl spouštěný soubor spuštěn s oprávněními vlastníka nebo skupiny. Pokud by například soubor vlastnil uživatel root a měl nastavený bit setuid, bez ohledu na to, kdo soubor spustil, vždy by se spouštěl s právy uživatele root.
Hledání souborů s nastaveným bitem SUID/SGID
Všechny soubory s oprávněními SUID SGID můžeme najít pomocí příkazu find.
1. Chcete-li najít všechny soubory s oprávněními SUID pod root:
# find / -perm +4000
2. Chcete-li najít všechny soubory s oprávněními SGID pod root:
# find / -perm +2000
3. můžeme také spojit oba příkazy find do jediného příkazu find:
# find / -type f \( -perm -4000 -o -perm -2000 \) -exec ls -l {} \;
Odebrání SUID/SGID
Pokud chcete odebrat oprávnění SGID a SUID u souborů, můžete postupovat podle níže uvedených kroků. Jakmile získáte seznam souborů, odstraníte bezpečnostní bit pomocí příkazu chmod:
Pro SUID:
# chmod u-s file_name
Pro SGID:
# chmod g-s file_name
Chcete-li to provést rekurzivně, můžete provést následující příkaz:
# for i in `find / -perm +4000` do chmod u-s $i done
Podobně můžete změnit také soubory sgid.
# for i in `find / -perm +2000` do chmod g-s $i donePoznámka: Odstraní všechny suid souborů. Před spuštěním cyklu for tedy buďte opatrní. Co je SUID, SGID a Sticky bit?
Linux / UNIX :Příklady příkazu find k vyhledání souborů se specifickými sadami oprávnění
UNIX / Linux :Jaký je správný oprávnění adresářů /tmp a /var/tmp