NTFS 이동 / 복사 디자인 결함을 해결하는 방법은 무엇입니까?


31

파일 서버 권한을 처리 한 사람은 누구나 알고 있듯이 NTFS에는 이동 / 복사 문제라는 흥미로운 디자인 기능 / 결함이 있습니다.

이 MS KB 기사에 설명 대로 폴더가 이동되고 소스와 대상이 동일한 NTFS 볼륨에있는 경우 폴더 또는 파일에 대한 권한이 상위에서 자동으로 상속되지 않습니다. 폴더가 복사되거나 소스와 대상이 다른 볼륨에있는 경우 권한이 상속됩니다.

다음은 간단한 예입니다.

동일한 NTFS 볼륨에 "기술자"및 "관리자"라는 두 개의 공유 폴더가 있습니다. Technicians 그룹은 Technicians 폴더에 대한 RW 액세스 권한을 가지며 Managers 그룹은 "Managers"폴더에 대한 RW 액세스 권한을 갖습니다. 누군가 둘 다 액세스 할 수 있고 하위 폴더를 "Managers"폴더에서 "Technicians"폴더로 이동 한 경우 이동 된 폴더는 여전히 "Managers"그룹의 사용자 만 액세스 할 수 있습니다. "Technicians"그룹은 "Technicians"폴더 아래에 있어도 하위 폴더에 액세스 할 수 없으며 맨 위에서 권한을 상속 받아야합니다.

아시다시피, 이로 인해 최종 사용자 문제를 해결하는 데 지원 전화, 티켓 및 낭비되는주기가 발생합니다. 사용자가 다른 보안 폴더 / 영역 사이에서 폴더를 자주 이동하는 경우 발생할 수있는 권한의 중첩은 말할 것도 없습니다. 같은 양.

질문은 :

이 NTFS 설계 결함을 해결하는 가장 좋은 방법은 무엇이며 환경에서 어떻게 처리합니까?

링크 된 KB 기사는 Windows 탐색기의 기본 동작을 변경하기 위해 일부 레지스트리 키에 대해 이야기하지만 클라이언트 측이며 사용자가 대부분의 환경에서 내가 생각할 수있는 권한을 변경하는 기능이 필요하다는 것을 알고 있습니다. 파일 서버 권한 (및 sysadmin으로서의 온전함)을 계속 제어하려고합니다.


2
관리자 / 기술자 예제는 단지 결함을 설명하기위한 것임을 알고 있습니다. 그러나 경우에 따라 원하는 동작이 될 수도 있습니다. 누군가 실수 로 관리자에서 기술자로 폴더를 이동하는 경우 기술자가 액세스하지 못하게 될 수도 있습니다. 그것.
Ward-Monica Monica 복원

2
이것은 실제로 결함이 아니며 파일 권한이 작동하는 방식입니다. NTFS 릴리스 이후에 문서화되었습니다. 일부 사람들은 파일 권한을 사용하지 않고 공유 권한을 사용하여 액세스를 제어하는 ​​것이 좋습니다. 이것은 Microsoft 파일 서버의 기본 보안에 위배됩니다. 동일한 볼륨에서 폴더 / 파일을 이동하는 것이 상속되지 않는 이유는 폴더 / 파일이 실제로 디스크에서 이동하지 않고 포인터가 변경되는 것입니다.
Michael Brown

답변:


12

내 접근 방식은 파일 / 디렉토리 레벨 파일 권한을 사용하지 않는 것입니다. 파일 공유 레벨 권한을 사용하고 전체 서버 파일 시스템 데이터 드라이브를 Everyone Full Control (무엇이 될지)로 설정하십시오.

몇 년 동안 (10+) NTFS NTFS 권한이 더 복잡하고 더 많은 오류가 발생한다는 것을 알았습니다. 권한이 잘못 설정되거나 상속이 중단되면 데이터를 찾기 어렵습니다. 또한 말한대로 이동 / 복사 문제에 노출됩니다.

디렉토리 / 파일 레벨 ACL을 사용해야하는 장소; 나는 건강 상태를 정기적으로 점검하는 것 외에 다른 해결책을 알고 있습니다.


10

글쎄, 그것은 실제로 결함이 아닙니다. 파일을 이동할 때 권한을 처리하기위한이 규칙은 NT3.1의 베타 2 이상 (Windows 2000에서만 추가 된 상속은 아니지만) 이후에 적용되었습니다. 그것은 Windows의 모든 기능만큼이나 잘 알려져 있습니다. 한 번에 불에 타지 않은 우리가 거의 없기 때문에 나는 당신의 견해에 대해 많은 동정심을 가지고 있습니다. 그러나 그것은 sysadmin이 빠르게 배우는 것입니다.

