NTFS 권한-파일 및 폴더를 만들지 만 삭제 및 수정은 방지


10

목표 : 사용자가 파일을 만들 수 있지만 파일을 수정하거나 삭제할 수없는 공유 폴더입니다. 사용자는 하위 폴더도 만들 수 있어야합니다.

보안 그룹에 다음과 같은 고급 NTFS 권한을 부여했습니다.

  • 폴더 탐색 / 파일 실행
  • 폴더 목록 / 데이터 읽기
  • 속성 읽기
  • 확장 된 속성 읽기
  • 파일 작성 / 데이터 쓰기
  • 읽기 권한

시행 착오 과정을 통해 '쓰기 속성'을 부여 하지 않으면 사용자가 기존 파일을 수정 / 삭제하지 못하게하는 효과가 있음을 알았습니다. 그러나 왜 이것이 작동하는지 정확하게 설명하고 싶습니다. 내가 가진 유일한 이론은 파일의 삭제 / 수정이 파일의 속성을 변경한다는 것입니다. 여기 같은 줄에 대한 토론이 있습니다 .

편집-내 질문의 두 번째 부분은 관련이 없습니다. '파일 만들기 / 데이터 쓰기'만 선택했다고 생각했지만 '폴더 만들기 / 데이터 추가'도 선택했습니다.

또한 사용자가 루트 내에서 하위 폴더를 만들 수 있기를 원하며 'Create Files / Write Data'를 부여하면 이것이 가능합니다. 그러나 다시 말하지만,이 권한은이 권한이 폴더가 아닌 파일의 생성 만 허용해야한다고 제안합니다. 왜 작동하는지 이해할 수 없습니까? '파일 만들기 / 데이터 쓰기'특성 에 대한 Microsoft의 설명 은 "폴더의 경우 사용자가 폴더 내에서 파일을 만들 수 있는지 여부를 지정합니다. 파일의 경우 파일을 변경하거나 데이터를 덮어 쓸 수 있는지 여부를 지정합니다." 폴더 내에 하위 폴더를 만드는 기능에 대한 언급이 없습니까?

그래서 기본적으로, 나는 내가 뭘했는지 알고 있었지만 왜 작동하는지 이해하지 못했습니까?


NTFS 파일의 내용은 "속성"입니다. 즉, 이름이 지정되지 않은 기본 데이터 속성 및 하나 이상의 이름이 지정된 데이터 속성입니다.
kreemoweet

또한 여기에 좋은 답변이 있습니다 : superuser.com/a/1145363/132727
CrazyTim

답변:


7

시행 착오 과정을 통해 '쓰기 속성'을 부여하지 않으면 사용자가 기존 파일을 수정 / 삭제하지 못하게하는 효과가 있음을 알았습니다. 그러나 왜 이것이 작동하는지 정확하게 설명하고 싶습니다.

이것은 정확하게의 함수 방법 파일 변경이 발생합니다. 파일을 수정할 때 운영 체제는 실제로 편집중인 파일을 수정하지 않습니다. 편집중인 파일이 변경 한 사본으로 바뀝니다. 따라서 기본적으로 파일 수정은 원본 파일의 복사본을 가져 와서 메모리에로드하고 (수정 한 위치) 원본 파일을 삭제하고 같은 위치에 동일한 이름의 새 파일을 만듭니다. Delete파일을 수정하려면 NTFS 권한이 필요한 이유 입니다. 실제로 Advanced permissionsNTFS 개체 를 검사하는 경우 Modify권한 이 없습니다 . 수정은 실제로 삭제 및 쓰기 일뿐입니다.

따라서 파일의 새 사본을 작성하려면이 새 파일의 파일 속성을 작성해야합니다 Write attributes. 물론 속성을 작성하려면 NTFS 권한이 필요합니다 . 따라서 Write attributesNTFS 권한이 없으면 파일을 수정할 수 없습니다 .

