Laboratory/Windows Server

명령어를 통한 액티브 디렉터리 관리~(3)

theking 2007. 8. 8. 22:34

★ LDIFDE(LDAP Interchange Format, Data Exchange)

 =>LDIFDE 프로그램은 스크립트 기반으로 객체들을 액티브 디렉터리 데이터 베이스로 불러오거나 내보낼 때,

   사용 할 수 있는 유틸리티

 

 ● 옵션

    C:\> ldifde

 

    LDIF  디렉터리 교환

 

   일발 매개 변수

    ==================

   -i                            가져오기 모드 사용 ( 기본값 : 내보내기 )

   -f 파일이름                 입력 또는 출력 파일 이름

   -s 서버 이름                바인딩 대상 서버 ( 기본값 : 컴퓨터 도메인의 도메인 컨트롤러 )

   -c 원본 DN 대상 DN    원본 DN을 대상 DN으로 대체

   -v                           자세한 정보 표시 모드 사용

   -j 경로                      로그 파일 위치

   -t 포트                     포트 번호 ( 기본값 = 389 )

   -u                          유니코드 형식 사용

   -w 시간 제한            서버가 지정한 시간 (초) 이내에 작업에 응답하지 않을 경우, 실행을 중단

                                  ( 기본값 : 시간 제한 지정 없음 )

   -h                           SASL 레이어 암호화 사용

   -?                           도움말

   

   내보내기 관련

    =====================

   -d RootDN               LDAP 검색의 루트 ( 기본값 : 명명 컨텍스트)

   -r 필터                     LDAP 검색 필터 ( 기본값 : "(objectClass=*)" )

   -p SearchScope      검색 범위 ( Base/OneLevel/Subtree )

   -l 목록                       LDAP 검색에서 검색될 특성의 목록 ( 쉼표 구분 )

   -o 목록                     입력에서 생략될 특성의 목록 ( 쉼표 구분 )

   -g                           페이지된 검색을 사용하지 않음

   -m                          내보내기 작업에 SAM 논리법 사용

   -n                          이진 값을 내보내지 않음

 

   가져오기

   =======================

   -k                            가져오기 작업에서 "제약 조건 위반" 및 "이미 존재하는 개체" 오류를 무시

    -y                            성능 향상을 위해 가져오기에 느린 커밋을 사용 ( 기본값 : 사용함 )

   -e                            느린 커밋을 사용하지 않음

   -q 스레드                    지정한 개수의 스레드를 가져오기에 사용 ( default is 1 )

 

   자격 증명

    =====================

   자격 증명이 지정되지 않은 경우, LDIFD에서 SSPI를 사용하여 현재 로그온 된 사용자로 바인딩 합니다.

   -a UserDN [암호 | *]                      간단한 인증

   -b UserName Domain [Password | *]         SSPI bind method

   

    예 : 현재 도메인의 간단한 가져오기

       ldifde -i -f INPUT.LDF

 

    예 : 현재 도메인의 간단한 내보내기

       ldifde -f OUTPUT.LDF

 

    예 : 자격 증명을 사용하여 특정 도메인 내보내기

       ldifde -m -f OUTPUT.LDF

                  -b USERNAME DOMAINNAME *

                  -s SERVICENAME

                  -d "cn=users, DC=DOMAINNAME, DC=Microsoft, DC=Com"

                -r "(objectClass=사용자)"

    로그 파일이 기록되지 않았습니다. 로그 파일을 만들려면 -j 옵션을 사용하여 로그 파일 경로를 지정하십시오.

 

 

 ●LDIFDE로 여러 종류의 개체들을 불러올 때, 어떤 형태로 보여주는지 확인해보자~!

    먼저, ldifde 명령을 통해 자기가 지정한 컨테이너에서 파일로 불러와보자~!

   C:\> ldifde -u -f user.ldif -d "ou=it test,dc=nwtraders,dc=msft"

         => it test라는 조직구성단위에서 개체들을 불러와서 user.ldif란 파일로 저장한다.

    자 이제는, user.ldif란 파일을 메모장을 통해 열자.

사용자 삽입 이미지

    그럼 위와 같이 메모장에서 보여지는 것을 확인 할 수 있다.

    먼저"dn"은 말그대로 개체의 Distinguished Name이다.

   "objectClass"는 개체의 클래스이다. (사용자 개체 => user , 그룹 => group ...)

    LDIF 파일의 한 엔트리 내의 속성이나 dn, objectClass 등은여러 라인에 걸쳐 정의될 수 있다.

    ( 첫 라인 이외의 다른 모든 라인은띄워쓰기를 통해 라인이 계속되고 있음을 명시)

   "changeType"을 통해 엔트리를 액티브 디렉터리로 추가 혹은 삭제, 수정 가능하다.

    두 엔트리의 구분은 중간의 빈 라인을 통해 이루어짐.

    사용자 개체일 경우 "objectClass"는 "user"가 되면다른 "objectClass"또한 가지고 있음을 알 수 있다.

    기본적으로 액티브 디렉터리에서 개체를 빼내올 때에는changeType이 add로 설정.

    개체에 대한 GUID인 objectGUID도 뽑아낸다. ldif 파일을 이용해 개체를 다른 액티브 디렉터리로 옮기게 되면

    개체의 GUID등을 함께 옮기게 되면 문제가 발생한다. (GUID는 중복되지 않아야 한다.)

    따라서SAM에 의해 관리되는 속성은 개체를 빼올 때 제외해야 한다. (-m옵션을 통해 제외 )

   ※ 제외해야할 속성들

      => badPasswordTime , badPwdCount , lastLogoff , lastLogon , logonCount

         objectGUID , objectSid , primaryGroupID , pwdLastSet , sAMAccountType

 

 

   ● 이번에는 ldifde 명령어를 이용해개체를 추가할 수도 있다.

사용자 삽입 이미지

     자 위의 메모장의 형식을 가진 ldif파일을 이용해 "홍 길동"이라는 사용자 개체를 추가해보겠다.

     메모장에서 저장을 할 경우에"Unicode"의 형식으로 저장하는 것이 좋다. (한글 사용의 경우)

     만약 위 텍스트를 "newfile.ldif"로 저장하자.

     C:\> ldifde -u -i c:\newfile.ldif

     액티브 디렉터리를 열어서 제대로 생성되었는지 확인하자~!!

 

  ● 이번에는 위에 추가한 "홍 길동"이라는사용자 개체를 제거해보자.

     

사용자 삽입 이미지

    위와 같이changeType: delete로 하여 파일을 저장하자~! (이번엔 delfile.ldif로 저장)

    C:\> ldifde -u -i -f c:\delfile.ldif

 

 

 

★ ntdsutil

   => 윈도 서버 2003의 액티브 디렉터리를 관리하기 위한 범용적인 유틸리티. 다른 명령어들이 추가되었으나,

      윈도 2000의 액티브 디렉터리를 사용하던 관리자라면 이 명령어가 더 친숙하게 느낄것이다.

      그냥 있다는 것만 보여주겠다.. 실행하고 사용하는것은 도움말을 이용하도록 하자~!!


 

 

사용자 삽입 이미지