Cenário - Link simbólico ou junção NTFS?


17

Diferenças

┌─────────────────────────────────────────────────────── ───────┬─────┐
│ ute Absoluto │ Relativo │ Arquivo │ Diretório │ UNC │
├─────────────────────────────────────────────────────── ───────┼─────┤
Link Link simbólico │ Sim │ Sim │ Sim │ Sim │ Sim │
│ Junção │ Sim │ - │ - │ Sim │ - │
└──────────────┴─────────────────────────────────────── ───────┴─────┘

Cenário

Vamos supor que estamos criando um ponto de nova análise para criar o redirecionamento C:\SomeDir => D:\SomeDir

Como esse cenário requer apenas caminhos absolutos locais, uma junção ou link simbólico funcionaria. Nessa situação, existe alguma vantagem em usar um ou outro?

Suponha o Windows 7 para o sistema operacional, desconsiderando a compatibilidade com versões anteriores. (Antes do Vista, os links simbólicos não são suportados nativamente, embora exista um driver de terceiros que forneça suporte a links simbólicos no Windows XP.)

Atualizar

Eu encontrei outra diferença.

  • Link simbólico - as permissões do link afetam apenas as operações de exclusão / renomeação no próprio link, o acesso de leitura / gravação (ao destino) é governado pelas permissões do destino
  • Junção - as permissões da junção afetam a enumeração, a revogação de permissões na junção negará a listagem de arquivos por essa junção, mesmo se a pasta de destino tiver ACLs mais permissivas

As permissões tornam isso interessante, pois os links simbólicos podem permitir que aplicativos herdados acessem arquivos de configuração em áreas restritas ao UAC (como %ProgramFiles%) sem alterar as permissões de acesso existentes, armazenando os arquivos em um local não restrito e criando links simbólicos no diretório restrito.

Atualização 2

O Windows 8.1 resolverá os links simbólicos do diretório ao navegar para um através da caixa de texto em uma Save As...caixa de diálogo. As junções não são expandidas.


Você tem um link para as informações de diferença de permissões? Essa é bem a descoberta.
surfasb

Meus testes confirmam que o acesso de leitura ao diretório de destino (ou seja, listando o conteúdo do diretório) está restrito pelas permissões no ponto de junção, além das do diretório de destino. No entanto, nenhum outro acesso parece ser afetado. Em particular, você pode criar arquivos e subpastas se as permissões do diretório de destino permitirem, independentemente das permissões do ponto de junção.
Harry Johnston

@HarryJohnston: Inicialmente, suspeitei de alguma inconsistência ao bloquear as permissões de exclusão e gravação em jumps, mas itens e subpastas abaixo funcionam perfeitamente.
surfasb 12/12

Não vou fazer uma resposta completa, a menos que solicitado, mas se você estiver usando um sistema GNU ou outro sistema não Windows para acessar o volume via mount.cifs, os links simbólicos aparecerão como tal, enquanto as junções serão vistas como diretórios normais - provavelmente por causa do ponto em que a resolução de E / S ocorre, ou seja , localmente no host do Windows.
Can-ned_food # 14/17

Respostas:


4

Entendo que os links simbólicos NTFS substituem Junções em sistemas operacionais Windows mais recentes (Vista / 7/8), pois funcionam da mesma maneira, mas também fornecem funcionalidade adicional (pontos remotos). Portanto, desde que você esteja trabalhando apenas com sistemas operacionais mais recentes, não há motivo para não usar a opção de link simbólico.


Por padrão, os links simbólicos nos servidores serão ignorados e, mesmo que seguidos, sejam restringidos pelas regras de acesso no nível de compartilhamento do servidor: por exemplo, você não pode vincular um link a um local no servidor que não seja compartilhado ou se o compartilhamento não dá acesso ao usuário. Portanto, os links simbólicos não podem substituir pontos de junção em todos os contextos.
Harry Johnston

2

Acho que os pontos de junção têm um suporte mais amplo no software de backup do que os links simbólicos. Você deve verificar com qualquer programa de backup que esteja usando qual recurso é suportado.

Se não for suportado, o link simbólico / ponto de junção será copiado como um diretório separado (e restaurado como tal) ou não será copiado.

Além do problema de backup, não vejo motivo para preferir um ao outro, no seu caso específico (diretório local).


Pontos de junção e links simbólicos são implementados por meio do NTFS usando pontos de nova análise. De acordo com o MSDN, ambos são tratados da mesma maneira pelas operações de arquivo por meio da API.
surfasb

2
@surfasb: no entanto, se os links simbólicos não forem especificamente suportados (e reconhecidos como tal), eles não serão recriados como links simbólicos durante a restauração do backup.
precisa

Ah, muito bom ponto! Não pensei muito longe à frente.
surfasb

Até onde eu sei, isso é mais importante se o volume for acessado por sistemas operacionais Windows mais antigos.
Can-ned_food # 14/17

1

As junções NTFS podem ser apontadas apenas para diretórios, enquanto os links simbólicos também funcionam nos arquivos.


Mas para arquivos, você pode usar um hardlink.
911 paradroid

0

Aqui está uma diferença que eu notei:

Eu tenho um diretório sincronizado de scripts, aplicativos portáteis, etc. Uso um script em lote para criar uma junção no diretório Menu Iniciar, que aponta para um diretório de atalhos para os aplicativos portáteis.

Uma junção permite que os atalhos apareçam no menu Iniciar. Quando eu uso um link simbólico, ele não funciona.


Estranho, isso funciona bem para mim. Eu também tenho links simbólicos para pen drives conectados à minha máquina.
surfasb

@surfasb: Tem certeza de que está fazendo o que eu descrevi? Atalhos em um diretório apontado por um link simbólico com o diretório do Menu Iniciar não aparecem no meu Menu Iniciar. Eles fazem quando uma junção é usada.
Paradroid

Não tenho certeza se eu li isso corretamente. Então, no menu Iniciar, um link simbólico que aponta para uma pasta que contém atalhos? Eu tentei agora. Eu até consegui o link simbólico para apontar para outro link simbólico em um caminho unc que apontava para a pasta em um caminho UNC com atalhos. Claro que isso quebra os atalhos. Mas um percurso de link simbólico "remoto para remoto" está desativado por padrão no Windows.
surfasb

0

Talvez eu tenha perdido isso em algum lugar nos comentários, mas uma diferença muito importante entre links simbólicos e junções no Windows para mim são os privilégios necessários para criar os dois. Embora os links simbólicos sejam, por padrão, apenas criados com permissões especiais que os usuários padrão não possuem, as junções podem ser criadas facilmente por todos os usuários padrão OOB e, portanto, são o meu tipo de link preferido para dirs.

Por padrão, os membros do grupo Administradores têm esse direito.

https://docs.microsoft.com/en-us/windows/device-security/security-policy-settings/create-symbolic-links

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.