スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

vsftpdの認証をLDAPで(ソースからインストール)

【Berkeley DBをインストール】

入手先は
http://www.sleepycat.com/
で、リダイレクト先はOracle。

db-4.5.20.NC.tar.gzを入手

# tar zxf db-4.5.20.NC.tar.gz
# cd db-4.5.20.NC/build_unix
# ../dist/configure
# make
# make install

/etc/ld.so.conf

/usr/local/BerkeleyDB.4.5/lib
を追加して
# /sbin/ldconfig

OpenLDAPをインストール】

openldap-stable-20060823.tgzを入手

# tar zxf openldap-stable-20060823.tgz
# cd openldap-2.3.27
# export CPPFLAGS=-I/usr/local/BerkeleyDB.4.5/include
# export LDFLAGS=-L/usr/local/BerkeleyDB.4.5/lib
# export LD_LIBRARY_PATH=/usr/local/BerkeleyDB.4.5/lib
# ./configure
# make depend
# make
# make test
# make install

【nss_ldapとpam_ldapをインストール】

http://www.padl.com/からソース入手

# tar zxf nss_ldap.tgz
# cd nss_ldap-253
# ./configure --with-ldap-dir=/usr/local--with-ldap-conf-file=/etc/openldap/ldap.conf
# make
# make install

# tar zxf pam_ldap.tgz
# cd pam_ldap-183
# ./configure --with-ldap-dir=/usr/local--with-ldap-conf-file=/etc/openldap/ldap.conf
# make
# make install

--with-ldap-dirはインストールしたOpenLDAPのlibを見にいくようにセットする。

【/usr/local/etc/openldap/slapd.conf】

include /usr/local/etc/openldap/schema/core.schema
include /usr/local/etc/openldap/schema/cosine.schema
include /usr/local/etc/openldap/schema/inetorgperson.schema
include /usr/local/etc/openldap/schema/nis.schema

allow bind_v2

pidfile /var/run/openldap/slapd.pid
argsfile /var/run/openldap/slapd.args

database bdb
suffix "dc=hoge,dc=co,dc=jp"
rootdn "cn=Manager,dc=hoge,dc=co,dc=jp"

rootpw {SSHA}aaaaaaaaaaaaaaaaaaaaaaaaaaaaa

directory /usr/local/var/openldap-data

index objectClass eq,pres
index ou,cn,mail,surname,givenname eq,pres,sub
index uidNumber,gidNumber,loginShell eq,pres
index uid,memberUid eq,pres,sub
index nisMapName,nisMapEntry eq,pres,sub

access to attrs=userPassword
by anonymous auth
by dn="cn=Admin,dc=hoge,dc=co,dc=jp" read
by * none
access to *
by self read
by dn="cn=Admin,dc=hoge,dc=co,dc=jp" read
by * none

rootpwは
# /usr/local/sbin/slappasswd
の結果をコピペ。

【/usr/local/etc/openldap/ldap.conf】

host 127.0.0.1
base dc=hoge,dc=co,dc=jp
binddn cn=Admin,dc=hoge,dc=co,dc=jp
bindpw aaaaaaaaaaaaaaaa
ssl no
bind_policy soft

bindpwは平文。

slapdをあげるのにLDAPに接続しに行く…。まさに鶏と卵状態。
なのでbind_policy softを入れとく。

【/etc/openldap/ldap.conf】

# ln -s /usr/local/etc/openldap/ldap.conf .

【パーミッション】

# chown -R ldap:ldap /usr/local/etc/openldap
# chmod 700 /usr/local/var/openldap-data
# chmod 700 /usr/local/var/openldap-slurp

【/etc/nsswitch.conf】

passwd: files ldap
shadow: files ldap
group: files ldap

【/etc/pam.d/vsftpd

#%PAM-1.0
auth required pam_listfile.so item=user sense=deny file=/etc/vsftpd.ftpusers onerr=succeed
auth sufficient /lib/security/$ISA/pam_unix.so likeauth nullok
auth sufficient /lib/security/$ISA/pam_ldap.so
auth required /lib/security/$ISA/pam_deny.so
auth required pam_shells.so

account required /lib/security/$ISA/pam_unix.so
account sufficient /lib/security/$ISA/pam_ldap.so

session required /lib/security/$ISA/pam_limits.so
session required /lib/security/$ISA/pam_unix.so
session optional /lib/security/$ISA/pam_ldap.so

この記事のトラックバックURL

http://ysmt.blog21.fc2.com/tb.php/137-4a14242e

コメント

コメントする

管理者にだけ表示を許可する

Template Designed by DW99

上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。