===== vsftpdでバーチャルユーザを設定 =====
DBファイルへの返還にはBerkeley DBのdb_loadを利用するので以下のパッケージをインストールしておく
# yum install -y db4-utils
vsftpd.confを修正してバーチャルユーザを有効にする。
※バーチャルユーザとUNIXユーザを混合して利用する設定には出来ないようである。
# vi /etc/vsftpd/vsftpd.conf
以下追加
user_config_dir=/etc/vsftpd/vsftpd_user_conf/
guest_enable=YES
anon_upload_enable=YES
anon_mkdir_write_enable=YES
anon_other_write_enable=yes
anon_world_readable_only=NO
anon_umask=022
virtual_use_local_privs=YES
pam_service_name=vsftpd2
ユーザ毎の設定ファイルを保存するディレクトリを作成。パスはvsftpd.confのuser_config_dirで指定したところになる
# mkdir /etc/vsftpd/vsftpd_user_conf/
バーチャルユーザのリストを作成
# vi /etc/vsftpd/vsftpd_vuser_list
ユーザID1
ユーザID1パスワード
ユーザID2
ユーザID2パスワード
バーチャルユーザのリストをDB化する
# db_load -T -t hash -f /etc/vsftpd/vsftpd_vuser_list /etc/vsftpd/vsftpd_login.db
# chmod 600 /etc/vsftpd/vsftpd_login.db
ユーザ毎の設定ファイルを作成
# vi /etc/vsftpd/vsftpd_user_conf/ユーザID1
guest_username=renbird # マッピングするUNIXユーザ
local_root=/home/renbird/miyako # ドキュメントルート
認証方法を変更する。そのままvsftpdを利用してもいいのだが、なんとなく新規で作成しておくw
# cp -p /etc/pam.d/vsftpd /etc/pam.d/vsftpd2
# vi /etc/pam.d/vsftpd2
以下の2行を追加
auth required /lib/security/pam_userdb.so db=/etc/vsftpd/vsftpd_login
account required /lib/security/pam_userdb.so db=/etc/vsftpd/vsftpd_login
サービスの再起動
# service vsftpd restart