JR


6
나는 이것에 대해 그의 블로그에서 Raymond Chen과 논쟁을했다. Microsoft는 NTFS를 "상속"권한이있는 것으로 "판매"한 다음이 특정 갑옷을 입었을 때 백 페달을합니다. NTFS는 파일을 만들 때 명시 적 ACE를 파일에 배치하여 파일을 만들 때 권한 상속을받습니다. 나는 문서와 마케팅 문헌이 문서 나 코드가 실시간 인 것처럼 그들의 상속 시스템에 대해 말하고있는 한 주장한다. 그들은 하나를 골라 고쳐야합니다.
Evan Anderson

1
글쎄요, 그것은 절충입니다. 상속이 실시간이라면 딥 트리의 맨 아래에서 파일을 열 때마다 OS는 트리를 실행하여 효과적인 권한이 무엇인지 찾아야합니다. 물론 깊은 나무 꼭대기에서 권한을 변경하면 기다릴 수 있습니다. Active Directory가 동일한 모델을 사용하지 않습니까?
John Rennie 2012 년

AD 개체는 컨테이너간에 이동할 때 새 부모의 권한을 올바르게 상속하므로 NTFS에서 파일 / 폴더를 이동할 때 이것이 "올바른"동작이라고 생각합니다.
David Archer

3
@renniej : AD는 실제 실시간 상속을 사용합니다. Netware 파일 시스템은 오래 전에 사용되었습니다. 마이크로 소프트가 NTFS를 구현했다면 NTFS도 그렇게 할 수있다. "취하지 않은 도로"입니다. 마이크로 소프트의 문서 : NTFS와 익스플로러는 상속과 같은 "플레이"가 실시간 (즉, 거짓말)이라는 사실을 알고있다. 그대로 알려주거나 설명서와 함께 동작하도록 수정하십시오!
Evan Anderson

@renniej Evan Anderson이 말했듯이 Netware는 1990 년에 왕이되었을 때 이것을했습니다. '가시성 목록'을 추적하는 다른 파일 시스템 색인을 작성하여 문제점을 해결할 수 있습니다. 마이크로 소프트는 그렇게하지 않기로 선택했지만 차후 Windows Server 릴리스를 위해 매끄럽게 만들 수 있습니다.
sysadmin1138

6

우리는 NT 3.51부터 NTFS를 사용해 왔으며 (거의 모든 사람들처럼)이 "문제"를 보았지만 많은 문제를 일으키지 않았습니다.

  • 공유 디렉토리에서 다른 디렉토리로 파일을 이동해야 할 경우 항상 파일을 복사하도록 지시합니다. "끌 때 CTRL 키를 누른 상태에서 작은 +가 표시되는지 확인하십시오."는 일반적인 문구입니다.
  • 우리의 공유 폴더는 구조가 매우 단순하며 우리가 만든 공유 폴더는 그룹간에 너무 자주 교차하지 않으므로 사람들은 처음에 파일을 복사하려고 할 것입니다.
  • 모든 사람들이 읽고 쓸 수있는 폴더 인 "공통"공간에서 대부분 문제가 발생하지만 해당 디렉토리는 수명이 짧기 때문에 제거 할 때 문제가 사라집니다.

4

내가 생각할 수있는 해결 방법 :

  • 다른 권한을 가진 폴더를 다른 NTFS 볼륨에 두는 방법을 찾으십시오.
  • 폴더를 통해 실행되는 예약 된 작업 (지원 요청 빈도에 따라 한 시간에 한 번 또는 하루에 한 번)을 만들고 모든 권한을 최상위 수준의 권한과 동일하게 재설정합니다. 이는 폴더에 많은 파일이있는 경우 이상적이지 않으며 서버 측 레지스트리 수정과 같은 적절한 솔루션이없는 경우 문제를 해결하는 것입니다. 보려는 명령을 'cacls'라고하며 배치 파일에 추가 할 수 있습니다.

면책 조항-나는 유닉스 배경에서 왔으며 (다른 권한 결함을 수정하기 위해 마지막 것을 구현했습니다-별난 느낌이지만 작업을 수행합니다) 훨씬 더 나은 수정이있을 수 있습니다.


+1-Mark가 제공하는 첫 번째 답변이 최선의 선택입니다. 그것은 고통 스럽지만 NTFS 5에서이 어리석은 디자인 결정을 피하는 가장 좋은 방법입니다.
Evan Anderson

