시나리오-NTFS 기호 링크 또는 접합?


17

차이점

┌────────────────┬──────────┬──────────┬┬─────┬───── ───────┬─────┐
│ │ 절대 │ 상대 │ 파일 │ 디렉토리 │ UNC │
├────────────────┼──────────┼──────────┼┼─────┼───── ───────┼─────┤
│ 기호 링크 │ 예 │ 예 │ 예 │ 예 │ 예 │
│ 접합 │ 예 │-│-│ 예 │-│
└────────────────┴──────────┴──────────┴┴─────┴───── ───────┴─────┘

대본

리디렉션을 만들기 위해 재분석 지점을 만들고 있다고 가정하겠습니다. C:\SomeDir => D:\SomeDir

이 시나리오에는 로컬 절대 경로 만 필요하므로 정션 또는 심볼릭 링크가 작동합니다. 이 상황에서 하나를 사용하면 어떤 이점이 있습니까?

이전 버전과의 호환성을 무시하고 OS 용 Windows 7을 가정합니다. Vista 이전에는 Windows XP에서 symlink를 지원하는 타사 드라이버 가 있지만 symlink는 기본적으로 지원되지 않습니다 .

최신 정보

나는 또 다른 차이점을 발견했다.

  • Symbolic Link-링크 의 권한은 링크 자체의 삭제 / 이름 바꾸기 작업에만 영향을 미치며, 대상에 대한 읽기 / 쓰기 액세스는 대상의 권한에 의해 관리됩니다.
  • 정션- 정션의 권한은 열거에 영향을 미치며, 대상 폴더에 더 허용되는 ACL이 있더라도 정션에 대한 권한을 취소하면 해당 정션을 통한 파일 목록이 거부됩니다.

심볼릭 링크가 %ProgramFiles%없는 위치에 파일을 저장하고 제한된 디렉토리에 심볼릭 링크를 만들어 기존 액세스 권한을 변경하지 않고도 레거시 응용 프로그램이 UAC 제한 영역 (예 : 등 )의 구성 파일에 액세스 할 수 있으므로 권한이 흥미로워 집니다.

업데이트 2

Windows 8.1은 Save As...대화 상자 의 텍스트 상자를 통해 탐색 할 때 기호 디렉토리 링크를 해결 합니다. 접합은 확장되지 않습니다.


권한 차이 정보에 대한 링크가 있습니까? 그것은 꽤 찾을 것입니다.
surfasb

테스트 결과 대상 디렉토리에 대한 읽기 액세스가 대상 디렉토리에 대한 액세스 권한뿐만 아니라 접합점에 대한 권한으로 제한되는지 확인합니다. 그러나 다른 액세스는 영향을받지 않는 것 같습니다. 특히 접점 지점 권한에 관계없이 대상 디렉토리 권한에서 허용하는 경우 파일 및 하위 폴더를 만들 수 있습니다.
Harry Johnston

@HarryJohnston : 처음에는 juctions에 대한 삭제 및 쓰기 권한을 차단할 때 약간의 불일치가 의심되었지만 그 아래의 항목과 하위 폴더는 정상적으로 작동합니다.
surfasb

요청하지 않는 한이 답변을 완전히 작성하지는 않지만 GNU 또는 다른 비 Windows 시스템을 사용 mount.cifs하여을 통해 볼륨에 액세스하는 경우 symlinks는 이와 같이 표시되지만 junction은 일반 디렉토리로 표시됩니다. IO 해상도가 발생하는 지점, Windows 호스트에서 로컬로.
can-ned_food

답변:


4

NTFS 기호 링크는 최신 Windows OS (Vista / 7 / 8)에서 Junction을 대체하는 것으로 이해하지만 동일한 기능을 수행하지만 추가 기능 (원격 지점)을 제공합니다. 따라서 최신 운영 체제에서만 작업하는 경우 기호 링크 옵션을 사용하지 않을 이유가 없습니다.


