FreeBSD ¼¹ö¸¦ LDAP client·Î ±âÁ¸ LDAP server¿¡ ¿¬°áÇÏ·Á´Âµ¥ Àß ¾ÈµË´Ï´Ù ¤Ì¤Ì
안녕하세요.
현재 Ubuntu LDAP 서버를 이미 쓰고 있고, FreeBSD 서버를 LDAP client로 연결하려고 합니다.
특히, sshfs로 다른 서버들을 사용하는 user들이 FreeBSD를 main storage server로 사용하게 하려고 합니다.
(다른 ubuntu 서버들은 LDAP에 연결하기 위한 setup manual이 있는데, FreeBSD는 처음 해보는 상황입니다.)
그런데, 현재 찾아본 문서들을 기반으로 설정을 해주어도 잘 안되고 있습니다.
주로 아래 두 링크를 따라갔는데요. 이 때 여러개 질문이 있습니다.
- 위 문서 2.1.3. 에 보면, cacer.crt를 /usr/local/etc/openldap/ldap.conf에 추가하라 되어있는데, 꼭 해야 하는 과정인가요? 지금은 하지 않았습니다.
- 3.1.에서 /usr/local/etc/ldap.conf 는 pam_ldap이 사용한다 되어있고, /usr/local/etc/openldap/ldap.conf의 경우 ldap이 사용한다고 되어있는데,
이게 구체적으로 어떤 의미인지 잘 모르겠습니다. (LDAP과 pam의 관계를 정확히 몰라서 그런 것 같아요)
- /etc/shells에 FreeBSD에 default로 되어있는 것 이상으로 shell들을 쓰게 되어있었는데, 이게 authentification을 위한 것인가요?
- /etc/ssh/sshd_config를 3.1.1.에 나오는 것처럼 수정하려고 했는데, 적절한 옵션을 어떻게 줘야할지를 잘 모르겠네요..
이상 초보자의 질문이었습니다...
아래는 제가 수정했던 몇개 파일들의 예시입니다.
/usr/local/etc/ldap.conf (pam에서 사용)
# LDAP Defaults
# # See ldap.conf(5) for details
# This file should be world readable but not world writable.
#BASE dc=example,dc=com
#URI ldap://ldap.example.com ldap://ldap-master.example.com:666
BASE dc=cal,dc=local
rootbinddn cn=admin,dc=cal,dc=local
URI ldap://ldap.cal.local
pam_login_attribute uid
#pam_groupdn dc=cal,dc=local
#SIZELIMIT 12
#TIMELIMIT 15
#DEREF never
/usr/local/etc/openldap/ldap.conf (LDAP에서 사용)
# LDAP Defaults
#
# See ldap.conf(5) for details # This file should be world readable but not world writable. #BASE dc=example,dc=com
#URI ldap://ldap.example.com ldap://ldap-master.example.com:666
BASE dc=cal,dc=local
URI ldap://ldap.cal.local
#ssl start_tls
#tls_cacert /path/to/cacert.crt
#SIZELIMIT 12
#TIMELIMIT 15
#DEREF never
/etc/pam.d/sshd
(이 부분이 가장 문제가 되는 것 같기도 한데, 정확하게 잘 모르겠습니다.)
# $FreeBSD: releng/12.1/lib/libpam/pam.d/sshd 197769 2009-10-05 09:28:54Z des $
# # PAM configuration for the "sshd" service
#
# auth
auth sufficient pam_opie.so no_warn no_fake_prompts
auth requisite pam_opieaccess.so no_warn allow_local
#auth sufficient pam_krb5.so no_warn try_first_pass
#auth sufficient pam_ssh.so no_warn try_first_pass
auth required pam_unix.so no_warn try_first_pass
#auth sufficient /usr/local/lib/pam_ldap.so no_warn
# account
account required pam_nologin.so
#account required pam_krb5.so
account required pam_login_access.so
account required pam_unix.so
#account [success=1 default=ignore] /usr/local/lib/pam_ldap.so
account required /usr/local/lib/pam_ldap.so ignore_authinfo_unavail ignore_unknown_user
# session
#session optional pam_ssh.so want_agent
session required pam_permit.so
session optional pam_ldap.so
# password
#password sufficient pam_krb5.so no_warn try_first_pass
password required pam_unix.so no_warn try_first_pass
password required pam_ldap.so try_first_pass
#password [success=1 user_unknown=ignore default=die] /usr/local/lib/pam_ldap.so try_first_pass
# LDAP
auth sufficient pam_ldap.so no_warn try_first_pass