SUA (Subsystem for UNIX-based Applications) biedt een POSIX-compatibel subsysteem (Portable Operating System Interface) waarmee UNIX-shells, -hulpprogramma's en -toepassingen kunnen worden uitgevoerd naast Microsoft® Windows®-toepassingen. In dit onderwerp wordt beschreven met welke overwegingen u rekening moet houden als u wilt werken met een POSIX-compatibel besturingssysteem.
Compatibiliteit met de POSIX-shell
Het gedrag van de Korn-shell in SUA is vergelijkbaar met het gedrag van de traditionele Korn-shell, dat in grote lijnen overeenkomt met het POSIX-gedrag. In sommige omgevingen is strikte POSIX-compatibiliteit vereist. Als dat voor uw situatie geldt, raadpleegt u de informatie over de verschillen tussen de Korn-shell en POSIX in de documentatie bij ksh(1). Deze documentatie maakt deel uit van de Help-bestanden in het downloadpakket Utilities and Software Development Kit (SDK) for Subsystem for UNIX-based Applications.
Voor volledige POSIX.2-compatibiliteit moet u de Korn-shell in POSIX-modus uitvoeren. Voer hiervoor een van de volgende handelingen uit:
-
Open de Korn-shell met de optie -o posix.
-
Voer de opdracht -o posix vanuit de shell uit.
-
Stel de shellparameter POSIXLY_CORRECT in.
POSIX-compatibiliteit wordt niet ondersteund in de C-shell. Anders dan voor de Korn-shell zijn er voor de C-shell geen opdrachtopties voor de POSIX-modus beschikbaar.
Controle op bladeren voor mapmachtigingen
Standaard zijn Windows-gebruikers gemachtigd om door een mapstructuur te bladeren, ook als ze niet beschikken over een toegangsmachtiging voor elke map in het pad. Op POSIX-systemen hebt u geen toegang tot een map, tenzij u beschikt over een toegangsmachtiging voor elke map in het pad naar de map. Dit POSIX-gedrag wordt ook wel controle op bladeren genoemd. Als u niet beschikt over een toegangsmachtiging voor een map, is het bijvoorbeeld niet mogelijk om de huidige map van de submappen te wijzigen, zelfs niet als u beschikt over een toegangsmachtiging voor de submappen. In Windows is het standaard mogelijk om de huidige map te wijzigen van alle submappen waarvoor u een machtiging hebt.
In Windows is de machtiging Door map bladeren/bestand uitvoeren beschikbaar. Deze speciale machtiging kunt u instellen voor een gebruiker of voor een groep. Hiermee kunt u configureren dat bladeren door een mapstructuur is toegestaan of wordt geweigerd. De machtiging Door map bladeren is alleen geldig wanneer het gebruikersrecht Controle op bladeren negeren niet is toegekend aan de groep of gebruiker in de module Groepsbeleid. In Microsoft Windows 2000 wordt het gebruikersrecht Controle op bladeren negeren standaard toegekend aan de groep Iedereen. In de besturingssystemen Windows Server® 2008 R2, Windows® 7, Windows Server® 2008, Windows Vista®, Windows Server 2003 en Windows XP beschikken de groepen Administrators, Back-upoperators, Iedereen, Hoofdgebruikers en Gebruikers allemaal over dit recht. Voor strikte compatibiliteit met de POSIX-standaarden schakelt u het gebruikersrecht Controle op bladeren negeren uit voor alle gebruikers en groepen, behalve voor de groep Back-upoperators. Voor naleving van bevoegdheden die in tal van andere UNIX-implementaties aan de hoofdgebruiker worden verleend, schakelt u het gebruikersrecht Controle op bladeren negeren uit voor alle gebruikers, behalve voor de groepen Administrators en Back-upoperators.
Afwijking van het gedrag voor controle op bladeren voor su en setuid
Hoofdgebruikers die de opdracht su gebruiken om uit te voeren zoals andere gebruikers, en gebruikers die setuid-processen gebruiken (en processen die setuid-gerelateerde aanroepen bevatten), wijken af van het eerder beschreven standaardgedrag door bepaalde rechten voor het bladeren door mappen te behouden.
Als de machtiging Controle op bladeren negeren van gebruikers wordt verwijderd, leidt dit tot POSIX-compatibel gedrag. Als een hoofdgebruiker echter probeert su uit te voeren op een andere gebruiker zonder een wachtwoord op te geven, vertoont de resulterende sessie niet het eerder beschreven gedrag. Processen die zijn gestart nadat een hoofdgebruiker su uitvoert zonder een wachtwoord op te geven, hebben toegang tot een mapstructuur en kunnen deze doorbladeren, hoewel ze mogelijk geen toegang hebben tot elke map in het pad.
Setuid-processen en processen die setuid, seteuid of setreuid oproepen, vertonen hetzelfde gedrag. Na het verwijderen van de machtiging Controle op bladeren negeren van het account van de gebruiker die deze processen uitvoert, kunnen de processen verlopen via een mapstructuur, hoewel ze mogelijk geen toegang hebben tot elke map in het pad.