O Subsistema para Aplicativos Baseados em UNIX (SUA) fornece um subsistema compatível com o Portable Operating System Interface (compatível com POSIX) que executa shells, utilitários e aplicativos UNIX em modo nativo junto com aplicativos Microsoft® Windows®. Este tópico descreve algumas considerações de trabalho para os usuários que precisam de um sistema operacional compatível com o POSIX.
Compatibilidade do shell POSIX
O shell Korn do SUA segue o comportamento do shell Korn tradicional, que é praticamente idêntico ao comportamento do POSIX. Se você precisar de compatibilidade estrita com o POSIX, o que alguns ambientes de trabalho exigem, consulte as diferenças entre o shell Korn e o POSIX na documentação do ksh(1), nos arquivos de Ajuda localizados no pacote de download Utilitários e SDK (Software Development Kit) do Subsistema para Aplicativos Baseados em UNIX.
Para obter compatibilidade total com o POSIX.2 do shell Korn, você deve executar o shell Korn no modo POSIX. Para executar o shell Korn no modo POSIX, siga um destes procedimentos:
-
Abra o shell Korn com a opção -o posix.
-
Execute o conjunto de comandos -o posix dentro do shell.
-
Defina o parâmetro do shell POSIXLY_CORRECT.
Não há suporte para compatibilidade com o POSIX no shell C. Diferentemente do shell Korn, o shell C não tem opções de comando do modo POSIX.
Verificação completa de permissões de diretório
Por padrão, os usuários do Windows têm permissões para mover-se em uma árvore de diretórios, embora talvez não tenham permissões para acessar cada diretório no caminho. Nos sistemas POSIX, você não pode acessar um diretório a menos que tenha permissão para acessar todos os diretórios no caminho dele. Esse comportamento do POSIX é conhecido como verificação completa. Por exemplo,se você não tiver permissão para acessar um diretório, não poderá mudar do diretório atual para qualquer um de seus subdiretórios, mesmo que tenha permissão para acessá-los. No Windows, por padrão, você pode mudar do diretório atual para qualquer subdiretório para o qual tenha permissão.
No Windows, há uma permissão especial chamada de permissão Desviar Pasta/Executar Arquivo, que você pode definir para um usuário ou um grupo. Pode-se configurar essa permissão para permitir ou negar a movimentação em uma árvore de diretórios. A permissão Desviar Pasta tem efeito apenas quando o grupo ou usuário não tem o direito de usuário Ignorar a Verificação Completa no snap-in Diretiva de Grupo. No Microsoft Windows 2000, por padrão, o grupo Todos tem o direito de usuário Ignorar a Verificação Completa. Nos sistemas operacionais Windows Server® 2008 R2, Windows® 7, Windows Server® 2008, Windows Vista®, Windows Server 2003 e Windows XP, os grupos Administradores, Operadores de Backup, Todos, Usuários Avançados e Usuários todos têm esse direito. Para compatibilidade total com padrões POSIX, remova o direito de usuário Ignorar a Verificação Completa de todos os usuários e grupos, exceto o grupo Operadores de Backup. Para consistência com os privilégios concedidos ao usuário raiz em muitas outras implementações do UNIX, remova o direito de usuário Ignorar a Verificação Completa de todos os usuários, exceto os grupos Administradores e Operadores de Backup.
Desvio do comportamento da verificação completa para su e setuid
Usuários raízes que estejam usando o comando su para executar como outros usuários e os usuários que estejam usando processos setuid (e aqueles processos que incluam chamadas relacionadas a setuid), desviam do comportamento padrão descrito acima retendo alguns direitos de atravessar diretório.
Remover o direito Ignorar a verificação completa das contas de usuário resulta no comportamento compatível com POSIX. No entanto, quando um usuário raiz tenta executar su em qualquer outro usuário sem fornecer uma senha, a sessão resultante não tem o comportamento descrito acima. Os processos iniciados depois de um usuário raiz executar su sem fornecer uma senha podem acessar e mover uma árvore de diretório, embora talvez não tenham permissões para acessar cada diretório no caminho.
Os processos do Setuid e os processos que chamam setuid, seteuid ou setreuid, também exibem o mesmo comportamento. Depois de remover o direito Ignorar verificação completa da conta do usuário que está executando esses processos, os processos estarão aptos a passar por uma árvore de diretório, embora talvez não tenham permissões suficientes para acessar cada diretório no caminho.