O Subsistema para Aplicações baseadas em UNIX (SUA) fornece um subsistema compatível com POSIX (Portable Operating System Interface) que executa shells UNIX, utilitários e aplicações de forma nativa juntamente com aplicações do Microsoft® Windows®. Este tópico descreve algumas das considerações de trabalho para utilizadores que requerem um sistema operativo compatível com POSIX.

Compatibilidade com a shell POSIX

A shell Korn do SUA respeita o comportamento da shell Korn tradicional, que é quase idêntico ao comportamento POSIX. Se necessitar da conformidade POSIX rígida, necessária por parte de alguns ambientes de trabalho, veja as diferenças entre a shell Korn e o POSIX na documentação ksh(1) nos ficheiros de Ajuda existentes no pacote de transferência Utilitários e SDK (Software Development Kit) para o Subsistema Para Aplicações Baseadas em UNIX.

Para obter a conformidade POSIX.2 total da shell Korn, terá de executar a shell Korn no modo POSIX. Para executar a shell Korn no modo POSIX, execute um dos seguintes procedimentos:

  • Abra a shell Korn com a opção -o posix.

  • Execute o comando definido -o posix a partir da shell.

  • Defina o parâmetro da shell POSIXLY_CORRECT.

A conformidade POSIX não é suportada na shell C. Ao contrário da shell Korn, a shell C não tem opções de comando do modo POSIX.

Verificação transversal de permissões de directório

Por predefinição, os utilizadores do Windows dispõem de permissões para se deslocarem por uma árvore de directórios, apesar de poderem não ter permissões para aceder a cada directório no caminho. Em sistemas POSIX, o utilizador não pode aceder a um directório a menos que tenha permissão para aceder a cada directório no caminho para o directório. Este comportamento POSIX é conhecido como a verificação transversal. Por exemplo, se não tiver permissão para aceder a um directório, não poderá alterar o directório actual para qualquer um dos respectivos subdirectórios, mesmo que tenha permissão para aceder aos subdirectórios. Por predefinição no Windows, pode alterar o directório actual para quaisquer subdirectórios para os quais tenha permissão.

No Windows, existe uma permissão especial denominada de permissão Atravessar Pasta/Executar Ficheiro, que pode ser definida para um utilizador ou grupo. Pode configurar esta permissão para permitir ou negar a deslocação por uma árvore de directórios. A permissão Atravessar Pasta só tem efeito quando não é concedido ao grupo ou utilizador o direito de utilizador Ignorar Verificação Transversal no snap-in Política de Grupo. No Microsoft Windows 2000, por predefinição, o direito de utilizador Ignorar Verificação Transversal é concedido ao grupo Todos. Nos sistemas operativos Windows Server® 2008 R2, Windows® 7, Windows Server® 2008, Windows Vista®, Windows Server 2003 e Windows XP, os grupos Administradores, Operadores de Cópia de Segurança, Todos, Utilizadores Avançados e Utilizadores têm este direito. Por motivos de conformidade rígida com normas POSIX, remova o direito de utilizador Ignorar Verificação Transversal de todos os utilizadores e grupos, excepto o grupo Operadores de Cópia de Segurança. Para respeitar os privilégios concedidos ao utilizador raiz em muitas outras implementações UNIX, remova o direito de utilizador Ignorar Verificação Transversal de todos os utilizadores excepto os grupos Administradores e Operadores de Cópia de Segurança.

Desvio do comportamento da verificação transversal para su e setuid

Os utilizadores raiz que estão a utilizar o comando su para executarem como outros utilizadores e os utilizadores que estão a utilizar processos setuid (bem como os processos que incluem chamadas relacionadas com setuid), representam um desvio do comportamento predefinido acima descrito ao reterem alguns direitos transversais de directório.

A remoção do direito Ignorar verificação transversal das contas de utilizador resulta no comportamento compatível no POSIX. No entanto, quando um utilizador raiz tenta executar o su em qualquer outro utilizador sem fornecer uma palavra-passe, a sessão resultante não tem o comportamento acima descrito. Os processos iniciados depois de um utilizador raiz executar o su sem fornecer uma palavra-passe poderão aceder e deslocar-se numa árvore de directórios, apesar de poderem não ter permissões de acesso a cada directório no caminho.

Os processos Setuid e os processos que chamam setuid, seteuid ou setreuid também exibem o mesmo comportamento. Depois de remover o direito Ignorar verificação transversal da conta do utilizador a executar estes processos, os processos conseguem progredir numa árvore de directórios, apesar de poderem não ter permissões de acesso a cada directório no caminho.

Consulte Também