Unix/CentOS

AD에 물리기

ForceCore 2006. 8. 22. 10:17

계속되는 AD에 대한 집착 -0-!

1. /etc/nsswitch.conf 수정. (여태껏 많이 해서 너무 쉽다?)

2. /etc/ldap.conf수정. (이 파일은 아래의 글에서 /etc/libnsswitch.conf를 수정한 것과 똑같이 수정하면 된다.)

http://blog.naver.com/ssanzing2/140027675156

이렇게 하면 getent passwd와 getent group이 통할 것이다.

별 달리 설치해야 할 패키지는 없다.

 

필자의 경우...

/home/local/관리자1

/home/local/관리자2

(passwd entry에 등록된 인간들)

 

/home/2000/user1

/home/2000/user2

/home/2001/user3

/home/2002/user4

.....

이런식으로 /home/입학년도/사용자ID

관리하고 있다.

(이 때문에 아파치에서 /home/*/public_html뿐 아니라 /home/*/*/public_html을 썼어야 했다)

 

문제:

2000, 2001, 2002,나 local의 권한은 뭘로 하는게 좋을까?

필자는 711이 좋다고 생각한다. cd해서 들어갈 수는 있어도 ls로

어떤 디렉토리들이 있는지 볼 수 없다.

 

소유 그룹은 AD상 존재하는 유닉스 그룹으로 할당했다.

 

그리고...... 실제 로그인이 되는지도 체크...

kerberos 없이도 잘만 된다 (헉)

하지만 AD유저를 등록하면서 그때마다 홈디렉토리를 만들기는 귀찮으니

자동생성 홈디렉토리 모듈을 달도록 하자.

 

session required        pam_mkhomedir.so umask=0022 skel=/etc/skel

이 모듈은 확실해 존재한다. (locate로 찾아보면)

하지만 어느 파일을 수정해 넣어야할까?

 

/etc/pam.d/system-auth

파일이다.

session     required      /lib/security/$ISA/pam_limits.so
session     required      /lib/security/$ISA/pam_unix.so
session     optional      /lib/security/$ISA/pam_ldap.so
session     required      /lib/security/$ISA/pam_mkhomedir.so umask=0022 skel=/etc/skel

이렇게 수정했음. 잘 됨...

 

SSH로 로그인 하니 잘 된다.

 

허나 사소한 문제가 있다. 이 홈 디렉토리 자체의 권한은 700이면 좋겠는데...

음..... umask를 이용하면 되는데...

http://wiki.kldp.org/HOWTO/html/Security/Security-HOWTO-5.html#5-umask

umask는 777에서 umask값을 빼면 실제 권한이 된다고 한다.

우리가 원하는 것은 0700 이므로 077이 되겠다.

 

passwd명령도 잘 먹고...

별로 건들 필요는 없었던듯.

 

------------------------------------------------

문제가 있다.

FTP와 apache가 AD ID를 인식하지 못하는 것 같다.

1. ~id로 들어가는 홈페이지의 경우, 로컬ID는 되는데 AD ID는 안 된다. : /etc/pam.d/system-auth-httpd를 수정한다.

#%PAM-1.0
auth       sufficient   pam_rootok.so
auth       sufficient   pam_timestamp.so
auth       required     pam_stack.so service=system-auth
session    required     pam_permit.so
session    optional     pam_xauth.so
session    optional     pam_timestamp.so
account    required     pam_permit.so
account    required     pam_stack.so service=system-auth

(끝에 한 줄이 추가된 것임.)

 

2. FTP ID로 로그인 하려고 하면 LIST에서 굳는다. 이미 있던 로컬계정조차도.

3. 커맨드라인 FTP를 쓰면 잘만 된다.

(vsftpd의 문제? - kerberos인증이 실패했다고 먼저 나온다... 이게 문제인지도.)

(?! pam이나 ldap문제가 아니라 어쩌면 시스템 업데이트 때문인지도 모른다. 라이브러리가 살짝 바뀌면 그런 일이 일어나는지도 모르지...)

 

실험 결과: 학교에 있는 컴퓨터로는 접속이 잘 되는데, 집의 컴퓨터로 하면 접속이 안 되는 것이었다. vsftpd대신 proftpd를 써보기로 하자... 이 부분은 AD라기보단 FTP문제이므로 여기서 이 글은 마치겠다.