Unix/유닉스와 디렉토리

AD에 사용자 대량추가 Part2

ForceCore 2006. 8. 26. 10:42

문제가 또 있다.

1. 사용자의 초기 비번은 어떻게 할 것인가?

2. 국어로 된 설명은 어떻게 달 것인가? (특히 이름)

 

1. 비번은 unicodPwd 속성에 의해 지정될 수 있다. 덤프될 때는 출력되지 않겠죠 -_-;;

2. 국어로 된 설명을 달고 덤프를 해보면 다른 항목은 콜론(:)이 하나인데, 이녀석은 유독 콜론이 두개로 붙는다.

 

둘 다 유니코드로 되어있다는 공통점이 있다...

Base64인코딩을 하게 되어있음.

비번은 MD4인지 MD5 해쉬가 되고

 

이런 식이면 간단하게 ldif파일을 생성할 수 없는데 ㅠ.ㅠ;;

 

2번은 해결되었다. 콜론을 한개로 한 다음 유니코드로 설명을 단다. (euc-kr인코딩으로 하면 낭패)

비번번도 비슷하게 될까? 안됨: unwilling이 뜬다.

 

유저마다 초기 비번을 다르게 할 일이 있나?...

그렇지 않다면...

간단한 php함수를 사용해보자.

http://forums.devshed.com/ldap-programming-76/modifying-active-directory-passwords-through-php-and-iis-74683.html 에서 발췌한 것에 의하면...

 

$user['unicodePwd'] = "{md5}".base64_encode(pack("H*",md5($_POST['newpassword']))); 
대충 PHP표준함수로 생성 가능하군 -_-!

md5과정을 거치지 않으면 그게 유니코드로 된 설명이 되는 것이고...

 

--- modify.ldif ---

dn: CN=ssanzing2,OU=2005,OU=NormalUsers,DC=DOMAIN,DC=xxx,DC=ac,DC=kr
changetype: modify
replace: unicodePwd
unicodePwd:: MhgPkQOFfaRZVyf9vbnRyiD8E0A==

 

ldapmodify -f modify.ldif를 쓰는데...

안된다 -_-

ldap_modify: Server is unwilling to perform (53)
        additional info: 0000001F: SvcErr: DSID-031A0FC0, problem 5003 (WILL_NOT_PERFORM), data 0

 

왜일까:http://support.microsoft.com/default.aspx?scid=kb;en-us;263991

SSL을 써야 하기 때문 (-_-)

나름대로 보안에 신경을 썼으나 불편하군 ㅜ.ㅠ;;

 

http://www.windowsdevcenter.com/pub/a/windows/2004/03/30/serverhacks_passwords.html?page=last&x-maxdepth=0

 

할 수 없이(?) 윈도우쪽에서 일을 처리하자. 필자는 되도록 간단한 것을 선호한다 ㅠ.ㅠ;;

dsmod명령이다.

> dsmod user "CN=ssanzing2,OU=20
05,OU=NormalUsers,DC=BUILTIN,DC=xxx,DC=ac,DC=kr" -pwd 초기비번

 

이 정도야 뭐... 커맨드라인 백엔드가 있으니 이를 이용하는 프로그램/매크로을 짜는 것을 금방이겠다. 매크로 프로그램은 Automate 추천 ㅡㅡㅋ