Nota
O acesso a esta página requer autorização. Podes tentar iniciar sessão ou mudar de diretório.
O acesso a esta página requer autorização. Podes tentar mudar de diretório.
Privilégio é um mecanismo que o sistema operacional usa para controlar operações específicas. Cada privilégio tem operações específicas associadas a ele que o chamador da operação pode executar se as duas condições a seguir forem atendidas:
- O privilégio deve ser atribuído à pessoa que faz a chamada.
- O privilégio também deve ser ativado.
O princípio destes requisitos é conhecido como privilégio mínimo. O privilégio mínimo requer que os privilégios sejam habilitados antes de serem usados, em vez de assumidos. Esse requisito minimiza a chance de um usuário executar inadvertidamente uma operação que não pretendia. Por exemplo, SeRestorePrivilege normalmente permitiria que o chamador ignorasse as verificações usuais de acesso de gravação a um arquivo. Por exemplo, um administrador pode não querer necessariamente substituir as verificações de segurança normais ao copiar um arquivo. No entanto, eles podem querer fazê-lo ao restaurar esse mesmo arquivo usando um utilitário de backup/restauração.
Para sistemas de arquivos, há muitos privilégios que geralmente são usados para modificar o comportamento normal (notavelmente, verificações de segurança) para o sistema. Esses privilégios são:
SeBackupPrivilege permite a recuperação do conteúdo do arquivo, mesmo que o descritor de segurança no arquivo possa não conceder esse acesso. Um chamador com SeBackupPrivilege ativado evita a necessidade de qualquer verificação de segurança baseada em ACL.
SeRestorePrivilege permite a modificação do conteúdo do arquivo, mesmo que o descritor de segurança no arquivo possa não conceder esse acesso. Esta função também pode ser usada para mudar o proprietário e proteção.
SeChangeNotifyPrivilege permite a travessia à direita. Esse privilégio é uma otimização importante no Windows porque remove o custo de executar uma verificação de segurança em cada diretório em um caminho.
SeManageVolumePrivilege permite operações específicas de gerenciamento no nível de volume, como bloquear volume, desfragmentar, desmontar volume e definir o comprimento de dados válido no Windows XP e posterior. Um driver de sistema de arquivos impõe explicitamente esse privilégio específico principalmente com base em operações FSCTL. Nesse caso, o sistema de arquivos toma uma decisão de política para impor esse privilégio. A determinação se esse privilégio é mantido pelo chamador é feita pelo monitor de referência de segurança como parte da verificação de privilégio normal.
Embora existam vários outros privilégios, eles normalmente são opacos para os sistemas de arquivos e apenas o SRM (Security Reference Monitor ) os interpreta.
As principais rotinas do Windows para gerenciar privilégios em um sistema de arquivos são:
SePrivilegeCheck executa uma verificação para um conjunto específico de privilégios necessários.
SeSinglePrivilegeCheck executa uma verificação para um único privilégio específico; é uma versão otimizada do SePrivilegeCheck.
SeAccessCheck executa a verificação de acesso normal em um objeto (normalmente um objeto de arquivo para um sistema de arquivos).
SeFreePrivileges libera o bloco de privilégios retornado por uma chamada anterior para SeAccessCheck.
SeAppendPrivileges adiciona privilégios habilitados a uma estrutura ACCESS_STATE. Normalmente, um sistema de arquivos usaria o ACCESS_STATE passado a ele durante o processamento do IRP_MJ_CREATE.