Unix/유닉스와 디렉토리

-_-a

ForceCore 2006. 7. 26. 12:02
Solaris에서 AD물리는 방뻡

http://adminspotting.net/articles/windows/Linux-and-Active-Directory.html
http://www.microsoft.com/technet/itsolutions/cits/interopmigration/unix/usecdirw/08wsdsu.mspx
http://docs.sun.com/app/docs/doc/817-6118/6mlhe9af4?a=view: 썬에서 스샷까지 준 UFS 설치 매뉴얼
http://www.microsoft.com/technet/itsolutions/cits/interopmigration/unix/usecdirw/00wsdsu.mspx: 솔라리스 10 유저가 자기가 한 짓을 기록함.

M$의 방뻡을 (위 두 링크 중 아래 것)을 따라했다.
특히 솔라리스의 내장 ldap클라이언트를 쓸 것이므로
Native라고 적힌 것을 따라하게 된다.
윈도우 서버쪽을 준비하는 과정은 제대로 따라하지 못했다 (안타깝게도. 윈 2000용 AD4Unix를 설치하면서 윈도우 서버를 재설치 해야 하는 입장이 되어버렸다.)


------------------- css_adkadmin과정을 따라함. -------------------------
AD를 서버에 올린 뒤, admin계정을 한번은 바꿔줘야지 된다.
솔라리스에서 /etc/krb5/krb5.conf를 수정했다. (첨부한 파일대로)
그 뒤 다음 명령을 수행해 보았다.

# css_adkadmin -p Administrator -q "ank +use_des -group ou=Computers,dc=SOHEE,dc=xxx,dc=ac,dc=kr -k host/illusion.SOHEE.xxx.ac.kr"

이런 에러가 나왔음.

LDAP bind failed: Local error (-2)
        additional info: SASL(-1): generic failure: GSSAPI Error: Miscellaneous failure (Server not found in Kerberos database)
Failed to establish LDAP connection to server

While adding principal: : Operations error (1)
        additional info: 00000000: LdapErr: DSID-0C090AE2, comment: In order to perform this operation a successful bind must be completed on the connection., data 0, vece


kerberos설정이 개판이라 그f런가...? ktpass.exe를 사용해 키테이블을 만들어야 함.
ktpass는 윈도우2003 CD의 support디렉토리에서 Support Tools를 설치하면 구할 수 있다.

윈2003에서 Computers카테고리에사용자로서(컴퓨터로 추가하면 제대로 되지 않을 것이다.) host_illusion (illusion은 컴퓨터 이름이다) 을 추가하고 비번을 적절히 설정해주었다.

kerberos key table파일과 map을 생성할 차례

C:\Program Files\Support Tools>ktpass -out c:\hostname_keytab1 -pass honeamise -
princhost/illusion.SOHEE.xxx.ac.kr@SOEE.XXX.AC.KR-mapuser host_illusion -ptype
 KRB5_NT_SRV_HST
Targeting domain controller: prime.SOHEE.xxx.ac.kr
Successfully mapped host/illusion.SOHEE.xxx.ac.kr to host_illusion.
Key created.
Output keytab to c:\hostname_keytab1:
Keytab version: 0x502
keysize 71host/illusion.SOHEE.xxx.ac.kr@SOEE.XXX.AC.KRptype 3 (KRB5_NT_SRV_HST
) vno 3 etype 0x3 (DES-CBC-MD5) keylength 8 (0xd55e5ba115f754fb)
Account host_illusion has been set for DES-only encryption.

c드라이브의 루트폴더에 hostname_keytable1이 생겨 있을 것이다.
디스켓을 이용해 옮기든지 암호화된 FTP를 이용하든지, 보안상
적절한 방법으로 이를 유닉스 호스트로 옮긴다.

/etc/krb5로 옮기고 이름을 krb5.keytab으로 변경한다.

소유자는 root, chmod로 600모드로 맞춘다.

제대로 인증이 되는지 테스트 해보자.

kinit 유저명
ㅡㅡa

틀린 암호를 치면 거부하고 맞는 암호를 치면 아무 메시지도 안 뜬다.
인증이 잘 된듯...;

이번에는 klist를 쳐본다.

인증이 성공했다면 인증정보가 나올 것이다.

26/07/2006 16:22  27/07/2006 02:22 krbtgt/SOHEE.XXX.AC.KR@SOHEE.XXX.AC.KR
        다음 시기까지 갱신 02/08/2006 16:22

 
Appendix D라고 하는 것:

http://thesource.ofallevil.com/technet/itsolutions/cits/interopmigration/unix/usecdirw/17wsdsu.mspx

 

---------------------- LDAP Client 설정 --------------------------------

ldapclient manual명령을 내려줘야 하기에 스크립트를 만들었다. (M$에서 컨트롤C컨트롤V)
첨부파일을 보시오. (adclient.sh)
nsswitch.conf 역시 첨부파일과 같다.

svcadm disable /network/ldap/client
svcadm enable /network/ldap/client
로 ldap client를 재시작.

 

# ldapsearch -h prime.SOHEE.xxx.ac.kr -D \

cn=proxyAgent,cn=Builtin,dc=SOHEE,dc=xxx,dc=ac,dc=kr \
-b cn=Users,dc=SOHEE,dc=xxx,dc=ac,dc=kr -s sub '(cn=AD유저명*)'
 

을 하니 결과물이 있기는 있다.
(proxyAgent는 Builtin에다가 필자가 추가한 유저이다. Sun Directory의 proxyAgent와 같은 기능을 한다.)
접속은 희망적이라는 것이다. 하지만 제대로 ldapclient가 잡혀 있다는 보장은 없다.
ldapsearch명령에 LDAP접속 정보가 나열되어있기에 클라이언트 설정과는 아무 관계가 없기 때문.

설정 테스트. ldaplist
라고 쳐보면 아무것도 안 된다 (-_-)
Object not found (LDAP ERROR (12): Unavailable critical extension.)
라고 한다 -_-a