GNU/Linux >> Znalost Linux >  >> Linux

Linux / UNIX :Jak najít soubory, které mají nastaveno SUID/SGID

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
done
Pozná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


Linux
  1. Jak najít duplicitní soubory v Linuxu

  2. Jak používat Linuxový příkaz find k hledání souborů

  3. Jak najít všechny řídké soubory v Linuxu

  1. Jak najít soubory s oprávněními SUID a SGID v Linuxu

  2. Jak najít soubory pomocí příkazu fd v Linuxu

  3. Jak najít soubory upravené za posledních 30 dní v Linuxu?

  1. Jak najít všechny soubory vlastněné konkrétním uživatelem v Unixu/Linuxu?

  2. Jak trvale nastavit $PATH na Linux/Unix?

  3. Jak zjistit, které časové pásmo v Linuxu?