확장하려면 : 이것은 SharePoint를 사용하는 친구가 "SharePoint 사용"이라고 말하는 곳입니다! 마찬가지로 내 버전 제어 사용 버디 및 문서 제어 시스템 사용 버디는 Subversion, Documentum 등을 가리키고 "사용합니다"라고 말합니다. NTFS에서 이러한 디자인 선택은 큰 사마귀이며, 네트워크에서 싸울 때 Microsoft가 실제로 자신의 소프트웨어를 사용하는지 궁금해합니다. (실제로 Microsoft는 사용자와 동일한 방식으로 소프트웨어를 사용하지 않는다는 비명을 지르고 있습니다. 회사에 "지식 근로자"를 채우는 것이 좋을 것입니다.)
Evan Anderson

1
이상적으로는 모든 공유 폴더를 자체 볼륨으로 분리 할 수 ​​있다는 데 동의합니다. 실제로는 대규모 환경 (수천 개의 공유 폴더)에서는 작동하지 않습니다. 또한 펑키 한 연결 지점이나 symlink 부두가 없으면 중첩 된 하위 폴더에 다른 권한이있는 기능을 상실 할 수 있습니다.
David Archer

1
@David : 공유를 통해 데이터를 이동하면 복사 및 삭제됩니다. 공유 내에서 데이터를 이동하면 이동됩니다. 더 제한적인 권한을 가진 하위 폴더가없는 각 공유 폴더를 권한 계층 구조의 루트로 만들면 문제가 완화됩니다. 그래도 여전히 추악합니다. (2200+ 이상의 개별 공유 폴더가있는 W2K3 서버가 있는데 성능 문제가 발생하지 않습니다 ...)
Evan Anderson

3

관리자로 이동할 때 xcopy / s / e / c / h / r / k / y-파일 소유권 및 ACL을 제외한 모든 것을 사용합니다. 즉, ACL 상속이 자동으로 시작됩니다. 사용자가 실제로 상황을 처리 할 필요가 없었습니다. 그래도 물건을 옮겼습니다.


2
사용자가 살아 있습니까?
Evan Anderson

4
때로는 궁금합니다 ...
Maximus Minimus

@ 짝수 : 아마 두 그룹에 아무도 없습니다!
SamB

파일을 유지할 때 (다른 많은 것들과 함께)이 문제를 해결하는 도구로 사람들을 이끌 기 위해 +1 그러나 XCOPY는 감가 상각되었습니다. ROBOCOPY.EXE는 매우 유능한 후계자입니다.
jnaab

2
nitpicking에 대해 죄송하지만 파일을 _copy_ (파일을 _moving_하는 대신) _copy_하지는 않습니다.-복사에 문제가없는 것 같습니다. 그는 _moving_에만 문제가 있습니다. 나는이 경험이 부족한이 BC에 잘못되었을 수 있으므로 내가 틀렸다면 나를 수정하십시오 (예 : 'xcopy'를 사용한 후 'del'명령을 사용하면 파일이 실제로 '복사되어 삭제됩니다'! = 이동?)
colemik

3

그룹 정책 / 보안 정책 / 파일 시스템을 사용하여 복잡한 권한을 추적합니다. 정책에서 "권한 바꾸기"를 사용하지 마십시오.

밤 동안 모든 권한을 재설정하도록 CACLS를 예약 한 다음 gpupdate / force로 정책의 권한을 다시 적용하십시오. 매력처럼 작동합니다.


아마도 이것은 Windows 서버에만 해당됩니까? 그룹 정책을 도메인 개체에 적용해야하므로 상상할 수없는 비 Windows 저장소 공유에는 적용 할 수 없습니까?
Rich M

2

Windows 7 (또는 Windows Vista) 이후, 폴더 또는 파일이 폴더를 이동하고 소스 및 대상이 동일한 NTFS 볼륨에있는 경우 (파일 또는 폴더가 탐색기를 통해 복사되는 경우) 폴더 또는 파일에 대한 권한이 상위에서 상속됩니다. 이전 OS에서는 Far manager를 사용할 수 있습니다. 수많은 다른 기능과 함께 대상에서 권한 상속을 활성화 할 수 있습니다. Far는 일반 사용자에게는 친숙하지 않을 수 있습니다.


0

매우 간단한 해결 방법은 파일을 압축하여 대상 디렉토리로 압축 해제하는 것입니다.


방금 시도했지만 불행히도 작동하지 않았습니다. Zip 아카이브에 대한 권한은 다른 작업을하기 전에 다릅니다. 상속 된 권한은 유지되지만 명시적인 권한은 생성되지 않습니다.
Rich M
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.