スポンサーサイト

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

vsftpdの認証をLDAPで(パッケージを使用)

RedHat ES4 update3(64bit)の話。

【openldapとvsftpdをインストール】

nss_ldap-226-10
openldap-2.2.13-4
openldap-clients-2.2.13-4
openldap-devel-2.2.13-4
は既に入ってた。

ということで↓を追加。
# rpm -ivh vsftpd-2.0.1-5.EL4.3.x86_64.rpm
# rpm -ivh openldap-servers-2.2.13-4.x86_64.rpm
# chkconfig vsftpd on
# chkconfig ldap on

【/etc/vsftpd/vsftpd.conf】

デフォから変えたのは↓
anonymous_enable=NO
ascii_upload_enable=YES
ascii_download_enable=YES

【vsftpd起動】

# /etc/init.d/vsftpd start

【パーミッションとか】

# chown -R ldap:ldap /etc/openldap
# cd /etc/openldap
# chmod 600 slapd.conf ldap.conf
# cd /var/run
# mkdir openladp
# chown ldap:ldap openldap

【/etc/openldap/slapd.conf】

★マスター側
include /etc/openldap/schema/core.schema
include /etc/openldap/schema/cosine.schema
include /etc/openldap/schema/inetorgperson.schema
include /etc/openldap/schema/nis.schema

allow bind_v2

pidfile /var/run/openldap/slapd.pid ← 変更
argsfile /var/run/openldap/slapd.args ← 変更

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 ← 追加

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

rootpw {SSHA}xxxxxxxxxxxxxxxxxxxxxxxxxxxxx ← 追加

directory /var/lib/ldap

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

replogfile /var/lib/ldap/openldap-master-replog ← 追加

replica uri=ldap://slave.hoge.co.jp:389/ ← 追加
binddn="cn=Manager,dc=hoge,dc=co,dc=jp" ← 追加
bindmethod=simple credentials=xxxxxxxx ← 追加

replicaはスレーブの台数分記述。
credentialsにはスレーブのbinddnのパスワードを平文で記述。

★スレーブ側
include /etc/openldap/schema/core.schema
include /etc/openldap/schema/cosine.schema
include /etc/openldap/schema/inetorgperson.schema
include /etc/openldap/schema/nis.schema

allow bind_v2

pidfile /var/run/openldap/slapd.pid ← 変更
argsfile /var/run/openldap/slapd.args ← 変更

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 ← 追加

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

rootpw {SSHA}yyyyyyyyyyyyyyyyyyyyyyyyyyyyy ← 追加

directory /var/lib/ldap

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

updatedn "cn=Manager,dc=hoge,dc=co,dc=jp" ← 追加
updateref ldap://master.hoge.co.jp:389/ ← 追加

rootpwは
# slappasswd
の結果をコピペ。

【LDAPサーバ設定ファイル確認】

# slaptest -f /etc/openldap/slapd.conf

config file testing succeeded
と表示されればOK。

【/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 zzzzzzz ← 平文
ssl no

# cd /etc
# mv ldap.conf ldap.conf.default
# ln -s /etc/openldap/ldap.conf .

【データ同期】

マスター、スレーブ共にもし稼動してたら落とす。

# /etc/init.d/ldap stop

最初だけマスターの/var/lib/ldap/配下のファイルを全部スレーブにコピーする。

コピーしたらパーミッションをldap:ldapにするように。
# cd /var/lib/ldap
# chown ldap:ldap *
# chmod 600 *

【LDAPサーバ起動】

# /etc/init.d/ldap start

【/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
session required pam_loginuid.so

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

http://ysmt.blog21.fc2.com/tb.php/142-0e84e304

コメント

コメントする

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

Template Designed by DW99

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