Windows 파일 권한 및 속성 보안 설정과 속성

전체 Windows 파일 보안 체계에 대해 다소 혼란 스럽습니다. 나는 유닉스 배경에서 왔으므로 파일 권한 / 보안 설정과 속성 간의 관계를 완전히 이해하지 못합니다. 특히 파일이 가질 수있는 읽기 전용입니다.

예를 들어, 관리자로 내 상자에 로그인하고 관리자를 완전히 제어 할 수 있지만 읽기 전용 특성이 설정되어있는 파일이있는 경우 해당 파일에 쓸 수 없습니다? 내가 완전히 제어 할 수있는 파일에 쓸 수있는 읽기 전용 특성을 제거하는 것 외에 다른 방법이 있습니까? 그렇지 않은 경우 실제로 완전히 제어 할 수없는 경우 전체 제어 권한을 갖는 이점은 무엇입니까?



답변

파일 권한은 파일과 같이 파일에 대한 액세스 권한을 나타냅니다. 모든 권한을 통해 권한을 생성, 삭제, 추가, 변경하고 속성을 변경할 수 있습니다.

파일 및 폴더는 대부분의 * nix 파일 시스템의 파일과 유사한 추가 속성을 가질 수 있습니다. “숨겨진”은 두 플랫폼 모두에서 이에 대한 예입니다.

Windows에서 일부 추가 속성에는 시스템, 읽기 전용, 아카이브, 암호화 및 압축이 포함됩니다. 모든 권한을 갖거나 수정하면 이러한 속성을 변경할 수 있지만 발견 한대로 읽기 전용 파일은 모든 권한을 가진 사람에게도 읽기 전용입니다. 모든 권한은 파일의 속성을 변경하는 기능을 제공하지만, ls기본적으로 * nix에서 루트 사용자에게 숨겨진 파일을 표시하지 않는 것과 같이 파일 속성을 자동으로 재정의 하지는 않습니다.


답변

권한은 보안 제어입니다. 작업을 시도하는 보안 주체에 관계없이 특성이 적용됩니다.

명령 프롬프트에 표시되는 것보다 훨씬 더 많은 속성이 있습니다. 여기에는 파일이 링크, 암호화 된 디렉토리 (파일 유형) 및 무결성 (낮음, 중간 또는 높음)이 포함됩니다.

파일 속성 상수
http://msdn.microsoft.com/en-us/library/windows/desktop/gg258117%28v=vs.85%29.aspx

FILE_ATTRIBUTE_ARCHIVE 32 (0x20)

아카이브 파일 또는 디렉토리 인 파일 또는 디렉토리. 응용 프로그램은 일반적으로이 속성을 사용하여 파일을 백업 또는 제거하도록 표시합니다.

FILE_ATTRIBUTE_COMPRESSED 2048 (0x800)

압축 된 파일 또는 디렉토리. 파일의 경우 파일의 모든 데이터가 압축됩니다. 디렉토리의 경우 압축은 새로 작성된 파일 및 서브 디렉토리의 기본값입니다.

FILE_ATTRIBUTE_DEVICE 64 (0x40)

이 값은 시스템 사용을 위해 예약되어 있습니다.

FILE_ATTRIBUTE_DIRECTORY 16 (0x10)

디렉토리를 식별하는 핸들입니다.

FILE_ATTRIBUTE_ENCRYPTED 16384 (0x4000)

암호화 된 파일 또는 디렉토리. 파일의 경우 파일의 모든 데이터 스트림이 암호화됩니다. 디렉토리의 경우 암호화는 새로 작성된 파일 및 서브 디렉토리의 기본값입니다.

FILE_ATTRIBUTE_HIDDEN2 (0x2) 파일 또는 디렉토리가 숨겨져 있습니다. 일반적인 디렉토리 목록에는 포함되어 있지 않습니다.

FILE_ATTRIBUTE_INTEGRITY_STREAM 32768 (0x8000)

디렉토리 또는 사용자 데이터 스트림은 무결성으로 구성됩니다 (ReFS ​​볼륨에서만 지원됨). 일반적인 디렉토리 목록에는 포함되어 있지 않습니다. 파일 이름이 바뀌면 무결성 설정이 파일과 함께 유지됩니다. 파일이 복사되면 소스 파일 또는 대상 디렉토리에 무결성이 설정되어 있으면 대상 파일의 무결성이 설정됩니다.

Windows Server 2008 R2, Windows 7, Windows Server 2008, Windows Vista, Windows Server 2003 및 Windows XP :이 플래그는 Windows Server 2012까지 지원되지 않습니다.

FILE_ATTRIBUTE_NORMAL 128 (0x80)

다른 속성이 설정되지 않은 파일 이 속성은 단독으로 사용하는 경우에만 유효합니다.

