네트워크 공유를 통해 NTFS 연결 지점을 따라갈 수 있습니까?

네트워크 공유를 통해 NTFS 연결 지점을 따라갈 수 있습니까?

운영체제: 윈도우 서버 2016

다른 폴더 Y에 대한 연결 지점을 포함하는 폴더 X가 있는 경우(동일한 컴퓨터 및 동일한 볼륨에 있음) 그러면 네트워크를 통해 X를 공유하면 X에 연결하는 원격 사용자가 Y로 리디렉션되나요?

사용 사례는 예약된 작업 실행 후 폴더 위치/이름 Y가 때때로 변경되는 것입니다. 하지만 원격 사용자는 항상 동일한 네트워크 공유 이름(X)을 사용하고 싶습니다. 작업을 실행하는 동안 연결 지점을 업데이트할 수 있었습니다.

이것을 달성할 수 있는 다른 기술이 있습니까? 다음 방법으로 어느 정도 성공했습니다. X라는 네트워크 공유를 다시 생성하거나 업데이트하고 Y를 직접 가리키도록 합니다. 그러나 이 방법은 X가 최상위 공유인 경우에만 작동합니다.

다음 경우에도 작동하는 솔루션을 찾고 있습니다. X를 Y에 대한 공유로 둡니다. 그런 다음 Y에 하위 폴더 A가 포함되어 있으면 원격 사용자가 네트워크 경로 X\A를 통해 해당 폴더에 액세스할 수 있습니다. 그러나 X\B와 같은 네트워크 경로를 통해 원격 사용자가 시스템의 완전히 다른 경로에 액세스할 수 있어야 하는 경우도 필요합니다. 따라서 Y\B에서 다른 경로로의 연결점을 만드는 것이 내 생각입니다. (원격 사용자는 X\B를 통해 액세스함)

가능합니까?

답변1

mklink /j예, SMB 파일 서버는 대상이 공유 폴더 외부를 가리키는 경우에도 자동으로 디렉터리 접합( )을 투명하게 따릅니다 . (실험적으로 테스트했습니다.)

반면에 서버는 심볼릭 링크( mklink /d)를 따르지 않습니다. 심볼릭 링크는 클라이언트에 맡겨져 기본적으로 심볼릭 링크를 따르지 않습니다(그리고 이 옵션을 활성화하면 대상은 분명히 다른 공유 폴더여야 합니다). 자세한 내용은 harrymc의 게시물을 참조하세요.

세 번째 옵션으로, Windows Server에서는 공유를DFS 네임스페이스, 일반 파일과 다른 서버에서도 다른 공유를 가리킬 수 있는 특수 "추천" 디렉터리를 모두 가질 수 있습니다. (이러한 참조는 항상 클라이언트 측에서 따르며 모든 Windows 버전, libsmbclient 및 Linux cifs.ko에서도 인식됩니다.)

폴더 Y를 다른 시스템으로 이동해야 하는 경우 DFS가 선호되는 옵션일 것입니다. (모든 파일 서버에서 공통 인증을 사용하면 작업이 더 쉬워지지만 Active Directory는 필요하지 않습니다.)

답변2

기본 클라이언트 Windows에서는 기호 링크 체인을 허용하지 않습니다.

해당 동작을 제어하는 ​​명령은 다음과 같습니다. fsutil, 기사에 추가로 설명되어 있습니다. Fsutil 동작.

찾고 있는 특정 동작의 이름은 입니다 SymlinkEvaluation. 명령 프롬프트에 명령을 입력하면 현재 값을 볼 수 있습니다 fsutil behavior query SymlinkEvaluation. 다음은 내 Windows 10의 기본값입니다.

여기에 이미지 설명을 입력하세요

의 동작 코드에는 , , 및 SymlinkEvaluation의 이름이 있으며 이는 다음을 의미합니다.L2LL2RR2LR2R

  • L"로컬"을 의미하고 R"원격"을 의미합니다.
  • 첫 번째 L또는 R-~ 전에- 2링크 자체의 위치를 ​​나타냅니다(대상이 아님).링크에 액세스하는 기계에 상대적.
  • 두 번째 L또는 R-~ 후에- 2링크의 위치를 ​​나타냅니다.LINK 자체가 위치한 머신을 기준으로 한 타겟.

예를 들어 설정이란 SymlinkEvaluation R2L링크에 대한 액세스를 제어할 수 있음을 의미합니다.

  • 원격 시스템에 있음( R)
  • 동일한 원격 시스템의 대상을 가리킵니다( L).

따라서 가능성은 다음과 같습니다:

  1. 로컬-로컬 심볼릭 링크,L2L:{0|1}
  2. 로컬에서 원격으로의 심볼릭 링크,L2R:{0|1}
  3. 로컬 심볼릭 링크에 대한 원격,R2R:{0|1}
  4. 원격-원격 심볼릭 링크,R2L:{0|1}

여기서는 0비활성화를 의미하고 1활성화를 의미합니다.

찾고 있는 명령은 다음과 같습니다.

fsutil behavior set SymlinkEvaluation R2L:1

이 작업은 서버가 아닌 클라이언트에서 수행된다는 점만 기억하세요.

답변3

2022년 9월: 네트워크 공유에 대한 접합이 작동을 멈춘 것 같습니다.

https://learn.microsoft.com/en-us/sysinternals/downloads/junction

마지막 업데이트: 2022년 7월 19일

메모

Windows는 원격 공유의 디렉터리에 대한 접합을 지원하지 않습니다.

과거에는 네트워크 공유 서버에 다른 드라이브를 가리키는 접합을 만들었습니다. 모든 것이 잘 작동했습니다. 지금까지 한동안 사용하지 않았는데 문제가 발생했습니다.

  • 클라이언트 측에서는 접합 아이콘을 두 번 클릭해도 아무런 반응이 없습니다. 아무 것도 표시되거나 변경되지 않습니다.
  • 클라이언트 측에서 "속성"은 접합을 폴더로 표시하지만 0바이트와 0개 파일이 있습니다.
  • 아이콘을 마우스 오른쪽 버튼으로 클릭하고 "새 창에서 열기"를 선택해도 아무런 반응이 없습니다.
  • "네트워크 드라이브 연결"이나 \server\share로 직접 이동이 작동하지 않았습니다.

서버 측에서는 다음을 수행해도 도움이 되지 않았습니다.

  • 접합 대상에 대한 새 공유를 설정합니다.
  • 다시 시작, 새 접합 만들기, 새 공유, "보안" 탭 재설정

Windows 10 Pro 21H2 19044.1889 Windows 기능 체험 팩 120.2212.4180.0

또 다른 생산성 기능을 깨뜨린 The Great Microsoft에 감사드립니다.

관련 정보