[주의!] 문서의 이전 버전(에 수정)을 보고 있습니다. 최신 버전으로 이동
↑ 상위 문서: ACL
1. 개요2. ACL의 종류
2.1. 문서 ACL2.2. 이름공간 ACL
3. 권한 타입
3.1. 읽기3.2. 편집3.3. 이동3.4. 삭제3.5. 토론 생성3.6. 토론 댓글3.7. 편집 요청3.8. ACL
4. ACL 규칙의 구성
4.1. No (순서)4.2. Condition (조건)4.3. Action (동작)4.4. Duration (기간)
5. 규칙 평가 방식6. 권한 부족 메시지7. 기타8. 관련 문서

1. 개요[편집]

the seed의 ACL에 대해 정리한 문서.

2. ACL의 종류[편집]

2.1. 문서 ACL[편집]

  • 특정 문서에만 적용되는 ACL.
  • 문서 ACL이 존재할 경우, 해당 문서의 권한 판정 시 우선 적용된다.

2.2. 이름공간 ACL[편집]

  • 특정 이름공간 전체에 적용되는 ACL.
  • 문서 ACL이 존재하지 않거나, 특정 권한 타입에 대해 문서 ACL이 정의되지 않은 경우에만 사용된다.
  • 이름공간 ACL을 편집하려면 nsacl 권한이 필요하다.

3. 권한 타입[편집]

각 문서/이름공간 ACL은 다음 8가지 타입[1]에 대해 개별적으로 규칙을 설정할 수 있다.

3.1. 읽기[편집]

  • 문서를 읽을 수 있는 권한.
  • 읽기 권한이 없으면 문서 열람뿐만 아니라 대부분의 작업(편집, 이동, 삭제, 토론 등)도 차단된다.
  • 읽기 타입은 이름공간 ACL에만 존재한다.

3.2. 편집[편집]

  • 문서를 편집할 수 있는 권한.
  • 편집 권한이 없으면 문서 이동과 삭제도 불가능하다.

3.3. 이동[편집]

  • 문서의 이동할 수 있는 권한.

3.4. 삭제[편집]

  • 문서를 삭제할 수 있는 권한.

3.5. 토론 생성[편집]

  • 토론을 생성할 수 있는 권한.

3.6. 토론 댓글[편집]

  • 토론에 댓글을 작성할 수 있는 권한.
  • 토론 댓글 권한이 없으면 토론 생성도 불가능하다.

3.7. 편집 요청[편집]

  • 편집 요청을 생성할 수 있는 권한.

3.8. ACL[편집]

  • ACL을 설정하고 수정할 수 있는 권한.

4. ACL 규칙의 구성[편집]

각 ACL 규칙은 다음 항목들로 구성된다.

4.1. No (순서)[편집]

  • ACL 규칙은 순서대로 적용된다.
  • 먼저 적용되는 규칙이 일치하면 해당 규칙만 적용되고, 이후 규칙은 무시된다.
  • 규칙의 No는 추가한 순서대로 자동 증가하지만, 나중에 수동으로 변경 가능하다.

4.2. Condition (조건)[편집]

ACL이 적용될 대상을 지정한다. 다음과 같은 조건을 설정할 수 있다.
  • perm: 특정 권한 보유자
  • user: 특정 사용자 이름
  • ip: 특정 IP 주소
  • geoip: 국가 코드 (e.g. KR, US)
  • aclgroup: 미리 정의된 ACL 그룹 (e.g. aclgroup:차단된 사용자)

4.3. Action (동작)[편집]

조건에 일치하는 대상에게 어떤 동작을 할지 결정한다.
  • 허용(allow): 허용함
  • 거부(deny): 거부함
  • 이름공간 ACL 실행(gotons): 조건에 일치하는 대상은 이름공간 ACL을 실행함 (문서 ACL에서만 사용 가능)

4.4. Duration (기간)[편집]

해당 ACL 규칙이 유효한 기간.
  • 영구: 영구적으로 적용
  • 날짜 지정: 특정 날짜까지 적용 (e.g. 2025-12-31)

5. 규칙 평가 방식[편집]

  • ACL은 권한 타입별로 따로 평가된다. 즉, 읽기 타입과 편집 타입의 규칙은 서로 영향을 주지 않는다.
  • 각 타입마다 설정된 규칙은 No 순서대로 적용된다.
  • 조건에 일치하는 규칙이 있으면 해당 Action을 적용하고 종료한다.
  • 끝까지 조건이 일치하는 규칙이 없어 규칙의 끝에 도달한다면 거부된다.

6. 권한 부족 메시지[편집]

ACL에서 권한이 부족할 때 두 가지 방식으로 메시지를 제공한다. ACL에서 자주 사용되는 권한(perm)은 한글화되어 있다.[2]

규칙에서 직접 거부[3]되었을 때
거부당한 사유를 안내한다.
e.g.
  • 아무나이기 때문에 편집 권한이 부족합니다.
  • 아이피 사용자이기 때문에 토론 댓글 권한이 부족합니다.

규칙의 끝에 도달하여 거부당했을 때
규칙에서 허용[4]하는 조건을 안내한다.
e.g.
  • 편집 권한이 부족합니다. 문서 제목과 사용자 이름이 일치(이)여야 합니다.
  • 삭제 권한이 부족합니다. 특정 사용자 OR 관리자(이)여야 합니다.

7. 기타[편집]

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

8. 관련 문서[편집]

[1] 문서 ACL은 읽기가 제외된 7가지[2] e.g. perm:admin => 관리자[3] action: deny[4] action: allow 또는 gotons