ACL

 







나무위키에서 사용하고 있는 Access Control List 틀[1]
1. 개요
1.1. the seed에서의 ACL
1.1.1. IPACL
1.2. 모니위키에서의 ACL
1.3. 미디어위키에서의 보호 기능


1. 개요


방화벽, 웹 사이트 등에서 정보 이용 주체가 정보(객체)에 대해 어떤 권한을 가지는지 정해 놓은 목록. 주로 임의적 접근통제 방식[2]에서 사용한다. 모니위키나무위키에서 접근 제한에 사용된다. 간혹 "아클"이라고 읽는 경우가 있는데 "에이씨엘"로 읽는다.

1.1. the seed에서의 ACL


[인터페이스 보기·접기]

the seed에서 지원하는 기능이다. ACL의 거부 대상에 해당하는 경우 특정 기능의 이용이 제한된다. 문서에 ACL이 지정되었는지 여부는 문서 역사 및 ACL 메뉴에서 확인할 수 있다. 참고로 나무위키 문서에 걸리는 ACL은 다음과 같다. 자세히 열람하려면 이곳을 보자. ACL은 관리자만 변경할 수 있다. 단, 휴지통 문서나 파일휴지통, 위키운영 문서의 경우에는 아무도 변경할 수 없다.

  • (a,b,c,d으로 ACL 변경) r(숫자) (0) 운영진 이름 ()
  • a: 설정/해제 여부. 설정(insert)와 해제(delete)로 나뉜다.
  • b: 권한. read(읽기)[3], edit(편집)[4], delete(삭제), move(이동), create_thread(토론 발제), write_thread_comment(토론 댓글 달기), edit_request(편집 요청), acl(ACL 설정)으로 나뉜다.
  • c: 허용/거부 여부. 허용(allow)과 거부(deny), 이름공간ACL 실행(gotons)[5]으로 나뉜다.
  • d: perm, member, ip, aclgroup, geoip으로 나뉜다.
    • ip:127.0.0.1, member:관리자(사측 관리자) 등 특정 사용자만 허용/거부할 수 있으며[6][7], 권한별로 나눌 수도 있다.
    • 권한은 perm:으로 시작하며, any(아무나), member(로그인한 사용자), admin(관리자), member_signup_15days_ago(가입 후 15일이 지난 사용자), [8], [9], document_contributor(해당 문서에 1번이라도 기여한 사용자), match_username_and_document_title(사용자 이름과 문서 제목이 일치하는 경우)[10], contributor(위키 기여자)[11])로 나뉜다.
    • ACLGroup은 aclgroup으로 시작하며 특정 사용자를 추가하거나 삭제할수 있다. 현재까지 확인된 것으로는 경고, 편집요청 차단, 차단된 사용자[12], IDC[13], 로그인 허용 차단[14], VPNGate[15]가 있다. 이중 로그인 허용 차단 그룹이나 VPNGate 그룹의 경우 기본 이름공간에서 perm:member 다음에 위치하고 있어 로그인시 편집이 가능하도록 되어 있다.
문서 ACL이 존재하지 않는다면 이름공간 ACL이 적용되는데, 만약 문서 ACL에 해당 사용자가 정의되어 있지 않다면 무조건 거부된다.[16]
관리자의 사용자 문서에 위와 같은 형식이 아니라 ''(everyone, everyone, everyone, admin, everyone)''와 같은 형식으로 기록되어 있는데, 이것은 현재 사용 중인 ACL이 아닌 과거에 사용하던 ACL버전에서 설정한 내용으로 당시에는 현재처럼 상세한 설정이 불가능했으며, 단순히 모든 사용자, 로그인한 사용자, 관리자로만 설정이 가능했으며 관리자의 사용자 문서에 나오는 버전은 abcde표기로 앞부터 순서대로 읽기 권한, 쓰기 권한, 삭제 권한, 토론 권한, 이동 권한이다.[17] 가끔 ABCDEF 표기나 false 이란 것이 나오는데 이것은 당시 봇 ACL(true)와 서로 구분을 짓기 위함이었다. 나중에 봇 ACL이 사라지면서 의미없어지기는 했지만.

1.1.1. IPACL


위의 문서 ACL과는 다르며, IP의 접근을 제어하는 기능이었다.[18] 4.18.0 업데이트를 통해 ACLGroup 기능이 대신 추가되면서 삭제되었다. IP 접근 제어 기능이라고 부르는 경우보다는 IP 차단 기능이라고 더 많이 불렀다.

1.2. 모니위키에서의 ACL


모니위키도 ACL 설정 기능을 제공하고 있으며, 나무위키의 것과는 달리 show(열람), editpage(편집) 등 문서 action의 권한을 지정하는 방식이다. 문제는 변변한 관리 인터페이스가 없어 직접 일일이 파일을 수정해야 반영이 되었다는 점인데, 이 때문에 리그베다 위키는 부관리자를 뽑는 데 소극적이게 되었다. 사유화 사태 이후 기능이 금방 만들어진 걸로 봐서는 못 만들었다기보다는 귀찮아서 넣지 않았을 가능성이 크다.
리그베다 위키에서는 2015년 리그베다 위키 사유화 사태 이후 위키지기라는 자리를 도입하면서 기초적인 관리 기능은 만든 것으로 보이나 모니위키 기본 적용 여부는 알 수 없다.

1.3. 미디어위키에서의 보호 기능


미디어위키 엔진의 경우 역시 생성, 삭제, 편집이나 이동, 열람을 제한하는 기능이 존재하나, 이 쪽에서는 ACL이 아닌 '보호'라고 불린다. 위키백과의 경우 회원 수정(신규 가입한 사용자 제외)은 '준보호'로, 관리자 수정은 '완전 보호'로 불린다.

[1] 사실상 관리자들이 Access Control List을 설정하면, 틀은 수동으로 넣어야 한다. 일반 사용자가 해당 틀들을 무단으로 삽입하거나 제거하면 편집권 남용으로 간주되어 제재를 받을 수 있다. 단, 실제 편집제한과 일치하는 경우에는 해당하는 접근제한 틀을 붙이거나 떼는 것이 허용된다.[2] 과거에 SELinux가 없던 시절 리눅스가 사용했던 방식이다. 임의적 접근통제는 사용자 ID를 기반으로 자료에 접근하는 것을 제어하는 방식이다. 여기서 ACL은 접근 허용 아이디를 저장해두는 목록이라고 보면 된다.[3] 참고로 이게 거부되면 편집을 비롯한 모든 권한(ACL 확인 제외)이 거부된다. 편집에 들어가면 문서의 RAW(문법을 포함한 모든 글자)를 볼 수 있기 때문. 이외에도 문서의 내용을 볼 수 있는 기능이 막힌다. 과거에는 되돌리기 기능을 이용해서 내용을 볼 수 있는 버그가 있었으나 언제부터인가 패치되었다. 읽기 ACL은 과거에는 개별 문서에서 조정할 수 있었으나, 어느 시점부터는 조정할 수 없으며, 이름공간(네임스페이스)에서만 조정이 가능하다. 대표적으로 휴지통 네임스페이스는 perm:admin ACL이 적용되어 있다.[4] 이게 거부되면 이동, 삭제도 거부된다.[5] gotons로 설정 시, 해당 사용자는 이름공간 ACL 규칙을 통과할 경우 허용된다.[6] [image] [7] 즉, 일반 사용자에 대한 권한도 설정할 수 있다.[8] 차단 아이피/사용자 권한이 분리되면서 효력이 없어진 것으로 보인다.[9] 2020년 8월 25일 ACL 개편 이후 차단된 사용자 ACL Group로 대체되었다.#[10] 사용자 문서의 이름공간 ACL에 사용되며, 해당 사용자만 편집할 수 있도록 한다.[11] 임의의 문서에 1번이라도 기여한 사용자. 일반 문서에 기본적으로 적용되는 ACL이었으나, 2020년 8월 25일 ACL 개편 이후에는 거의 보이지 않는다.[12] 이름대로 차단된 아이피나 사용자가 속하는 그룹으로, 기존 차단자 모두 일괄 적용되었다.[13] 데이터센터 IP 등 일반적으로 인터넷 접속에 사용되는 대역이 아닌 경우 적용되며 ACL 개편 전에는 아이피 차단 형태로 되어 있었으나 개편후 별도 그룹으로 분리되었다.[14] 아이피 중 로그인할 경우 이용을 허용하는 것으로, ACL 개편 전에는 차단시 로그인 허용 여부를 지정하는 방식으로 이루어졌다.[15] VPNGate의 공유 기능을 사용하는 아이피가 속하는 대역으로, 해당 그룹에 속해 편집이 막히는 경우 문의 게시판에 VPNGate 해제 인증을 하면 풀어준다.[16] 즉 perm:member만 액션:gotons으로 이름공간 ACL을 적용하는 경우 아이피로 편집시 적용할 ACL이 없어 편집이 거부된다. (대신 편집 요청이 가능한 경우 편집 요청 페이지로 이동된다.)[17] 당시 인터페이스 [18] 그래서 IP Access Control List => IPACL이다.