AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • Início
  • system&network
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • Início
  • system&network
    • Recentes
    • Highest score
    • tags
  • Ubuntu
    • Recentes
    • Highest score
    • tags
  • Unix
    • Recentes
    • tags
  • DBA
    • Recentes
    • tags
  • Computer
    • Recentes
    • tags
  • Coding
    • Recentes
    • tags
Início / server / Perguntas / 965855
Accepted
Binarus
Binarus
Asked: 2019-05-05 02:05:49 +0800 CST2019-05-05 02:05:49 +0800 CST 2019-05-05 02:05:49 +0800 CST

Como fazer um serviço (ou o processo do sistema) representar a variante *elevada* de uma conta de usuário?

  • 772

Na minha rede, há um servidor Windows 2008 R2 com nome de rede Dax. Nesse servidor, tenho (entre outros, claro):

  • uma unidade de disco rígido, montada comoE:\
  • uma pastaE:\odo
  • um compartilhamento SMB \\Dax\odoque fornece a pasta E:\odopara a rede
  • uma conta de usuárioDax\Backup

O usuário Dax\Backupé membro do Dax\Backup Operatorsgrupo e, além disso, tem permissões totais no compartilhamento \\Dax\odoe na pasta E:\odo.

Também tenho alguns PCs clientes executando o Windows 10 x64 Enterprise (versão 1809). Cada PC cliente tem

  • várias contas de usuário que são diferentes das contas de usuário no servidor (ou seja, não há AD, os PCs clientes não estão associados a um domínio)
  • uma pasta de dados complexa e profundamente aninhada com permissões cuidadosamente elaboradas, ou seja, cada usuário em um cliente tem acesso a diferentes partes (subpastas) da pasta de dados
  • uma conta de usuário Client\Backupque tenha a mesma senha da conta do servidor Dax\Backupe que também seja membro do respectivo grupo de clientes Client\Backup Operators.

Nos PCs clientes, tenho um software capaz de copiar toda a pasta de dados mencionada acima, incluindo todas as permissões, informações do proprietário, fluxos alternativos, junções e assim por diante no compartilhamento \\Dax\odo. Eu deixo este software rodar sob a conta do usuário Client\Backuppara que ele possa ler a pasta de dados independentemente das ACLs que estão em vigor lá.

De fato, pastas, arquivos, junções e assim por diante (ou seja, o conteúdo real da pasta de dados) são copiados sem nenhum problema, mas o ajuste dos metadados (por exemplo, ACLs, propriedade) no destino falha.

Gostaria de entender o porquê e, claro, o que posso fazer a respeito.

Meus pensamentos e testes até agora são:

  • Meu software cliente está copiando esses arquivos e pastas no compartilhamento do servidor enquanto executa como user Backup. Como esse usuário (no servidor) está no Backup Operatorsgrupo, não deve haver problema em alterar os metadados durante a cópia ou mesmo após ter copiado um arquivo ou pasta, pois é exatamente para isso que o Backup Operatorsgrupo deve servir.

  • Se (no servidor) eu tornar o usuário Backupmembro do Administratorsgrupo, o problema persiste.

  • Se (no servidor) eu der ao usuário Dax\Administratorpermissão total para o compartilhamento \\Dax\odo, bem como para a respectiva pasta E:\odo, e se eu executar meu software cliente sob a conta Client\Administrator(essa conta também tem a mesma senha nos clientes e no servidor), o o problema não persiste e o processo funciona conforme o esperado .

Além disso, rastreei o que acredito ser a causa do problema no servidor: Usando o monitor de processos da Sysinternals, vi que obviamente o usuário Backupno servidor, ou mais precisamente, sua representação pelo serviço de rede / processo do sistema, não tem privilégios suficientes. Pelo menos, isso é o que eu faria com as propriedades do evento mostradas abaixo:

High Resolution Date & Time:    04.05.2019 09:27:37,2077520
Event Class:    File System
Operation:  IRP_MJ_CREATE
Result: PRIVILEGE NOT HELD
Path:   E:\Odo\d-LSE\d\temp\test - 2019-05-04 09-27-40\bla.txt
TID:    2812
Duration:   0.0000581
Desired Access: Generic Write, Read Attributes, Write DAC, Write Owner, Access System Security
Disposition:    OpenIf
Options:    Complete If Oplocked
Attributes: n/a
ShareMode:  Read
AllocationSize: 0
Impersonating:  DAX\Backup

