Solaris for ISPs 관리 설명서

명령줄에서 디렉토리 항목 작성

디렉토리 서비스 항목 작성 방법에 관한 일반 정보는 Sun Directory Services 3.1 Administration Guide의 5장 "디렉토리 정보 로드와 유지 보수,"에 있습니다. 이 절에서는 Solaris for ISPs에 필요한 특정 항목을 작성하는 방법을 다룹니다.

Deja 도구로 디렉토리 항목을 작성하는 방법은 SunTM Internet AdministratorTM 온라인 도움말을 참조하십시오.

디렉토리 항목 작성: 일반 절차

Sun Directory Services에서는 다음과 같은 명령줄 유틸리티로 디렉토리 항목을 작성 및 수정합니다.

루트로 액세스해야 디렉토리 서비스 명령줄 유틸리티를 사용할 수 있습니다. 1절 참조 매뉴얼 페이지에 자세한 설명이 있습니다.

ldapaddldapmodify는 명령줄이나 지정된 파일에서 입력을 받습니다. 항목 정보가 비교적 길고 복잡할 수도 있기 때문에 다음 절에서 텍스트 파일이 필요한 형태들을 설명합니다.

각각의 경우, 다음 단계를 거쳐 항목 또는 항목들을 작성합니다.

  1. 디렉토리에 만들 항목 또는 항목들을 지정하는 파일을 작성합니다. 파일의 형식은 ldif(4) 참조 매뉴얼 페이지에 지정되어 있습니다.

  2. 루트로 액세스하여 ldapadd로 항목을 작성하고, 항목 정보 파일을 지정합니다.

ldapadd 명령의 형태는 항상 다음과 같아야 합니다.

# ldapadd -D "BindDN" -w password -f file

BindDN은 디렉토리에 바인딩하는 고유 이름(DN)으로 디렉토리 트리의 해당 부분에 쓰기 액세스를 가지며, password는 바인딩 암호입니다. file 옵션은 먼저 작성한 ldif 파일 이름으로 바꿉니다.

ldif(4) 파일의 구조

명령줄로 추가한 각 항목의 항목 정보를 보유한 ldif 형식의 파일을 만듭니다. 이 파일은 단순한 텍스트 파일로 빈 줄 한 칸으로 구분한 디렉토리 항목을 하나 이상 갖고 있습니다. 각 항목의 구조는 다음 예와 같습니다.


주 -

예에는 필수 속성만 나와 있습니다. 대체로 객체 클래스는 항목의 특별한 용도에 맞게 설정한 선택 속성을 많이 가집니다.


dn: ou=wcgate1,ou=eng,o=sun,c=US 
ou: wcgate1 
associateddomain: wcgate1.eng.sun.com  
objectclass: organizationalUnit 
objectclass: domainRelatedObject

설명

dn

은 작성한 항목의 고유 이름을 나타냅니다.

ou

는 작성한 항목의 명명 속성입니다. 공통 명명 속성에는 commonName, organizationalUnit(ou) 및 domainComponent(dc)가 있습니다.

associatedDomain

은 DC 트리에 있는 해당 항목의 도메인 이름(점 표기법의)입니다. OSI 트리와 DC 트리의 상호 작용에 관한 자세한 내용은 "Solaris for ISPs 디렉토리 구조"을(를) 참조하십시오. 도메인의 상호 참조 항목 두 개를 작성하는 방법은 "도메인 항목 작성"을(를) 참조하십시오.

이 위치에는 한 쌍의 값인 속성이 한 줄에 하나씩 많을 수도 있습니다.

objectClass

는 항목의 객체 클래스(유형)입니다. objectClass 항목이 많을 수도 있으나 여기에선 두 가지 예만 보여 줍니다.

사용 가능한 객체 클래스와 속성에 관한 자세한 내용은 이 지침서의 제 6 장와(과) Sun Directory Services 3.1 Administration Guide의 8장 "디렉토리 스키마 구성,"을 참조하십시오.

도메인 항목 작성

