Proč nemá bit SUID žádný účinek, když je aplikován na adresáře v Linuxu? Jasně vidím, že to mohu nastavit pomocí ‚chmod u+s‘. Ale proč to nemá "žádný" účinek. Jaký je důvod implementace způsobu, jak jej NASTAVIT, ale neimplementovat žádný efekt?
Přijatá odpověď:
Hlavní důvod, proč to nastavit, je jednoduchý:jednoduchost. Je jednodušší zacházet s bitem setuid v adresářích jednotně s ostatními bity, než udělat výjimku a odmítnout pokusy o jeho nastavení.
Dalším důvodem je, že můžete připojit souborový systém pod Linuxem, nastavit bit setuid na adresář a pak připojit tento souborový systém pod jiný operační systém, který s bitem setuid zachází smysluplným způsobem.
Pokud jde o to, proč bit setuid nemá žádný vliv na adresáře v Linuxu, je to proto, že pro něj nikdo nenašel přesvědčivý význam. Nemůže fungovat stejným způsobem jako bit setgid, protože Linux neumožňuje uživateli předat soubor jinému uživateli.