r34
r2
1[[분류:테스트]][[분류:the seed]]
r3
2[include(틀:상위 문서, 문서명1=ACL)]
r1

(새 문서)
3[목차]
4== 개요 ==
5[[the seed]]의 ACL에 대해 정리한 문서.
6
7== ACL의 종류 ==
8=== 문서 ACL ===
9 * 특정 문서에만 적용되는 ACL.
10 * 문서 ACL이 존재할 경우, 해당 문서의 권한 판정 시 우선 적용된다.
11
12=== 이름공간 ACL ===
r22
13 * 특정 이름공간에 속한 문서 전체에 적용되는 ACL.
r1

(새 문서)
14 * 문서 ACL이 존재하지 않거나, 특정 권한 타입에 대해 문서 ACL이 정의되지 않은 경우에만 사용된다.
15 * 이름공간 ACL을 편집하려면 [[nsacl]] 권한이 필요하다.
16
17== 권한 타입 ==
18
r4
19=== 읽기 (read) ===
r1

(새 문서)
20 * 문서를 읽을 수 있는 권한.
r18
21 * 읽기 권한이 없으면 문서 열람뿐만 아니라 대부분의 작업(편집, 이동, 삭제, 토론 등)도 차단된다.[* ACL 조회, 역링크와 (분류가 있는 경우) 분류를 통한 문서의 존재 확인은 가능하다.]
r1

(새 문서)
22 * 읽기 타입은 이름공간 ACL에만 존재한다.
r30
23 * 보통 이 권한이 일반 사용자에게 제한되는 경우는 휴지통 문서나 운영 보안 문서 정도이다.
r4
24=== 편집 (edit) ===
r1

(새 문서)
25 * 문서를 편집할 수 있는 권한.
26 * 편집 권한이 없으면 문서 이동과 삭제도 불가능하다.
r34
27 * 편집이 제한되는 문서에 이 편집 Acl을 변경한다.
r4
28=== 이동 (move) ===
r7
29 * 문서를 이동할 수 있는 권한.
r1

(새 문서)
30
r4
31=== 삭제 (delete) ===
r1

(새 문서)
32 * 문서를 삭제할 수 있는 권한.
33
r4
34=== 토론 생성 (create_thread) ===
r1

(새 문서)
35 * 토론을 생성할 수 있는 권한.
36
r4
37=== 토론 댓글 (write_thread_comment) ===
r1

(새 문서)
38 * 토론에 댓글을 작성할 수 있는 권한.
39 * 토론 댓글 권한이 없으면 토론 생성도 불가능하다.
40
r4
41=== 편집 요청 (edit_request) ===
r1

(새 문서)
42 * 편집 요청을 생성할 수 있는 권한.
43
r4
44=== ACL (acl) ===
r20
45 * ACL을 편집할 수 있는 권한.
r1

(새 문서)
46
47== ACL 규칙의 구성 ==
48각 ACL 규칙은 다음 항목들로 구성된다.
49
50=== No (순서) ===
r15
51 * ACL 규칙의 순서.
r5
52 * 규칙의 No는 추가한 순서대로 자동 증가하지만, 이후 드래그 앤 드롭으로 변경할 수 있다.
r1

(새 문서)
53
54=== Condition (조건) ===
55ACL이 적용될 대상을 지정한다. 다음과 같은 조건을 설정할 수 있다.
56 * perm: 특정 권한 보유자
r23
57 * e.g. perm:[[any]], perm:[[member]], perm:[[admin]], perm:[[auto_verified_member]], perm:[[match_username_and_document_title]]
r1

(새 문서)
58 * user: 특정 사용자 이름
59 * ip: 특정 IP 주소
60 * [[GeoIP|geoip]]: 국가 코드 (e.g. KR, US)
61 * [[ACLGroup|aclgroup]]: 미리 정의된 ACL 그룹 (e.g. aclgroup:차단된 사용자)
62
r2
63=== Action (동작) ===
64조건에 일치하는 대상에게 어떤 동작을 할지 결정한다.
r1

(새 문서)
65 * 허용(allow): 허용함
66 * 거부(deny): 거부함
67 * 이름공간 ACL 실행(gotons): 조건에 일치하는 대상은 이름공간 ACL을 실행함 (문서 ACL에서만 사용 가능)
68
69=== Duration (기간) ===
70해당 ACL 규칙이 유효한 기간.
71 * 영구: 영구적으로 적용
r27
72 * 날짜 지정: 특정 날짜까지 적용 (e.g. 2025-12-31 01:23:45)
r1

(새 문서)
73== 규칙 평가 방식 ==
r10
74 * 각 타입마다 설정된 규칙은 No 순서대로 실행된다.
r6
75 * 조건에 일치하는 규칙이 있으면 해당 규칙의 Action을 실행하고 종료한다.
r21
76 * 끝까지 조건이 일치하는 규칙이 없어 규칙의 끝에 도달한다면 거부된다.[* [[developer]] 권한이 있다면 허용된다.]
r1

(새 문서)
77
78== 권한 부족 메시지 ==
r16
79ACL에서 권한이 부족할 때 두 가지 방식으로 메시지를 제공한다. ACL에서 자주 사용되는 권한(perm)은 한글화되어 있다.[* e.g. perm:admin => 관리자]
r1

(새 문서)
80
r8
81{{{+1 규칙에서 직접 거부[* Action: deny]되었을 때}}}
r1

(새 문서)
82거부당한 사유를 안내한다.
83e.g.
84 * 아무나이기 때문에 편집 권한이 부족합니다.
85 * 아이피 사용자이기 때문에 토론 댓글 권한이 부족합니다.
86
87{{{+1 규칙의 끝에 도달하여 거부당했을 때}}}
r8
88규칙에서 허용[* Action: allow 또는 gotons]하는 조건을 안내한다.
r1

(새 문서)
89e.g.
90 * 편집 권한이 부족합니다. 문서 제목과 사용자 이름이 일치(이)여야 합니다.
91 * 삭제 권한이 부족합니다. 특정 사용자 OR 관리자(이)여야 합니다.
r16
92 * ACL에 허용 규칙이 없기 때문에 편집 권한이 부족합니다.[* Action이 deny인 규칙밖에 없거나 규칙이 아예 없는 상황]
r19
93
94== 문서 역사 로그 ==
95> ''(A,B,C,D으로 ACL 변경)''
96A: 추가/삭제 여부. 추가(insert)와 삭제(delete)로 나뉜다.
97B: 권한 타입
98C: Action (동작)
99D: Condition (조건)
100
r1

(새 문서)
101== 기타 ==
102 * 한 권한 타입에 같은 Condition을 가진 규칙을 2개 이상 생성할 수 없다.
103 * 문서 ACL의 ACL 권한 타입 편집은 [[nsacl]] 권한이 필요하다. 추가로 nsacl 권한이 있다면 문서 ACL의 ACL 권한 타입 설정의 영향을 받지 않는다.(거부되어도 ACL 편집이 가능하다.)
r33

(r31으로 되돌림)
104 * 예전에는 ACL 변경 시에도 편집 요약을 남길 수 있었으나 현재는 불가능하다.
r2
105
r1

(새 문서)
106== 관련 문서 ==
r17
107 * [[ACL 변경 용어]]
r28
108 * [[ACL 그룹]]