디렉토리에 도메인을 작성하려면 병렬 도메인 항목 두 개를 OSI 트리와 DC 트리에 각각 하나씩 작성합니다. 그런 다음, OSI 트리의 도메인 항목 아래에 필수 organizationalUnit 항목을 작성합니다.

eng.sun.com 아래 wcgate1 도메인을 작성하려면 다음 단계를 수행합니다.

  1. 텍스트 파일(예를 들면 domain.ldif)을 편집하여 OSI 트리 항목 데이터를 입력합니다.

    dn: ou=wcgate1,ou=eng,o=sun,c=US 
    ou: wcgate1 
    associateddomain: wcgate1.eng.sun.com 
    objectclass: organizationalUnit 
    objectclass: domainRelatedObject 

    항목의 associatedDomain 속성이 점 표기법(DNS 스타일)의 DC 트리 항목 이름이란 점에 유의하십시오.

  2. DC 트리 항목 데이터를 domain.ldif에 추가합니다.

    dn: dc=wcgate1,dc=eng,dc=sun,dc=com 
    dc: wcgate1
    associatedname: ou=wcgate1,ou=eng,o=sun,c=US 
    description: DNS-to-DN Mapping for wcgate1.eng.sun.com 
    labeleduri: ldap:///ou=wcgate1,ou=eng,o=sun,c=US??sub 
    objectclass: domain 
    objectclass: labeledURIObject

    항목의 associatedName 속성이 OSI 트리 항목의 고유 이름이란 점에 유의하십시오. RFC 2255에 지정되었듯이 labeledURI 속성도 같은 정보입니다.

  3. 필수 Services 구성 단위 항목의 데이터를 domain.ldif에 추가합니다.

    dn: ou=Services,ou=wcgate1,ou=eng,o=sun,c=US 
    ou: Services 
    objectclass: organizationalUnit
  4. 필수 People 구성 단위 항목의 데이터를 domain.ldif에 추가합니다.

    dn: ou=People,ou=wcgate1,ou=eng,o=sun,c=US 
    ou: People 
    objectclass: organizationalUnit 
  5. 필수 Groups 구성 단위 항목의 데이터를 domain.ldif에 추가합니다.

    dn: ou=Groups,ou=wcgate1,ou=eng,o=sun,c=US 
    ou: Groups 
    objectclass: organizationalUnit
  6. domain.ldif를 저장하고 닫습니다.

  7. 루트로 액세스하여 자신의 바인드 DN과 암호로 다음 명령을 실행하여 디렉토리에 항목을 추가합니다.

    # ldapadd -D "cn=admin,o=sun,c=US" -w password -f domain.ldif

ldapadd가 완료되면 디렉토리는 그림 5-5처럼 됩니다.

그림 5-5 추가 도메인이 있는 디렉토리 구조

Graphic

가입자 항목 작성

Solaris for ISPs 가입자 형태는 다양합니다.

다음 절에서 간단한 항목을 작성한 후 여기에 항목을 추가하여 복잡한 가입자 항목을 구축하는 방법을 설명합니다.

기본 가입자 항목 작성

가입자 항목을 작성하려면 도메인과 People 조직 단위 항목이 먼저 있어야 합니다. 일단 이 항목들을 작성하면 텍스트 파일(예를 들면 people.ldif)을 편집하여 가입자의 데이터를 입력할 수 있습니다. 기본 가입자 항목에는 단일 객체 클래스 ispSubscriber와 매우 적은 필수 속성이 있습니다. 기본 가입자의 파일은 아래와 같습니다.

dn: cn=Jane Doe (jldoe),ou=People,ou=wcgate1,ou=eng,o=sun,c=US 
commonname: Jane Doe (jldoe) 
sn: Doe
uid: jldoe 
userpassword: hidden 
objectclass: ispSubscriber 

설명

dn

가입자 항목의 고유 이름입니다.

commonName

