database.sarang.net
UserID
Passwd
Database
DBMS
MySQL
PostgreSQL
Firebird
Oracle
Informix
Sybase
MS-SQL
DB2
Cache
CUBRID
ㆍLDAP
ALTIBASE
Tibero
DB 문서들
스터디
Community
공지사항
자유게시판
구인|구직
DSN 갤러리
도움주신분들
Admin
운영게시판
최근게시물
LDAP Q&A 30 게시물 읽기
No. 30
Re: OpenLdap의 ACL(Access Control List) 조절에 대해서...
작성자
박근오
작성일
2000-07-06 21:33
조회수
11,699

acl설정으로 ldap의 각각의 entry,attribute의 접근에 대해 권한 설정을 할수 있으며

접근할수 있는 호스트에 대한 설정도 할수 있습니다.

설정파일 형식은 다음과 같습니다.

access to <권한제한을 설정할 것>

by <누구에게> <엑세스 권한>

 

일반적으로 다음과 같이 설정을 하곤합니다.

defaultaccess none

access to *

by self write

by dn=".+" read

by dn="" read

by * none

 

위의 내용을 해석하면 다음과 같습니다. 우선 defaultaccess를 none으로 설정해서 기본적으로

deny 를 default로 설정합니다.

 

access to *

위의 것은 모든 entry 에 대해 권한을 부여한다는 뜻입니다.

 

by self write

이것은 엔트리 자신은 스스로 쓰기권한이 부여된다는 뜻입니다. *가 만일 person objectclass라면

userPassword를 제시한 해당 사용자만이 쓰기를 할수 있다는 뜻입니다.

 

by dn=".+" read

이것은 인증된 사용자만이 읽을수 있게 해준다는 뜻입니다. ldap내에 있는 관리자 포함 인증이 되는

사람들만이 모든 엔트리에 대해 read권한이 있다는 뜻입니다.

 

by dn="" read

이것은 인증을 하지 않고 들어오는 anonymous사용자에게 모든 엔트리에 대해서 read권한을 부여한다는 뜻입니다.

 

by * none

그외의 모든 상황에 대해서는 권한이 없다는 뜻이됩니다.

 

 

어떤 엔트리에 대해서도 설정이 가능합니다. 다음과 같이 해봅시다.

access to dn=".*,dc=database,dc=sarang,dc=net"

이라고 설정을 한다면 해당 dn(.*는 정규표현식)을 만족하는 모든 엔트리에 대해 권한을 설정하겠다는 뜻입니다.

그럼 다음과 같이 하나의 attribute에 설정을 걸어 볼까요?

access to attr=userpassword

by self write

by * none

위의 예는 userpassword라는 attribute에 대해서만 권한설정을 합니다. userpassword attribute를 가지는 엔트리

자신만이 쓰기권한이 있고 나머지는 없습니다.

이때 권한을 부여하고 싶은 attribute가 복수개라면 다음과 같이 합니다.

access to attrs=userpassword,uid,sn

좀더 강력한 사용 예를 볼까요?

access to dn=".*,dc=(.*),dc=(.*),dc=net" attrs=children,entry,uid

by dn="cn=Administrator,dc=$1,dc=$2" write

by dn=".+" read

by * none

위와 같이 정규표현식의 grouping도 쓸수가 있습니다.

그럼 이제까지 엔트리에 대해서 그리고 attribute들에 대해서 권한 설정을 해보았습니다.

이제 마지막으로 호스트에 대해서 설정을 해봅시다.

defaultaccess none

access to dn=".*,dc=address,dc=database,dc=sarang,dc=net"

by domain="localhost" write

by addr="210.91.168.101" read

위의 예제는 도메인 방식으로 로컬호스트에 대해서는 쓰기권한을 아이피 지정방식으로 해당 아이피에 대해서는

읽기 권한을 부여하고 있습니다.

 

이제 세가지 방식 모두에 대해서 간단히 알아 보았습니다. :)

위의 access control list들은 하나이상 여러개의 리스트를 설정하여 쓸수도 있고 따로 myacl.conf로 파일로 설정해

두고 slapd.conf에서 include 하여 쓸수도 있습니다. 만일 동일한 액세스 항목을 두개 이상 설정하게 되는 실수를

저지른다면 첫번째 설정값만 실행하게 되고 두번째 설정은 되지 않게 되어 있습니다. 그냥 참고하시라고 적습니다.

 

Caution!!!!!!

정말 주의할점이 한가지 있습니다. 위의 entry나 attribute내용을 작성하실때 콤마(,)앞뒤로 space가 없어야 합니다.

위의 예제들을 보시면 아시겠지만 다닥다닥 다 붙어 있지요? 빈공란이 하나라도 들어가면 자신이 믿고 있는

acl이 전혀 작동하지 않는 수가 있습니다. 정말 주의 하십시요. :)

[Top]
No.
제목
작성자
작성일
조회
37LDAP의 시장 규모와 응용분야
김민석
2000-07-25
9915
38┕>Re: LDAP의 시장 규모와 응용분야
박근오
2000-07-26 12:08:59
11457
35웹브라우저...
김철환
2000-07-20
9580
36┕>Re: 웹브라우저...
박근오
2000-07-21 06:32:16
10370
33Introduction to LDAP under Linux
정원영
2000-07-17
9831
34┕>Re: Introduction to LDAP under Linux
정재익
2000-07-18 06:56:30
10833
29ACL 조절에 대해서...
정재익
2000-07-06
9858
30┕>Re: OpenLdap의 ACL(Access Control List) 조절에 대해서...
박근오
2000-07-06 21:33:00
11699
26한글문제
한글
2000-07-03
10712
27┕>Re: 한글문제 (JNDI관련)
박근오
2000-07-04 06:00:31
11248
31 ┕>Re: Re: 한글문제 (JNDI관련)
한글
2000-07-10 19:56:58
10642
32  ┕>Re: Re: Re: 한글문제 (JNDI관련)
박근오
2000-07-10 22:02:55
10631
25드디어 LDAP 문서 프린터 하고 있슴다.
정재익
2000-06-24
11380
21[질문]ldap을위한 db
ldap
2000-06-12
11910
22┕>Re: [질문]ldap을위한 db
박근오
2000-06-13 14:48:42
12031
24 ┕>Re: Re: [질문]ldap을위한 db
ldap
2000-06-13 22:59:25
11844
Valid XHTML 1.0!
All about the DATABASE... Copyleft 1999-2023 DSN, All rights reserved.
작업시간: 0.050초, 이곳 서비스는
	PostgreSQL v16.1로 자료를 관리합니다