Benutzer von Clientcomputern können das Dienstprogramm chmod verwenden, um setuid (Benutzer-ID bei Ausführung festlegen), setgid (Gruppen-ID bei Ausführung festlegen) und Sticky-Dateimodusbits für Dateien oder Verzeichnisse festzulegen, die in einer NTFS-Dateisystempartition gespeichert sind und über Server für NFS freigegeben werden. Wenn anschließend ein UNIX-basierter Client auf die Datei oder das Verzeichnis zugreift, wird die Standardsemantik für diese Bits angewendet. Eine ausführbare Datei mit festgelegtem Bit setuid wird beispielsweise nicht unter der Benutzer-ID (UID) des Benutzers, der die Datei ausführt, sondern unter der Benutzer-ID (UID) des Dateibesitzers ausgeführt.

Wenn das Bit setuid oder setgid für eine Datei festgelegt ist, wird der Besitzer oder die Gruppe der Datei normalerweise in den Besitzer oder die Gruppen-ID (GID) geändert, unter dem bzw. der die Datei ausgeführt wird. Sofern ein Benutzer nicht über die Berechtigung zum Wiederherstellen von Dateien oder Verzeichnissen verfügt, erlaubt die Windows-Sicherheit einem Benutzer, den Besitz einer Datei zu übernehmen (wenn die Berechtigungen der Datei dies zulassen), aber nicht den Besitz auf einen zweiten Benutzer zu übertragen. Wenn Sie den Besitzer oder die Gruppe einer Datei mithilfe von chown oder chgrp in einen anderen Benutzer bzw. eine andere Gruppe ändern möchten, benötigen Sie folglich die Berechtigung zum Wiederherstellen von Dateien und Verzeichnissen. Diese Berechtigung wird standardmäßig den Mitgliedern der Gruppen Administratoren und Sicherungsoperatoren zugewiesen, sie kann jedoch auch anderen Gruppen oder einzelnen Benutzern erteilt werden. Darüber hinaus müssen das Konto des Benutzers, der chown oder chgrp ausführt, und der Benutzer oder die Gruppe, dem bzw. der der Besitz übertragen wird, ordnungsgemäß mithilfe der Active Directory-Suche oder Benutzernamenzuordnung zugeordnet werden.

Einige UNIX-basierte NFS-Server (Network File System) wenden spezielle Interpretationen oder Einschränkungen für die Bits setuid und setgid sowie Sticky-Bits an. Manche Versionen von UNIX erzwingen beispielsweise eine verbindliche Blockierung eines Verzeichnisses, für das das Bit setgid festgelegt wurde, aber keine Ausführungsberechtigungen zugewiesen wurden. Server für NFS implementiert keine speziellen Interpretationen oder Einschränkungen für die Verwendung dieser Bits.

Sicherheitsproblem

Das typische Verhalten der Bits setuid und setgid unter UNIX stellt ein bekanntes Sicherheitsproblem dar. Ein unbefugter Benutzer kann das Verhalten von setuid und setgid ausnutzen, indem er eine ausführbare Datei durch ein trojanisches Pferd überschreibt und die ausführbare Datei dann ausführt. Die ausführbare Datei wird nicht als der unbefugte Benutzer ausgeführt, sondern mit den Rechten des Besitzers.

Zur Vermeidung dieses bekannten Sicherheitsproblems sind setuid und setgid standardmäßig deaktiviert. Die Bits haben keinen Einfluss auf die UID- oder GID-Einstellungen, wenn die Datei bzw. das Verzeichnis die beiden folgenden Merkmale besitzt:

  • Eines oder beide der folgenden Bits sind festgelegt: setuid oder setgid.

  • Die Datei bzw. das Verzeichnis ist für Gruppen schreibbar und ausführbar sowie für die Gruppe Jeder schreibbar oder ausführbar.

Einige Kunden empfinden diese Sicherheitsmaßnahme möglicherweise als problematisch, da sie sich vom typischen Verhalten von UNIX unterscheidet. Das typische Verhalten von setuid und setgid ist jedoch nicht als Teil des NFS-Protokolls definiert.

Ändern des Verhaltens von "setuid" und "setgid"

Verwenden Sie das folgende Verfahren, um das Verhalten der Bits setuid und setgid zu ändern:

So ändern Sie das Verhalten von "setuid" und "setgid"
  1. Öffnen Sie den Registrierungs-Editor.

  2. Legen Sie den folgenden Registrierungsschlüssel fest:

    HKEY_Local_Machine\System\CurrentControlSet\Services\NfsSvr\Parameters\SafeSetUidGidBits = (DWORD)

    • Durch den Wert 1 wird das sicherere Verhalten von setuid und setgid festgelegt.

    • Beim Wert 0 wird das UNIX-Standardverhalten verwendet.


Inhaltsverzeichnis