Nos últimos dias, também aprendi que para membros de determinados grupos (entre eles Administratore Backup Operators) existem dois tokens: um normal e um elevado, onde apenas o último habilita os privilégios especiais de tais grupos.

Então (observe que isso é apenas uma suposição ingênua e que não sou especialista neste campo): O serviço de rede / processo do sistema no servidor pode representar a versão não elevada da conta de usuário Backupao lidar com o tráfego de rede em nome de esse usuário, e isso poderia ser o motivo do problema? Eu poderia resolver o problema fazendo com que o serviço de rede/processo do sistema personifique a versão elevadaBackup da conta de usuário ao lidar com o tráfego de rede em nome desse usuário? Se sim, como?

PS Se minha teoria acima for boba, o título deste post será enganoso, então sinta-se à vontade para corrigi-lo ...

networking
  • 1 1 respostas
  • 327 Views

1 respostas

  • Voted
  1. Best Answer
    Harry Johnston
    2019-05-06T13:10:37+08:002019-05-06T13:10:37+08:00

    Sua teoria está correta. Esse comportamento pode ser alterado por meio de uma configuração de registro.

    Dentro

    HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System
    

    localize ou crie o DWORDvalor LocalAccountTokenFilterPolicye defina-o como 1. Pode ser necessário reinicializar.

    Isso permitirá que as conexões remotas tenham acesso irrestrito de administrador.

    • 1

relate perguntas

Sidebar

Stats

  • Perguntas 205573
  • respostas 270741
  • best respostas 135370
  • utilizador 68524
  • Highest score
  • respostas
  • Marko Smith

    Você pode passar usuário/passar para autenticação básica HTTP em parâmetros de URL?

    • 5 respostas
  • Marko Smith

    Ping uma porta específica

    • 18 respostas
  • Marko Smith

    Verifique se a porta está aberta ou fechada em um servidor Linux?

    • 7 respostas
  • Marko Smith

    Como automatizar o login SSH com senha?

    • 10 respostas
  • Marko Smith

    Como posso dizer ao Git para Windows onde encontrar minha chave RSA privada?

    • 30 respostas
  • Marko Smith

    Qual é o nome de usuário/senha de superusuário padrão para postgres após uma nova instalação?

    • 5 respostas
  • Marko Smith

    Qual porta o SFTP usa?

    • 6 respostas
  • Marko Smith

    Linha de comando para listar usuários em um grupo do Windows Active Directory?

    • 9 respostas
  • Marko Smith

    O que é um arquivo Pem e como ele difere de outros formatos de arquivo de chave gerada pelo OpenSSL?

    • 3 respostas
  • Marko Smith

    Como determinar se uma variável bash está vazia?

    • 15 respostas
  • Martin Hope
    Davie Ping uma porta específica 2009-10-09 01:57:50 +0800 CST
  • Martin Hope
    kernel O scp pode copiar diretórios recursivamente? 2011-04-29 20:24:45 +0800 CST
  • Martin Hope
    Robert ssh retorna "Proprietário incorreto ou permissões em ~/.ssh/config" 2011-03-30 10:15:48 +0800 CST
  • Martin Hope
    Eonil Como automatizar o login SSH com senha? 2011-03-02 03:07:12 +0800 CST
  • Martin Hope
    gunwin Como lidar com um servidor comprometido? 2011-01-03 13:31:27 +0800 CST
  • Martin Hope
    Tom Feiner Como posso classificar a saída du -h por tamanho 2009-02-26 05:42:42 +0800 CST
  • Martin Hope
    Noah Goodrich O que é um arquivo Pem e como ele difere de outros formatos de arquivo de chave gerada pelo OpenSSL? 2009-05-19 18:24:42 +0800 CST
  • Martin Hope
    Brent Como determinar se uma variável bash está vazia? 2009-05-13 09:54:48 +0800 CST

Hot tag

linux nginx windows networking ubuntu domain-name-system amazon-web-services active-directory apache-2.4 ssh

Explore

  • Início
  • Perguntas
    • Recentes
    • Highest score
  • tag
  • help

Footer

AskOverflow.Dev

About Us

  • About Us
  • Contact Us

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve