보안 서술자

**보안 서술자**(security descriptor)는 보호 가능한 윈도우 객체 즉 고유한 이름으로 식별할 수 있는 객체에 대한 보안 정보의 데이터 구조이다. 보안 서술자는 파일, 폴더, 공유, 레지스트리 키, 프로세스, 스레드, 명명된 파이프, 서비스, 작업 객체 및 기타 리소스를 포함하여 모든 명명된 객체와 연결할 수 있다.accessdate=2008-07-16 보안 서술자는 사용자 또는 그룹과 같은 수탁자에 대한 접근을 허용하거나 거부하는 접근 제어 엔트리(ACE)를 포함하는 재량적 접근 제어 목록(DACL)을 포함한다. 또한 객체 접근 감사를 제어하는 시스템 접근 제어 목록(SACL)을 포함한다.archivedate=2008-05-05accessdate=2008-07-16 ACE는 객체에 명시적으로 적용되거나 부모 객체로부터 상속될 수 있다. ACL에서 ACE의 순서는 중요하며, 접근 허용 ACE보다 접근 거부 ACE가 더 높은 순서로 나타난다. 보안 서술자에는 객체 소유자도 포함된다. 필수 무결성 제어는 보안 서술자의 새로운 유형의 ACE를 통해 구현된다.https://msdn.microsoft.com/en-us/library/bb625957.aspx What is the Windows Integrity Mechanism? 파일 및 폴더 권한은 파일 탐색기, WMI, Cacls, XCacls, ICacls, SubInACLSubInACL home page과 같은 명령줄 도구, 프리웨어 Win32 콘솔 FILEACL,FILEACL home page date=2012-08-29archivedate=April 16, 2008 자유 소프트웨어 유틸리티 SetACL 및 기타 유틸리티를 포함한 다양한 도구로 편집할 수 있다. 보안 서술자를 편집하려면 사용자에게 객체에 대한 WRITE_DAC 권한이 필요하며,accessdate=2008-07-23 이 권한은 일반적으로 기본적으로 관리자 및 객체 소유자에게 위임된다.
# NTFS 권한
다음 표는 NTFS 권한과 그 역할을 요약한 것이다(개별 행). 이 표는 다음 정보를 보여준다.accessdate=2017-11-24accessdate=2017-11-24accessdate=2017-11-24 * **권한 코드:** 각 접근 제어 엔트리(ACE)는 숫자 코드로 권한을 지정한다. 누적될 수 있는 14개의 코드(이전 시스템에서는 12개)가 있다. * **의미:** 각 권한 코드는 파일 또는 폴더에 적용되는지에 따라 의미가 다르다. 예를 들어, 파일의 코드 0x01은 파일을 읽을 권한을 나타내지만, 폴더의 코드 0x01은 폴더 내용을 나열할 권한을 나타낸다. 그러나 의미만 아는 것은 소용이 없다. ACE는 또한 누구에게 권한이 적용되는지, 그리고 그 권한이 부여되는지 또는 거부되는지를 지정해야 한다. * **포함된 권한:** 개별 권한 외에도 ACE는 "일반 접근 권한"으로 알려진 특별 권한을 지정할 수 있다. 이러한 특별 권한은 여러 개별 권한의 동등한 것이다. 예를 들어, GENERIC_READ(또는 GR)는 "데이터 읽기", "속성 읽기", "확장 속성 읽기", "권한 읽기" 및 "동기화"와 동등하다. 이 다섯 가지를 동시에 요청하는 것이 타당하므로 "GENERIC_READ"를 요청하는 것이 더 편리하다. * **별칭:** 보안 서술자 정의 언어와 윈도우 명령줄 유틸리티(icacls 및 cacls)에는 이러한 권한에 대한 자체 별칭이 있다. {|class="wikitable" |- ! rowspan="2" | 권한
코드 ! colspan="2" | 의미 ! colspan="5" | 포함된 권한 ! colspan="3" | 별칭 |- ! 파일용 ! 폴더용 ! RGENERIC_READ, 파일 탐색기에서는 "읽기"로 알려져 있다 ! EGENERIC_EXECUTE, 파일 탐색기에서는 "읽기 및 실행"으로 알려져 있다 ! WGENERIC_WRITE, 파일 탐색기에서는 "쓰기"로 알려져 있다 ! AGENERIC_ALL, 파일 탐색기에서는 "모든 권한"으로 알려져 있다 ! M파일 탐색기에서는 "수정"으로 알려져 있다 ! SDDL에서 ! icacls에서 ! cacls에서 |- | | 0x01 || 데이터 읽기 || 폴더 내용 나열 | Yes || Yes || || Yes || Yes || CC || RD || FILE_READ_DATA |- | | 0x80 || colspan="2" | 속성 읽기 | Yes || Yes || || Yes || Yes || DC || RA || FILE_READ_ATTRIBUTES |- | | 0x08 || colspan="2" | 확장 속성 읽기 | Yes || Yes || || Yes || Yes || SW || REA || FILE_READ_EA |- | | 0x20 || 파일 실행 || 폴더 트래버스 | || Yes || || Yes || Yes || WP || X || FILE_EXECUTE |- | | 0x20000 || colspan="2" | 권한 읽기 | Yes || Yes || Yes || Yes || Yes || RC || RC || READ_CONTROL |- | | 0x100000 || colspan="2" | 동기화 | Yes || Yes || Yes || Yes || Yes || || S || SYNCHRONIZE |- | | 0x02 || 데이터 쓰기 || 파일 생성 | || || Yes || Yes || Yes || DC || WD || FILE_WRITE_DATA |- | | 0x04 || 데이터 추가 || 폴더 생성 | || || Yes || Yes || Yes || LC || AD || FILE_APPEND_D |- | | 0x100 || colspan="2" | 속성 쓰기 | || || Yes || Yes || Yes || CR || WA || FILE_WRITE_ATTRIBUTES |- | | 0x10 || colspan="2" | 확장 속성 쓰기 | || || Yes || Yes || Yes || RP || WEA || FILE_WRITE_EA |- | | 0x10000 || colspan="2" | 삭제 (또는 이름 바꾸기) | || || || Yes || Yes || SD || DE || DELETE |- | | 0x40000 || colspan="2" | 권한 변경 | || || || Yes || || WD || WDAC || WRITE_DAC |- | | 0x80000 || colspan="2" | 소유권 가져오기 | || || || Yes || || WO || WO || WRITE_OWNER |- | | 0x40 || colspan="2" | 하위 폴더 및 파일 삭제 | || || || Yes || || DT || DC || FILE_DELETE_CHILD |} 대부분의 권한은 자명하지만, 다음은 예외이다. # 파일의 이름을 바꾸려면 "삭제" 권한이 필요하다. # 파일 탐색기는 "동기화"를 표시하지 않으며 항상 설정한다. 파일 탐색기 및 윈도우 명령 프롬프트와 같은 다중 스레드 앱은 파일 및 폴더에서 작업하려면 "동기화" 권한이 필요하다.date=18 November 2019
# 내용주
Notelist