Is there a Linux root equivalent in Windows that can have access to a file without granting full control?
Você pode fazer com que os administradores de sistema usem contas de usuário comuns e conceda a elas acesso de administrador quando precisarem executar tarefas administrativas, como atribuir permissões. Todos os diálogos de segurança suportam o UAC agora, afinal de contas. No entanto, a elevação por meio da representação não é fácil ou prática em todos os ambientes ou situações, e ainda há tarefas excêntricas que dificultam o administrador através da solicitação de elevação. A maioria dos fornecedores terceirizados, o IMX, ainda requer direitos totais de administrador para os sistemas nos quais seu software está instalado, pois os desenvolvedores detestam documentar a segurança necessária e os técnicos de fornecedores detestam ter que lidar com a segurança em um sistema que não gerenciam. >
Para responder a pergunta diretamente, o equivalente no Windows para o Linux root seria representar a conta SYSTEM (NT AUTHORITY \ SYSTEM, também conhecido como LocalSystem ), o que é tecnicamente possível, mas sempre foi considerado prática extremamente pobre (fora de alguns escopos restritos como consultas WMI) e você nunca deve fazê-lo porque você nunca precisa (e, de fato, a conta não tem permissão para logon interativo e você não tem permissão para definir a senha da conta, embora eu ache que você execute nesse contexto com AT.EXE
tarefas). Você terá, é claro, fornecedores de software que insistem em que seu produto execute serviços como SYSTEM. Novamente, eles fazem isso porque os desenvolvedores não querem documentar ou manter a documentação de quais permissões seu programa realmente precisa, não porque eles realmente precisam de acesso ao SYSTEM.
A conta SYSTEM, como a raiz, tem as permissões mais altas e certas coisas que só pode fazer. Somente o SYSTEM tem acesso aos arquivos que armazenam os bancos de dados de segurança, mesmo que essas senhas sejam armazenadas criptografadas. Somente serviços e o kernel são executados como SYSTEM. É por isso que é uma prática recomendada não permitir que serviços não-Windows sejam executados como SYSTEM. São muito mais permissões do que precisam.
No entanto, você ainda pode remover o acesso do sistema a arquivos e pastas. Como você descobriu, é possível com o NTFS ter pastas ou arquivos para os quais não existe ACE e, portanto, nenhuma conta pode acessar o arquivo ou a pasta, incluindo SYSTEM (embora o sistema sempre possa enumerar o item, a ACL e o proprietário, apenas não qualquer conteúdo ou filhos do objeto). O proprietário do arquivo ou da pasta é o único meio de restaurar o acesso nesse estado.
If not, is the only option to administrate files in Windows is to give Administrator Full Control to ALL files (I'm excluding the take ownership option as not practical)?
Não é prático não usar o Controle Total. Você precisa atribuir o Controle Total do grupo Administradores ao que eles precisam administrar, porque Controle Total concede a permissão Alterar Permissões . Você poderia tentar descobrir quais permissões você precisa para gerenciar uma pasta inteira usando apenas os componentes, mas você descobrirá rapidamente que terá basicamente que conceder Controle Total para poder fazer qualquer administração real de qualquer maneira.
Assumir propriedade destina-se principalmente a ser usado quando as permissões de arquivo são completamente removidas acidentalmente (como sua experiência) ou quando as contas de usuário são excluídas / desativadas. Ao contrário de chown
, você só pode atribuir a propriedade a si mesmo ou ao grupo Administradores. Dependendo de como seu software de backup funciona, no entanto, você pode precisar de um script para assumir o controle dos arquivos em seus servidores de arquivos.
Observe também que os administradores assumem a propriedade na pasta raiz de todos os discos do sistema. Você não está realmente impedindo que um membro mal-intencionado do grupo faça algo. Eles já têm as chaves do reino, por assim dizer. Não é defesa em profundidade porque não há nenhum mecanismo de segurança adicional real. Você só tem que pedir propriedade e você consegue.
Aqui é um artigo com mais informações do que você gostaria de saber sobre ACLs do Windows, incluindo algumas boas documentações no antigo formato SDDL Access Control Entry. Este método caiu um pouco em desuso porque Get-ACL
e Set-ACL
são muito mais fáceis de usar ... não o que está dizendo muito.