Last Modified: 2009-08-10

FTP虚拟用户配置

Edition State Date Description
1.0 completed 2009-08-10 基于ubuntu-9.04-server-i386

安装和配置

安装vsftpd

# apt-get install vsftpd

Berkeley数据库依赖

# apt-get install libdb4.4

增加vsftpd运行时的本地用户

# useradd virftpuser -d /home/ftp -s /bin/false
# chown virftpuser:virftpuser /home/ftp

创建配置文件夹

# mkdir -p /etc/vsftpd/userconf

创建账户文件

# cd /home/ftp
# vim ftpuser

现在的配置信息如下

user1
XXXXXXX
user2
XXX
user3
XXXXXXX

根据账户文件创建数据库文件并放到相应目录

# db4.7_load -T -t hash -f ftpuser vsftpd_login.db
# chmod 600 vsftpd_login.db
# mv vsftpd_login.db /etc/vsftpd

创建各个用户的配置文件

# cd /etc/vsftpd/userconf
# vim user1
local_root=/home/ftp/FTP_DIR/user1/
anon_world_readable_only=NO
write_enable=YES
anon_upload_enable=YES
anon_mkdir_write_enable=YES
anon_other_write_enable=YES

# vim user2
local_root=/home/ftp/FTP_DIR/user2/
anon_world_readable_only=NO
write_enable=YES
anon_upload_enable=YES
anon_mkdir_write_enable=YES
anon_other_write_enable=YES

# vim user3
local_root=/home/ftp/FTP_DIR/user3/
anon_world_readable_only=NO
write_enable=NO
anon_upload_enable=NO
anon_mkdir_write_enable=NO

创建vsftpd.vu

# vim /etc/pam.d/vsftpd.vu
auth     required /lib/security/pam_userdb.so db=/etc/vsftpd/vsftpd_login
account required /lib/security/pam_userdb.so db=/etc/vsftpd/vsftpd_login

配置vsftpd的主配置文件vsftpd.conf

# vim /etc/vsftpd.conf

解注如下行

local_enable=YES
ftpd_banner=Welcome to swordair.com FTP service.
chroot_local_user=YES
local_umask=022

修改如下行

pam_service_name=vsftpd.vu

添加如下行

no_anon_password=YES
anon_root=/home/ftp/FTP_DIR/anon
listen_port=21
local_root=/home/ftp/FTP_DIR
guest_enable=YES
guest_username=virftpuser
user_config_dir=/etc/vsftpd/userconf
delete_failed_uploads=YES
anon_umask=022

重启vsftpd

# /etc/init.d/vsftpd restart