특히, 피츠로이과의 대화 덕분에NTFS 파일 속성 요구 사항이 기록 될 것으로 사용자의 보안 컨텍스트에서 (를 빼고, 그 수없는 Write Attributes완전히 새로운 하나를 만들 때 파일을 수정하지만,하지 않을 경우 허가), 것 될 파일의를 LastModificationTime. 이것은 Standard InformationMicrosoft Core Team 개발자 중 하나에 따르면 속성 의 일부입니다 .


1
"파일을 수정하려면 NTFS 삭제 권한이 필요한 이유입니다. 실제로 NTFS 개체에 대한 고급 권한을 확인하면 수정 권한이 없습니다. 수정은 실제로 삭제와 쓰기뿐입니다." 당신은 어떤 사실이나 참조로 그것을 지원할 수 있습니까? 추가 테스트를 통해 간단한 텍스트 파일의 내용을 수정하기 위해 (메모장 사용) 속성 쓰기, 확장 속성 쓰기 및 폴더 / 추가 데이터 권한을 추가했습니다. 파일을 수정할 때 다른 프로그램이 다른 동작을 보일 수 있음을 인정합니다 ...
Fitzroy

...하지만이 테스트는 '삭제'가 필요하지 않다고 생각합니다.
Fitzroy

"이것은 파일 수정이 발생하는 방식의 정확한 기능입니다. 파일을 수정할 때 운영 체제는 실제로 편집중인 파일을 수정하지 않습니다. 편집중인 파일을 변경 한 사본으로 대체합니다. 기본적으로 파일 수정은 원본 파일의 사본을 가져 와서 메모리에로드하고 (수정 한 위치) 원본 파일을 삭제하고 같은 위치에 동일한 이름의 새 파일을 만듭니다. " - 다양한 기술 수준에서 오해의 소지가 있고 부정확합니다 .
user2864740

3

'속성 쓰기'권한이 없으면 사용자가 파일을 수정할 수 없습니다. 그리고 Microsoft 문서에 따르면 이해가되지 않습니다. 그러나 파일을 수정 한다고 해서 파일 이 삭제 되고 재생되는 것은 아닙니다. 응용 프로그램이 수정을 위해 파일을 열면 운영 체제는 파일을 삭제하지 않습니다. 그러나 OS가하는 일은 동시 수정을 막기 위해 파일을 잠그는 것입니다. 내 생각에 파일 잠금은 '파일 속성 변경'개념에 속합니다. 따라서 속성을 변경할 수 없으면 파일을 수정할 수 없습니다.

귀하의 질문의 두 번째 부분에서는 재현 할 수 없습니다. 폴더에 적용되는 두 가지 다른 권한 인 'Create Files / ...'및 'Create Folders / ...'가 있으며 테스트 중에 문서에 따라 작동했습니다.


Drk-답을 소화하는 것. 참고-질문에 대한 권한을 생략했습니다. '확장 속성 읽기'도 나열해야합니다. 이 권한이 없으면 사용자가 파일의 내용을 볼 수 없습니다 ( '액세스가 거부되었습니다'오류가 발생 함). 이에 따라 내 질문을 업데이트했습니다.
Fitzroy

좋아, 내 시험에서 나는 당신도 그 허가를 부여한다고 가정했다. 그 발견 메모장 도 부여 '... / 쓰기 데이터'권한을 가진 파일을 수정할 수 없습니다. 주목할만한 또 다른 사항은 다음과 같습니다. 데이터 쓰기 및 데이터 추가 권한은 응용 프로그램에서 파일을 수정하기 위해 여는 방법에 따라 다릅니다. 필요하지 않더라도 항상 데이터를 추가하기 위해 메모장이 열린 파일 일 것입니다.
drk.com.ar

귀하의 질문의 두 번째 부분에서는 재현 할 수 없습니다. 폴더에 적용되는 두 가지 다른 권한 인 'Create Files / ...'및 'Create Folders / ...'가 있으며 테스트 중에 문서에 따라 작동했습니다. 당신은 옳습니다, 제 실수는 '파일 만들기 / 데이터 쓰기'만 선택했다고 생각했지만 '폴더 만들기 / 데이터 추가'도 선택했습니다.
Fitzroy
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.