Uživatelé klientských počítačů mohou použít nástroj chmod a nastavit bity setuid (set-user-identifier-on-execution), bity setgid (set-group-identifier-on-execution) a rezervační bity souborového režimu u souborů nebo adresářů, které jsou uloženy v oddílu se systémem souborů NTFS a sdíleny prostřednictvím služby Server pro systém souborů NFS. Pokud k souboru nebo adresáři následně přistupuje klient systému UNIX, bude pro tyto bity použita standardní sémantika. Spustitelný soubor s nastaveným bitem setuid bude například spuštěn pod ID uživatele (UID) vlastníka souboru, nikoli UID uživatele, který soubor spouští.
Pokud je u souboru nastaven bit setuid nebo bit setgid, vlastník souboru nebo skupina souboru se změní na vlastníka nebo ID skupiny (GID), u nějž bude soubor spuštěn. Zabezpečení systému Windows umožňuje uživateli převzít vlastnictví souboru (jestliže to dovoluje oprávnění pro soubor), nikoli však převést vlastnictví na druhého uživatele, pokud uživatel nemá oprávnění pro obnovení souborů a adresářů. Chcete-li tedy pomocí nástrojů chown a chgrp změnit vlastníka nebo skupinu souboru na jiného uživatele nebo skupinu, musíte mít oprávnění pro obnovení souborů a adresářů. Ačkoli toto oprávnění může být přiřazeno jiným skupinám nebo jednotlivým uživatelům, je ve výchozím nastavení přiřazeno členům skupin Administrators a Backup Operators. Účet uživatele se spuštěným nástrojem chown nebo chgrp a uživatel nebo skupina, na které je převáděno vlastnictví, musí být navíc správně namapovány prostřednictvím nástroje Active Directory Lookup nebo služby Mapování uživatelských jmen.
Některé servery NFS (Network File System) se systémem UNIX používají speciální interpretace nebo omezení pro bity setuid, bity setgid a rezervační bity. Některé verze systému UNIX například vynucují povinné uzamčení adresáře s nastaveným bitem setgid, ale bez oprávnění ke spouštění. Služba Server pro systém souborů NFS neobsahuje speciální interpretace nebo omezení použití těchto bitů.
Potíže se zabezpečením
Typické chování bitů setuid a setgid systému UNIX představuje známý problém zabezpečení v systému UNIX. Neoprávněný uživatel může zneužít chování bitů setuid a setgid, přepsat spustitelný soubor programem typu trojský kůň a spustit jej. Spustitelný soubor se spustí s oprávněními vlastníka namísto spuštění neoprávněným uživatelem.
Aby se zabránilo tomuto známému problému se zabezpečením, jsou ve výchozím nastavení bity setuid a setgid zakázány a neovlivní nastavení identifikátorů UID a GID, pokud soubor nebo adresář mají obě následující vlastnosti:
-
Jeden nebo oba následující bity jsou nastaveny: setgid nebo setuid.
-
Do souboru nebo adresáře může zapisovat skupina nebo všichni a může jej spustit skupina nebo všichni.
Někteří uživatelé mohou považovat toto bezpečnostní opatření za problematické, protože se odlišuje od typického chování systému UNIX, ačkoli typické chování bitů setuid a setgid systému UNIX není specifikováno jako součást protokolu NFS.
Změna chování bitů setuid a setgid
Chování bitů setuid a setgid můžete změnit pomocí následujícího postupu:
Změna chování bitů setuid a setgid |
Spusťte program Editor registru.
Nastavte tento klíč registru:
HKEY_Local_Machine\System\CurrentControlSet\Services\NfsSvr\Parameters\SafeSetUidGidBits = (DWORD)
-
Hodnota 1 způsobí bezpečnější chování bitů setuid a setgid.
-
Hodnota 0 způsobí standardní chování systému UNIX.
-
Hodnota 1 způsobí bezpečnější chování bitů setuid a setgid.