Subsystem for UNIX-based Applications (SUA) indeholder et undersystem, der er i overensstemmelse med POSIX (Portable Operating System Interface) og kører UNIX-shells, funktioner og programmer lokalt sammen med Microsoft® Windows®-programmer. Dette emne indeholder en beskrivelse af nogle af de arbejdsmæssige overvejelser i forbindelse med anskaffelsen af et operativsystem, der er i overensstemmelse med POSIX.
Kompatibilitet med POSIX-shell
SUA Korn-shell'en fungerer som en traditionel Korn-shell, hvilket er næsten identisk med dem måde POSIX fungerer på. Hvis du har behov for fuld POSIX-overensstemmelse, som nogle arbejdsmiljøer kræver, kan du se forskellene mellem Korn-shell'en og POSIX i dokumentationen til ksh(1) i de Hjælp-filer, der findes i overførselspakken Utilities and SDK (Software Development Kit) til undersystemet til UNIX-baserede programmer.
Du skal køre Korn-shell'en i POSIX-tilstand for at få fuld POSIX.2-overensstemmelse fra Korn-shell'en. Benyt en af følgende fremgangsmåder for at køre Korn-shell'en i POSIX-tilstand:
-
Åbn Korn-shell'en med parameteren -o posix.
-
Kør kommandosættet -o posix fra shell'en.
-
Angiv shellparameteren POSIXLY_CORRECT.
POSIX-overensstemmelse understøttes ikke i C-shell'en. I modsætning til Korn-shell'en, har C-shell'en ingen kommandoindstillinger for POSIX-tilstand.
Krydstjek af mappetilladelser
Windows-brugere har som standard tilladelse til at flytte gennem et mappetræ, selvom de muligvis ikke har adgang til alle mapper i stien. I POSIX-systemer kan du ikke få adgang til en mappe, medmindre du har adgang til alle mapper i mappestien. Denne POSIX-funktionsmåde kaldes krydstjek. Hvis du ikke har adgang til en mappe, kan du f.eks. ikke ændre den aktuelle mappe til en af de tilhørende undermapper, selvom du har adgang til undermapperne. I Windows kan du som standard ændre den aktuelle mappe til en hvilken som helst undermappe, du har adgang til.
I Windows findes den særlige tilladelse Gennemgang af mappe/Kørsel af fil, som du kan angive for en bruger eller gruppe. Du kan konfigurere denne tilladelse, så flytning gennem et mappetræ er tilladt eller ikke tilladt. Tilladelsen Gennemgang af mappe træder først i kraft, når gruppen eller brugeren ikke er tildelt brugerrettigheden Spring krydscheck over i snap-in'en Gruppepolitik. Gruppen I Microsoft Windows 2000 er gruppen Alle som standard tildelt brugerrettigheden Spring krydscheck over. I operativsystemerne Windows Server® 2008 R2, Windows® 7, Windows Server® 2008, Windows Vista®, Windows Server 2003 og Windows XP har grupperne Administratorer, Backupoperatører, Alle, Superbrugere og Brugere alle denne rettighed. Hvis du har behov for fuld overensstemmelse med POSIX-standarderne, skal du fjerne brugerrettigheden Spring krydscheck over fra alle brugere og grupper, bortset fra gruppen Backupoperatører. Hvis du har behov for overensstemmelse med de rettigheder, som rodbrugeren har i mange andre UNIX-implementationer, skal du fjerne brugerrettigheden Spring krydscheck over fra alle brugere, bortset fra grupperne Administratorer og Backupoperatører.
Afvige krydstjek i forbindelse med su og setuid
Rodbrugere, som bruger kommandoen su til at køre som andre brugere, og brugere, som bruger processerne setuid (og de processer, der omfatter setuid-relaterede kald), afviger fra den standardfunktionsmåde, der er beskrevet ovenfor, idet de bevarer visse krydstjekrettigheder til mapper.
Hvis du fjerner rettigheden Spring krydstjek over fra brugerkonti, resulterer det i en POSIX-kompatibel funktionsmåde. Hvis en rodbruger forsøger at køre su for en hvilken som helst anden bruger uden at angive en adgangskode, vil den resulterende session ikke have den funktionsmåde, der er beskrevet ovenfor. De processer, der startes, efter at en rodbruger har kørt su uden at angive en adgangskode, får adgang til og kan flytte rundt i et mappetræ, også selvom de muligvis ikke har adgangstilladelse til alle mapper i stien.
Setuid-processer og processer, der kalder setuid, seteuid eller setreuid, udviser også samme funktionsmåde. Når rettigheden Spring krydstjek over fjernes fra kontoen til den bruger, der kører disse processer, får processerne adgang til et mappetræ, selvom de muligvis ikke har adgangstilladelse til alle mapper i stien.