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 === |
|---|
r21
| 13 | * 특정 이름공간에 속한 문서 전체에 적용되는 ACL. |
|---|
r1
| 14 | * 문서 ACL이 존재하지 않거나, 특정 권한 타입에 대해 문서 ACL이 정의되지 않은 경우에만 사용된다. |
|---|
| 15 | * 이름공간 ACL을 편집하려면 [[nsacl]] 권한이 필요하다. |
|---|
| 16 | |
|---|
| 17 | == 권한 타입 == |
|---|
| 18 | |
|---|
r4
| 19 | === 읽기 (read) === |
|---|
r1
| 20 | * 문서를 읽을 수 있는 권한. |
|---|
r17
| 21 | * 읽기 권한이 없으면 문서 열람뿐만 아니라 대부분의 작업(편집, 이동, 삭제, 토론 등)도 차단된다.[* ACL 조회, 역링크와 (분류가 있는 경우) 분류를 통한 문서의 존재 확인은 가능하다.] |
|---|
r1
| 22 | * 읽기 타입은 이름공간 ACL에만 존재한다. |
|---|
| 23 | |
|---|
r4
| 24 | === 편집 (edit) === |
|---|
r1
| 25 | * 문서를 편집할 수 있는 권한. |
|---|
| 26 | * 편집 권한이 없으면 문서 이동과 삭제도 불가능하다. |
|---|
| 27 | |
|---|
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) === |
|---|
r19
| 45 | * ACL을 편집할 수 있는 권한. |
|---|
r1
| 46 | |
|---|
| 47 | == ACL 규칙의 구성 == |
|---|
| 48 | 각 ACL 규칙은 다음 항목들로 구성된다. |
|---|
| 49 | |
|---|
| 50 | === No (순서) === |
|---|
r14
| 51 | * ACL 규칙의 순서. |
|---|
r5
| 52 | * 규칙의 No는 추가한 순서대로 자동 증가하지만, 이후 드래그 앤 드롭으로 변경할 수 있다. |
|---|
r1
| 53 | |
|---|
| 54 | === Condition (조건) === |
|---|
| 55 | ACL이 적용될 대상을 지정한다. 다음과 같은 조건을 설정할 수 있다. |
|---|
| 56 | * perm: 특정 권한 보유자 |
|---|
r22
| 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 | * 영구: 영구적으로 적용 |
|---|
r26
| 72 | * 날짜 지정: 특정 날짜까지 적용 (e.g. 2025-12-31 01:23:45) |
|---|
r1
| 73 | == 규칙 평가 방식 == |
|---|
| 74 | * ACL은 권한 타입별로 따로 평가된다. 즉, 읽기 타입과 편집 타입의 규칙은 서로 영향을 주지 않는다. |
|---|
r10
| 75 | * 각 타입마다 설정된 규칙은 No 순서대로 실행된다. |
|---|
r6
| 76 | * 조건에 일치하는 규칙이 있으면 해당 규칙의 Action을 실행하고 종료한다. |
|---|
r20
| 77 | * 끝까지 조건이 일치하는 규칙이 없어 규칙의 끝에 도달한다면 거부된다.[* [[developer]] 권한이 있다면 허용된다.] |
|---|
r1
| 78 | |
|---|
| 79 | == 권한 부족 메시지 == |
|---|
r15
| 80 | ACL에서 권한이 부족할 때 두 가지 방식으로 메시지를 제공한다. ACL에서 자주 사용되는 권한(perm)은 한글화되어 있다.[* e.g. perm:admin => 관리자] |
|---|
r1
| 81 | |
|---|
r8
| 82 | {{{+1 규칙에서 직접 거부[* Action: deny]되었을 때}}} |
|---|
r1
| 83 | 거부당한 사유를 안내한다. |
|---|
| 84 | e.g. |
|---|
| 85 | * 아무나이기 때문에 편집 권한이 부족합니다. |
|---|
| 86 | * 아이피 사용자이기 때문에 토론 댓글 권한이 부족합니다. |
|---|
| 87 | |
|---|
| 88 | {{{+1 규칙의 끝에 도달하여 거부당했을 때}}} |
|---|
r8
| 89 | 규칙에서 허용[* Action: allow 또는 gotons]하는 조건을 안내한다. |
|---|
r1
| 90 | e.g. |
|---|
| 91 | * 편집 권한이 부족합니다. 문서 제목과 사용자 이름이 일치(이)여야 합니다. |
|---|
| 92 | * 삭제 권한이 부족합니다. 특정 사용자 OR 관리자(이)여야 합니다. |
|---|
r15
| 93 | * ACL에 허용 규칙이 없기 때문에 편집 권한이 부족합니다.[* Action이 deny인 규칙밖에 없거나 규칙이 아예 없는 상황] |
|---|
r18
| 94 | |
|---|
| 95 | == 문서 역사 로그 == |
|---|
| 96 | > ''(A,B,C,D으로 ACL 변경)'' |
|---|
| 97 | A: 추가/삭제 여부. 추가(insert)와 삭제(delete)로 나뉜다. |
|---|
| 98 | B: 권한 타입 |
|---|
| 99 | C: Action (동작) |
|---|
| 100 | D: Condition (조건) |
|---|
| 101 | |
|---|
r1
| 102 | == 기타 == |
|---|
| 103 | * 한 권한 타입에 같은 Condition을 가진 규칙을 2개 이상 생성할 수 없다. |
|---|
| 104 | * 문서 ACL의 ACL 권한 타입 편집은 [[nsacl]] 권한이 필요하다. 추가로 nsacl 권한이 있다면 문서 ACL의 ACL 권한 타입 설정의 영향을 받지 않는다.(거부되어도 ACL 편집이 가능하다.) |
|---|
r2
| 105 | |
|---|
r1
| 106 | == 관련 문서 == |
|---|
r16
| 107 | * [[ACL 변경 용어]] |
|---|
r23
| 108 | * [[ACL 그룹]] |
|---|
| 109 | |
|---|
| 110 | [각주] |
|---|
| 111 | ##ACL 허용 규칙 부분 가져와서 여기로 병합 |
|---|
r24
| 112 | [include(틀:문서 가져옴/the seed, 위키=더시드위키, 문서명=ACLGroup, 버전=77, uuid=2ee7369b-5910-4a23-aeeb-79809b12a61e)] |
|---|