Subsystem für UNIX-basierte Anwendungen (Subsystem for UNIX-based Applications, SUA) stellt ein mit POSIX (Portable Operating System Interface) kompatibles Subsystem zum einheitlichen Ausführen von UNIX-Shells, -Dienstprogrammen und -Anwendungen neben Microsoft® Windows®-Anwendungen. In diesem Thema werden einige der Überlegungen für Benutzer beschrieben, die ein mit POSIX kompatibles Betriebssystem benötigen.

POSIX-Shellkompatibilität

Die SUA Korn-Shell zeigt das herkömmliche Korn-Shell-Verhalten, das mit dem POSIX-Verhalten nahezu identisch ist. Wenn Sie eine strikte POSIX-Kompatibilität benötigen, da diese in einigen Umgebungen erforderlich ist, lesen Sie die Informationen zu den Unterschieden zwischen der Korn-Shell und POSIX in der ksh(1)-Dokumentation in den Hilfedateien, die im Downloadpaket "Dienstprogramme und Software Development Kit (SDK) für Subsystem für UNIX-basierte Anwendungen" enthalten sind.

Für die vollständige POSIX.2-Konformität der Korn-Shell müssen Sie die Korn-Shell im POSIX-Modus ausführen. Um die Korn-Shell im POSIX-Modus auszuführen, führen Sie eine der folgenden Aktionen aus:

  • Öffnen Sie die Korn-Shell mit der -o posix-Option.

  • Führen Sie den -o posix-Befehl innerhalb der Shell aus.

  • Legen Sie den POSIXLY_CORRECT-Shellparameter fest.

Die POSIX-Konformität wird in der C-Shell nicht unterstützt. Im Gegensatz zur Korn-Shell besitzt die C-Shell keine Befehlsoptionen für den POSIX-Modus.

Durchsuchende Überprüfung von Verzeichnisberechtigungen

Standardmäßig verfügen Windows-Benutzer über Berechtigungen zum Navigieren in einer Verzeichnisstruktur, auch wenn sie u. U. nicht über die Berechtigung für den Zugriff auf alle Verzeichnisse im Pfad verfügen. Auf POSIX-Systemen können Sie nur dann auf ein Verzeichnis zugreifen, wenn Sie die Berechtigung zum Zugriff auf alle Verzeichnisse im Pfad zu diesem Verzeichnis haben. Dieses POSIX-Verhalten wird durchsuchende Überprüfung genannt. Wenn Sie also beispielsweise keine Berechtigung für den Zugriff auf ein Verzeichnis haben, können Sie das aktuelle Verzeichnis nicht in eines seiner Unterverzeichnisse ändern, selbst wenn Sie über die Berechtigung für den Zugriff auf die Unterverzeichnisse verfügen. In Windows können Sie das aktuelle Verzeichnis standardmäßig in eines der Unterverzeichnisse ändern, für das Sie die Berechtigung haben.

In Windows können Sie eine spezielle Berechtigung namens "Ordner durchsuchen/Datei ausführen" für einen Benutzer oder eine Gruppe festlegen. Sie können diese Berechtigung konfigurieren, um das Durchsuchen einer Verzeichnisstruktur zuzulassen oder zu verweigern. Die Berechtigung Ordner durchsuchen tritt nur dann in Kraft, wenn die Gruppe oder der Benutzer nicht über das Benutzerrecht Ordner durchsuchen/Datei ausführen im Gruppenrichtlinien-Snap-In verfügt. (In Microsoft Windows 2000 erhält die Gruppe Jeder standardmäßig das Benutzerrecht Auslassen der durchsuchenden Überprüfung.) Unter den Betriebssystemen Windows Server® 2008 R2, Windows® 7, Windows Server® 2008, Windows Vista®, Windows Server 2003 und Windows XP besitzen die Gruppen Administratoren, Sicherungs-Operatoren, Jeder, Hauptbenutzer und Benutzer dieses Recht. Für strikte Konformität mit POSIX-Standards entfernen Sie das Benutzerrecht Auslassen der durchsuchenden Überprüfung für alle Benutzer und Gruppen mit Ausnahme der Gruppe Sicherungs-Operatoren. Um die Konformität mit Berechtigungen zu wahren, die dem Root-Benutzer auf zahlreichen anderen UNIX-Implementierungen gewährt werden, entfernen Sie das Benutzerrecht Auslassen der durchsuchenden Überprüfung für alle Benutzer mit Ausnahme der Gruppen Administratoren und Sicherungs-Operatoren.

Abweichendes Verhalten der durchsuchenden Überprüfung für "su" und "setuid"

Root-Benutzer, die den su-Befehl verwenden, um die Ausführung als anderer Benutzer vorzunehmen, und Benutzer, die setuid-Prozesse verwenden (und diejenigen Prozesse, die setuid-bezogene Aufrufe umfassen), weichen von dem oben beschriebenen Standardverhalten ab, indem einige Rechte zum Durchsuchen von Verzeichnissen beibehalten werden.

Das Entfernen des Rechtes Auslassen der durchsuchenden Überprüfung von Benutzerkonten führt zu POSIX-kompatiblem Verhalten. Wenn jedoch ein Root-Benutzer versucht, su für einen anderen Benutzer auszuführen, ohne ein Kennwort bereitzustellen, entspricht das Verhalten der resultierenden Sitzung nicht dem oben beschriebenen Verhalten. Prozesse, die gestartet wurden, nachdem ein Root-Benutzer su ausgeführt hat, ohne ein Kennwort bereitzustellen, können auf eine Verzeichnisstruktur zugreifen und darin navigieren, obwohl sie möglicherweise keine Berechtigungen für den Zugriff auf jedes Verzeichnis unter dem Pfad haben.

Setuid-Prozesse und Prozesse, die setuid, seteuid oder setreuid aufrufen, zeigen auch dasselbe Verhalten. Nach dem Entfernen des Rechtes Auslassen der durchsuchenden Überprüfung vom Konto des Benutzers, der diese Prozesse ausführt, können die Prozesse eine Verzeichnisstruktur durchlaufen, auch wenn ihnen die Berechtigungen zum Zugriff auf jedes Verzeichnis im Pfad fehlen.

Siehe auch