FILE_ATTRIBUTE_NOT_CONTENT_INDEXED 8192 (0x2000)

파일 또는 디렉토리는 컨텐츠 인덱싱 서비스에 의해 인덱싱되지 않습니다.

FILE_ATTRIBUTE_NO_SCRUB_DATA 131072 (0x20000)

백그라운드 데이터 무결성 스캐너 (AKA 스크러버)에서 사용자 데이터 스트림을 읽지 않아야합니다. 디렉토리에 설정하면 상속 만 제공합니다. 이 플래그는 스토리지 공간 및 ReFS 볼륨에서만 지원됩니다. 일반적인 디렉토리 목록에는 포함되어 있지 않습니다.

Windows Server 2008 R2, Windows 7, Windows Server 2008, Windows Vista, Windows Server 2003 및 Windows XP :이 플래그는 Windows 8 및 Windows Server 2012까지 지원되지 않습니다.

FILE_ATTRIBUTE_OFFLINE 4096 (0x1000)

파일의 데이터는 즉시 사용할 수 없습니다. 이 속성은 파일 데이터가 실제로 오프라인 스토리지로 이동되었음을 나타냅니다. 이 속성은 계층 스토리지 관리 소프트웨어 인 원격 스토리지에서 사용됩니다. 응용 프로그램은이 속성을 임의로 변경해서는 안됩니다.

FILE_ATTRIBUTE_READONLY 1 (0x1)

읽기 전용 파일입니다. 응용 프로그램은 파일을 읽을 수 있지만 파일에 쓰거나 삭제할 수 없습니다. 이 속성은 디렉토리에서 적용되지 않습니다. 자세한 내용은 Windows Server 2003, Windows XP, Windows Vista 또는 Windows 7에서 폴더의 읽기 전용 또는 시스템 특성을 보거나 변경할 수 없음을 참조하십시오.

FILE_ATTRIBUTE_REPARSE_POINT 1024 (0x400)

관련 재분석 지점이있는 파일 또는 디렉토리 또는 기호 링크 인 파일.

FILE_ATTRIBUTE_SPARSE_FILE 512 (0x200)

스파 스 파일 인 파일입니다.

FILE_ATTRIBUTE_SYSTEM 4 (0x4)

운영 체제가 일부를 사용하거나 독점적으로 사용하는 파일 또는 디렉토리입니다.

FILE_ATTRIBUTE_TEMPORARY 256 (0x100)

임시 저장소에 사용중인 파일입니다. 충분한 캐시 메모리가 사용 가능한 경우 파일 시스템은 일반적으로 핸들이 닫힌 후 애플리케이션이 임시 파일을 삭제하기 때문에 대용량 스토리지에 데이터를 다시 쓰지 않습니다. 이 시나리오에서 시스템은 데이터 쓰기를 완전히 피할 수 있습니다. 그렇지 않으면 핸들이 닫힌 후 데이터가 기록됩니다.

FILE_ATTRIBUTE_VIRTUAL 65536 (0x10000)

이 값은 시스템 사용을 위해 예약되어 있습니다.


답변

더 긴 답변을 제공 할 것이지만 일반적으로 DOS FAT 파일 시스템 시절의 파일에 대한 레거시 설정은 일반적으로 언급하는 속성입니다. FAT는 이러한 속성을 파일의 파일 시스템 디렉토리 항목의 일부로 저장합니다. NTFS에는 이전 특성을 캡슐화하는 고유 한 특성 집합이 있습니다. 기본적으로 파일 액세스 권한이있는 사용자는 파일을 수정할 수 있으며 실수로 데이터를 덮어 쓰는 것을 방지하는 데 사용할 수 있습니다.

사용 권한은 NTFS에 따라 다르며 해당 사용 권한에 대한 변경 내용은 사용자별로 제어 할 수 있으므로 사용자는 읽기 전용에서 쓰기 가능으로 변경할 수 없습니다. 특히 attrib 명령 (이후 버전의 Windows에서 무결성과 같은 레거시 및 새로운 속성 추가를 모두 표시)을 살펴보면 권한에 읽기 전용 액세스 권한을 설정했지만 속성에 읽기 전용 권한을 설정하지는 않았을 수 있습니다. 추상화로 인해 일반 GUI에 표시되지 않고 레거시 속성 ($ standard_information NTFS 속성에 저장 됨)을 기술적으로 가능하게하는 것이 기술적으로 가능하다는 것을 이해하는 것도 흥미 롭습니다 (중요하지 않은 경우).

특히 모든 권한을 사용하면 NTFS 권한을 변경할 수 있습니다. 읽기 전용 속성을 설정하면 제거 될 때까지 변경 사항이 방지됩니다.

FAT 속성은 Windows의 NTFS 속성보다 우선합니다.