Usuários de computadores clientes podem usar o utilitário chmod para definir os bits de modo de arquivo para setuid (set-user-identifier-on-execution), setgid (set-group-identifier-on-execution) e sticky, em arquivos e diretórios armazenados em uma partição do sistema de arquivos NTFS e compartilhados por meio do Server for NFS. Quando o arquivo ou diretório é acessado subsequentemente por um cliente baseado em UNIX, a semântica padrão para esses bits é aplicada. Por exemplo, um arquivo executável que tem o bit setuid definido será executado sob a identificação de usuário (UID) do proprietário do arquivo, não a UID do usuário que está executando o arquivo.

Normalmente, quando o bit setuid ou setgid é definido em um arquivo, o proprietário ou grupo do arquivo é alterado para a identificação do proprietário ou grupo (GID) onde o arquivo será executado. A menos que o usuário tenha direito de restaurar arquivos ou diretórios, a segurança do Windows permite que um usuário se aproprie de um arquivo (se as permissões do arquivo consentirem), mas não transfere a propriedade para um segundo usuário. Consequentemente, para usar o chown ou chgrp para alterar o proprietário ou grupo de um arquivo para outro usuário ou grupo, é necessário ter o privilégio para restaurar arquivos e diretórios. Por padrão, este privilégio é atribuído a membros dos grupos Administradores e Operadores de Cópia, embora ele possa ser atribuído a outros grupos ou a usuários individuais. Além disso, a conta do usuário que está executando o chown ou chgrp e o usuário ou grupo para o qual a propriedade está sendo transferida deve ser mapeado corretamente por meio da Pesquisa do Active Directory ou do Mapeamento de Nomes de Usuário.

Alguns servidores do sistema de arquivos de rede (NFS) do UNIX aplicam interpretações ou restrições especiais para os bits setuid, setgid e sticky. Algumas versões do UNIX, por exemplo, impõem o bloqueio obrigatório em um diretório com o bit setgid definido, mas não executam permissões. O Server for NFS não implementa interpretações ou restrições especiais usando esses bits.

Problema de segurança

O comportamento típico do setuid e setgid do UNIX apresenta um problema de segurança conhecido no UNIX. Um invasor pode explorar o comportamento do setuid e setgid ao substituir um arquivo executável por um cavalo de Troia e, em seguida, executar esse arquivo. O arquivo executável é executado com os direitos do proprietário, em vez de ser executado como um invasor.

Para evitar esse problema de segurança conhecido, por padrão, o setuid e o setgid são desabilitados e não afetarão as configurações de UID ou GID se o arquivo ou diretório tiver estas duas características:

  • Um ou ambos destes bits estão definidos: setgid ou setuid.

  • O arquivo ou diretório pode ser gravado em grupo, executado em grupo, gravado mundialmente ou executado mundialmente.

Alguns clientes podem considerar essa medida de segurança problemática porque ela é diferente do comportamento típico do UNIX, embora o comportamento típico do setuid e setgid do UNIX não seja especificado como parte de protocolo NFS.

Alterando o comportamento de setuid e setgid

Use o procedimento a seguir para alterar o comportamento dos bits setuid e setgid:

Para alterar o comportamento do setuid e setgid
  1. Abra o Editor do Registro.

  2. Defina a seguinte chave do Registro:

    HKEY_Local_Machine\System\CurrentControlSet\Services\NfsSvr\Parameters\SafeSetUidGidBits = (DWORD)

    • O valor 1 ocasiona o comportamento mais seguro de setuid e setgid.

    • Um valor 0 ocasiona o comportamento padrão do UNIX.


Sumário