기본적으로 서버의 심볼릭 링크는 무시되며, 서버의 공유 수준 액세스 규칙에 따라 제한을받는 경우에도 공유되지 않는 서버의 위치 또는 심볼릭 링크에 대한 심볼릭 링크를 사용할 수 없습니다. 공유는 사용자에게 액세스 권한을 부여하지 않습니다. 따라서 심볼릭 링크가 모든 컨텍스트에서 접합점을 대체 할 수는 없습니다.
Harry Johnston

2

접합점은 백업 링크에서 기호 링크보다 더 광범위하게 지원된다고 생각합니다. 지원하는 기능을 사용중인 백업 프로그램을 확인해야합니다.

지원되지 않는 경우 symlink / junction 포인트는 별도의 디렉토리로 백업되거나 백업되어 전혀 백업되지 않습니다.

백업 문제 이외의 특정 상황 (로컬 디렉토리)에서 다른 것을 선호하는 이유는 없습니다.


연결 지점과 Symlink는 모두 재분석 지점을 사용하여 NTFS를 통해 구현됩니다. MSDN에 따르면 둘 다 API를 통한 파일 작업으로 동일한 방식으로 처리됩니다.
surfasb

2
@surfasb : 그러나 심볼릭 링크가 구체적으로 지원되지 않고 인식되는 경우 백업에서 복원하는 동안 심볼릭 링크로 다시 생성되지 않습니다.
haimg

아, 아주 좋은 지적입니다! 나는 충분히 멀리 생각하지 않았다.
surfasb

내가 아는 한, 이전 Windows OS에서 볼륨에 액세스 할 경우 더 중요합니다.
can-ned_food

1

NTFS 정션은 디렉토리 만 가리킬 수 있으며 심볼릭 링크는 파일에서도 작동합니다.


그러나 파일의 경우 하드 링크를 대신 사용할 수 있습니다.
paradroid

0

내가 알아 차린 한 가지 차이점은 다음과 같습니다.

스크립트, 휴대용 앱 등의 동기화 된 디렉토리가 있습니다. 배치 스크립트를 사용하여 시작 메뉴 디렉토리에서 Junction을 작성하여 휴대용 앱의 바로 가기 디렉토리를 가리 킵니다.

정션을 사용하면 바로 가기를 시작 메뉴에 표시 할 수 있습니다. 대신 Symbolic Link를 사용하면 작동하지 않습니다.


이상해, 이것은 나에게 잘 작동한다. 또한 내 컴퓨터에 연결된 플래시 드라이브에 대한 심볼릭 링크가 있습니다.
surfasb

@surfasb : 당신이 내가 설명한 것을하고 있습니까? 시작 메뉴 디렉토리와의 심볼릭 링크가 가리키는 디렉토리 내의 바로 가기가 내 시작 메뉴에 나타나지 않습니다. 대신 정션이 사용될 때 수행됩니다.
paradroid

내가 올바르게 읽었는지 확실하지 않습니다. 시작 메뉴에서 바로 가기가 포함 된 폴더를 가리키는 심볼릭 링크? 나는 지금 막 그것을 시도했다. 심지어 UNC 경로의 폴더를 바로 가기로 가리키는 unc 경로의 다른 symlink를 가리 키도록 symlink를 얻었습니다. 물론 바로 가기가 깨집니다. 그러나 "원격에서 원격으로"symlink 통과는 Windows에서 기본적으로 비활성화되어 있습니다.
surfasb

0

어쩌면 나는 주석에서 그것을 놓친 것일 수도 있지만 Windows에서 symlink와 Windows의 junction 사이의 매우 중요한 차이점은 두 가지를 만드는 데 필요한 권한입니다. 기본적으로 symlink는 기본 사용자에게는없는 특수 권한을 사용하여 작성할 수 있지만 junction은 모든 기본 사용자 OOB가 쉽게 작성할 수 있으므로 dirs에 선호되는 링크 유형입니다.

기본적으로 관리자 그룹의 구성원에게는이 권한이 있습니다.

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

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.