(객체 클래스가 (ispSubscriber인) 가입자 항목의 명명 속성입니다. Solaris for ISPs 가입자와 관리자의 commonName 속성의 값은 Firstname Lastname(userid) 형태입니다.

sn

가입자의 성입니다.

uid

가입자의 로그인 이름입니다.

userPassword

암호로, UNIX 계정과 암호를 공유할 경우 여덟 자로 제한됩니다. 디렉토리 서비스 관리 콘솔에서 설정한 암호화 방법으로 생성합니다.

objectClass: ispSubscriber

가입자 항목의 객체 클래스 유형입니다.

다른 속성 값의 데이터 블록을 파일에 추가하여 가입자 항목을 몇 개든지 작성할 수 있습니다. 작업이 완료되면 people.ldif를 저장하고 닫습니다. 루트로 액세스하여 자신의 바인드 DN과 암호로 다음 명령을 수행하여 가입자 항목을 디렉토리에 추가합니다.

# ldapadd -D "cn=admin,o=sun,c=US" -w password -f people.ldif

FTP와 웹 가상 호스팅 정보 추가

SunTM Internet FTP ServerTM와 SunTM WebServerTM (SWS)를 함께 사용하도록 특수하게 구성한 가상 호스팅에 필요한 정보는 데이터 파일에 세 가지 속성만 추가하면 됩니다.

gidnumber: 60001 
uidnumber: 60001 
ispcontentdirectory: jldoe

설명

gidNumber

는 FTP와 웹 서비스용 가상 호스트 도메인에서 사용자에게 지정한 UNIX 그룹 ID입니다.

uidNumber

는 FTP와 웹 서비스용 가상 호스트 도메인에서 사용자에게 지정한 UNIX 사용자 ID입니다.

ispContentDirectory

는 가입자 컨텐트 파일의 위치로, 연관 도메인의 문서 루트에 상대적인 위치입니다.


주 -

uidNumbergidNumber 속성의 값을 설정하려면, 기존 UNIX 계정을 가상 FTP 도메인 액세스를 공유하도록 적절히 설정하였어야만 합니다. 가상 호스트 구성 정의에 관한 자세한 내용은 Sun Internet FTP Server 온라인 도움말을 참조하십시오.


데이터 블록을 파일에 추가하여 가입자 항목을 몇 개든지 작성할 수 있습니다. 작업이 완료되면 people.ldif를 저장하고 닫습니다. 루트로 액세스하여 자신의 바인드 DN과 암호로 다음 명령을 수행하여 가입자 항목을 디렉토리에 추가합니다.

# ldapadd -D "cn=admin,o=sun,c=US" -w password -f people.ldif

이 항목들을 이미 작성했다면 ldapmodify를 실행해야 합니다. ldapmodify(1) 매뉴얼 페이지를 찾아 지침을 따르십시오.

원격 사용자 정보 추가

RADIUS 서버를 통해 ISP 서비스에 액세스하는 가입자 항목은 객체 클래스(remoteUser)를 추가해야 하며 여러 속성을 항목 정보에 추가합니다.


주 -

기본 Solaris for ISPs 구성에서는 루트 도메인을 RADIUS 가입자 항목의 검색 기반으로 지정합니다. 구성이 다르면 디렉토리 서비스 관리 콘솔로 RADIUS를 구성하고 검색 기반에 맞는 값을 입력합니다.


ldif 파일에 추가한 행은 다음과 같습니다.

objectclass: remoteUser
authsuffixname: @ispxpress
grpcheckinfo: authSuffixName
grpcheckinfo: userPassword
authserviceprotocol: Framed-User
framedrouting: None
framedprotocol: PPP
grpreplyinfo: authServiceProtocol
grpreplyinfo: framedProtocol
grpreplyinfo: framedRouting 

설명

objectClass: remoteUser

는 RADIUS 서버로 서비스에 액세스하는 가입자의 필수 객체 클래스입니다.

authsuffixname: @ispxpress

는 서로 다른 도메인에 있는 동일한 uid 항목을 RADIUS 서버가 구분할 수 있도록 가입자의 사용자 이름에 추가한 접미사 입니다. 적당한 접미사를 특정 사용자 항목에 입력합니다.

grpcheckinfo: authSuffixName

RADIUS 서버가 인증할 항목을 선택하기 전에 authSuffixName 속성 값을 확인해야 함을 나타냅니다.

grpcheckinfo: userPassword

RADIUS 서버가 인증할 항목을 선택하기 전에 userPassword 속성 값을 확인해야 함을 나타냅니다

authserviceprotocol: Framed-User

기본 RADIUS 구성을 사용하는 경우 속성을 예와 똑같이 입력합니다. 네트워크 액세스 서버 구성에서 맞는 값을 정합니다.

framedrouting: None

기본 RADIUS 구성을 사용하는 경우 속성을 예와 똑같이 입력합니다. 네트워크 액세스 서버 구성에서 맞는 값을 정합니다.

framedprotocol: PPP

기본 RADIUS 구성을 사용하는경우 속성을 예와 똑같이 입력합니다. 네트워크 액세스 서버 구성에서 맞는 값을 정합니다.

grpreplyinfo: authServiceProtocol

응답 메시지에 authServiceProtocol 속성 값을 포함하도록 RADIUS 서버에게 알립니다.

grpreplyinfo: framedProtocol

응답 메시지에 framedProtocol 속성 값을 포함하도록 RADIUS 서버에게 알립니다.

grpreplyinfo: framedRouting

응답 메시지에 framedRouting 속성 값을 포함하도록 RADIUS 서버에게 알립니다.

데이터 블록을 파일에 추가하여 가입자 항목을 몇 개든지 작성할 수 있습니다. 작업이 완료되면 people.ldif를 저장하고 닫습니다. 루트로 액세스하여 자신의 바인드 DN과 암호로 다음 명령을 수행하여 가입자 항목을 디렉토리에 추가합니다.

# ldapadd -D "cn=admin,o=sun,c=US" -w password -f people.ldif

이 항목들을 이미 작성했으면 ldapmodify를 실행해야 합니다. ldapmodify(1) 매뉴얼 페이지를 찾아 지침을 따르십시오.

완성된 ldif 파일

복잡한 사용자의 완성된 ldif 파일은 다음과 같습니다.

dn: cn=Jane Doe (jldoe),ou=People,ou=wcgate1,ou=eng,o=sun,c=US 
commonname: Jane Doe (jldoe) 
sn: Doe
uid: jldoe 
userpassword: hidden 
gidnumber: 60001 
uidnumber: 60001 
objectclass: ispSubscriber 
objectclass: remoteUser
ispcontentdirectory: /home/users/jldoe
authsuffixname: @ispxpress
grpcheckinfo: authSuffixName
grpcheckinfo: userPassword
authserviceprotocol: Framed-User
framedrouting: None
framedprotocol: PPP
grpreplyinfo: authServiceProtocol
grpreplyinfo: framedProtocol
grpreplyinfo: framedRouting 

그룹 항목 작성

그룹 항목을 작성하려면 여러 항목들이 먼저 있어야 합니다.

일단 이 항목들을 작성하면 텍스트 파일(예를 들면 groups.ldif)을 시작하여 그룹의 데이터를 입력합니다. 일반적인 데이터 집합은 다음과 같습니다.

dn: cn=isp-gp1,ou=Groups,ou=wcgate1,ou=eng,o=sun,c=US 
cn: isp-grp1
objectclass: groupOfNames
member: cn=Ed Anchor (anchor),ou=People,ou=wcgate1,ou=eng,o=sun,c=US
member: cn=April Shower (showers),ou=People,ou=wcgate1,ou=eng,o=sun,c=US
member: cn=Chili Jones (relleno),ou=People,ou=wcgate1,ou=eng,o=sun,c=US

설명

dn

작성한 그룹의 고유 이름입니다.

cn

그룹 항목의 상대 고유 이름입니다.

objectClass

객체 클래스 groupOfNames가 이 항목 유형을 구분합니다.

member

member 속성은 기존 가입자 항목의 고유 이름입니다.

파일에 데이터를 추가하여 그룹 항목을 몇 개든지 작성할 수 있습니다. 작업이 완료되면 groups.ldif를 저장하고 닫습니다. 루트로 액세스하여 자신의 바인드 DN과 암호로 다음 명령을 수행하여 그룹을 디렉토리에 추가합니다.

# ldapadd -D "cn=admin,o=sun,c=US" -w password -f groups.ldif