부모의 ACL을 변경할 때 Windows가 모든 NTFS 자식 개체를 처리하는 이유는 무엇입니까?


10

부모의 ACL을 변경할 때 Windows가 모든 NTFS 자식 개체를 처리하는 이유는 무엇입니까?

"모든 하위 개체 권한 바꾸기 ..."상자를 선택하면이 동작이 예상되지만 해당 상자를 선택하지 않은 경우에도 Windows는 모든 하위를 처리합니다.


@Ben 상속 된 권한의 계단식은 상속이 활성화 된 모든 하위 개체에 복제 되어야 하므로 Windows 셸에서 수행되지 않으므로 Windows API를 직접 호출 할 때도 수행해야합니다. 참고 : 성능상의 이유로 권한이 복제됩니다.
Andreas

답변:


10

Windows에서 파일 권한은 동적으로 상속되지 않습니다. 즉, 파일을 열려고하면 Windows는 파일을 포함하는 트리에있는 디렉토리의 ACL이 아니라 해당 파일의 ACL 만 찾습니다. 즉, 디렉토리의 ACL을 변경하면 Windows는 영향을받는 디렉토리 내의 모든 파일 및 하위 디렉토리의 권한을 즉시 업데이트해야합니다.

Windows에서 ACL 의 상속 설정은 어떠한 형태의 동적 상속도 나타내지 않습니다. 상위 디렉토리의 ACL이 수정 될 때 상속 플래그가 설정된 트리의 모든 파일 및 서브 디렉토리도 업데이트되어야 함을 표시하는 플래그 일뿐입니다.

Novell NetWare를 기억할 정도로 나이가 많은 사람들은 NetWare에서 권한 상속이 (was?) 동적이기 때문에 이것이 NetWare와 큰 차이점 중 하나임을 기억할 것입니다. 역사가 문제를 약화 시켰지만 어떤 접근법이 더 나은지에 대해서는 많은 논쟁이있었습니다. 동적 ACL은 파일을 열려고 시도 할 때 OS가 모든 상위 디렉토리의 ACL을 확인하도록 요구하지만 ACL을 변경하는 것은 빠릅니다. Windows에서 파일을 열 때 단일 ACL 만 확인하면되지만, 디렉토리 ACL 변경이 느릴 수 있음을 의미합니다.


1
이것은 완벽하게 이해됩니다. ACL은 쓰여진 것보다 훨씬 많이 읽히므로, 좀 더 복잡한 쓰기 사용 사례에서 더 복잡한 비용으로 더 빠른 읽기 액세스를 위해 "상속 된 값"을 캐시하는 것이 좋습니다.
알렉산더-복원 모니카

@ 알렉산더 : 내가 이해하지 못하는 것은이 복잡성이 최종 사용자에게 노출되어야하는 이유입니다. 왜 최종 사용자에게 "동적"이지만 거짓말을 내부적으로 캐시하지 않겠습니까?
케빈

@Kevin-권한을 전파하는 데 시간이 걸리고 그 기간 동안 권한을 강제로 적용하지 못할 수 있습니까?
davidbak

13

부모 개체로부터 권한을 상속 받도록 구성된 모든 자식 개체를 처리해야합니다. 자식 개체에 대해 명시 적으로 정의 된 권한은 영향을받지 않습니다.

"모든 하위 개체에 대한 권한 바꾸기"옵션은 모든 하위 개체에 권한을 전파 할뿐만 아니라 모든 하위 개체에 대해 명시 적으로 정의 된 권한을 제거하고 대체합니다.


5

기본적으로 하위 폴더는 상위 폴더의 권한을 상속합니다. 상위 폴더 (이 폴더, 하위 폴더 및 파일)에 대한 권한을 추가 / 수정할 때 기본 범위를 가정하면 모든 하위 폴더가 상위의 권한 변경 사항을 반영하도록 업데이트됩니다.

언급 한 확인란은 모든 하위 폴더에 대해 명시 적으로 정의 된 모든 권한을 제거하고 상위 폴더에서 상속 가능한 권한으로 대체하고 하위 폴더에 대한 권한 상속을 다시 활성화하는 "일회성"작업입니다.

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