Le sous-système pour les applications UNIX (SUA) propose un sous-système compatible POSIX (Portable Operating System Interface for UNIX) qui exécute des shells, des utilitaires et des applications UNIX en mode natif parallèlement aux applications Microsoft® Windows®. Cette rubrique décrit un certain nombre de considérations destinées aux utilisateurs qui requièrent un système d’exploitation compatible POSIX.

Compatibilité avec le shell POSIX

Le shell SUA Korn se conforme au comportement standard du shell Korn, qui est quasiment identique à celui de POSIX. Si une compatibilité POSIX stricte s’impose, ainsi que le requièrent certains environnements de travail, reportez-vous aux différences entre le shell Korn et POSIX dans la documentation ksh(1) intégrée aux fichiers d’aide qui résident dans le package de téléchargement Utilitaires et Kit de développement logiciel (SDK) du sous-système pour les applications UNIX.

Pour assurer la compatibilité POSIX.2 totale du shell Korn, vous devez l’exécuter en mode POSIX. Pour ce faire, effectuez l’une des opérations suivantes :

  • Ouvrez le shell Korn en spécifiant l’option -o posix.

  • Exécutez la commande set -o posix à partir du shell.

  • Définissez le paramètre du shell POSIXLY_CORRECT.

La compatibilité POSIX n’est pas prise en charge par le shell C. À l’encontre du shell Korn, le shell C ne contient pas d’options de commande associées au mode POSIX.

Vérification de parcours des autorisations associées aux répertoires

Par défaut, les utilisateurs Windows sont autorisés à se déplacer dans une arborescence de répertoires, mais ils ne sont pas nécessairement autorisés à accéder à chaque répertoire du chemin. Sur les systèmes POSIX, vous ne pouvez pas accéder à un répertoire si vous ne disposez pas des autorisations requises pour accéder à chaque répertoire du chemin d’accès au répertoire. Cette spécificité POSIX porte le nom de vérification de parcours. Ainsi, si vous n’êtes pas autorisé à accéder à un répertoire, vous ne pouvez pas accéder aux sous-répertoires du répertoire actif, même si vous disposez des autorisations requises. Sur Windows, vous pouvez par défaut passer du répertoire actif à l’un de ses sous-répertoires sous réserve de disposer de l’autorisation correspondante.

Windows gère une autorisation spéciale appelée Parcours du dossier/exécuter le fichier, que vous pouvez définir pour un utilisateur ou un groupe. Vous pouvez configurer cette autorisation de sorte à autoriser ou refuser les déplacements dans une arborescence de répertoires. L’autorisation Parcours du dossier n’est effective que lorsque le groupe ou l’utilisateur ne dispose pas du droit Contourner la vérification de parcours dans le composant logiciel enfichable Stratégie de groupe. Sur Microsoft Windows 2000, ce droit est octroyé au groupe Tout le monde par défaut. Sur les systèmes d’exploitation Windows Server® 2008 R2, Windows® 7, Windows Server® 2008, Windows Vista®, Windows Server 2003 et Windows XP, les groupes Administrateurs, Opérateurs de sauvegarde, Tout le monde, Utilisateurs avec pouvoir et Utilisateurs disposent tous de ce droit. Pour assurer une conformité stricte aux normes POSIX, supprimez le droit utilisateur Contourner la vérification de parcours de tous les utilisateurs et groupes, à l’exception du groupe Opérateurs de sauvegarde. Par souci de conformité aux privilèges octroyés à l’utilisateur racine dans de nombreuses autres mises en œuvre UNIX, supprimez le droit utilisateur Contourner la vérification de parcours de tous les utilisateurs, à l’exception des groupes Administrateurs et Opérateurs de sauvegarde.

Différenciation du comportement de vérification de parcours pour su et setuid

Les utilisateurs racine qui emploient la commande su pour s’exécuter en tant qu’autres utilisateurs, et les utilisateurs qui emploient les processus setuid (et les processus qui incluent des appels associés à setuid), se différencient du comportement par défaut décrit ci-dessus en conservant certains droits de parcours de répertoires.

La suppression du droit Contourner la vérification de parcours des comptes d’utilisateurs donne un comportement compatible POSIX. Cependant, lorsqu’un utilisateur racine tente d’exécuter su sur un autre utilisateur sans fournir de mot de passe, la session résultante ne présente pas le comportement décrit ci-dessus. Les processus démarrés après qu’un utilisateur a exécuté su sans fournir de mot de passe peuvent accéder à une arborescence de répertoires et s’y déplacer, bien qu’ils puissent ne pas avoir l’autorisation d’accéder à n’importe quel répertoire dans le chemin d’accès.

Les processus Setuid, et les processus qui appellent setuid, seteuid ou setreuid, présentent également le même comportement. Après la suppression du droit Contourner la vérification de parcours du compte de l’utilisateur exécutant ces processus, les processus peuvent progresser dans l’arborescence des répertoires, bien qu’ils peuvent ne pas avoir d’autorisations d’accès à chaque répertoire du chemin d’accès.

Voir aussi