一、编译过程
#cd /Data/backup/vsftpd-2.0.3
#make clean
#vi
builddefs.h
#make
#ls -l
-rwxr-xr-x
二、安装过程
做好安装前的准备,主要是必要的目录及必要的用户需要建立,不过rh9基本都已经存在
#useradd nobody
#mkdir /usr/share/empty
#mkdir /Data/ftp
#useradd -d /Data/ftp -G ftp -s /sbin/nologin ftp
#chown root:root /Data/ftp
#chmod og-w /Data/ftp
安装vsftpd的配置文件
#install -m 755 vsftpd /usr/local/sbin/vsftpd-pam
#install -m 644 vsftpd.8 /usr/share/man/man8
#install -m 644 vsftpd.conf.5 /usr/share/man/man5
#install -m 644 vsftpd.conf /etc/vsftpd-pam.conf
三、建立认证数据库
查看相应软件包
#rpm -qa | grep db4
db4-devel-4.2.52-7.1
db4-4.2.52-7.1
db4-utils-4.2.52-7.1
建立一个logins.txt文件,单行为用户名双行为密码
#vi /Data/user/logins.txt
admin
admin
platform
platform
:wq!
建立数据库文件
#db_load -T -t hash -f /home/logins.txt /etc/vsftpd_login.db
#chmod 600 /etc/vsftpd_login.db
建立认证文件
#vi /etc/pam.d/vsftpd
auth required /lib/security/pam_userdb.so db=/etc/vsftpd_login
account required /lib/security/pam_userdb.so db=/etc/vsftpd_login
:wq!
建立一个虚拟用户
useradd -d /Data/ftp/ -s /sbin/nologin virtual
四、编写配置文件
#vi
/etc/vsftpd-pam.conf
dirmessage_enable=YES
banner_file=/Data/ftp/.vsftpd.banner_file
xferlog_enable=YES
xferlog_file=/var/log/vsftpd.log
xferlog_std_format=YES
listen_address=192.168.1.10
listen=YES
listen_port=21
max_per_ip=10
max_clients=200
tcp_wrappers=YES
anonymous_enable=NO
local_enable=YES
write_enable=NO
anon_upload_enable=NO
anon_mkdir_write_enable=NO
anon_other_write_enable=NO
chroot_local_user=YES
guest_enable=YES
guest_username=virtual
pasv_min_port=30000
pasv_max_port=30999
pam_service_name=/etc/pam.d/vsftpd
anon_world_readable_Only=NO
user_config_dir=/Data/vsftpd_user_conf
:wq!
建立每个用户的配置文件
#mkdir /Data/vsftpd_user_conf
#cd /Data/vsftpd_user_conf
#vi admin
local_root=/Data/ftp
write_enable=YES
anon_world_readable_Only=NO
anon_upload_enable=YES
anon_mkdir_write_enable=YES
anon_other_write_enable=YES
:wq!
#vi platform
local_root=/Data/ftp/platform
write_enable=YES
anon_world_readable_Only=NO
anon_upload_enable=YES
anon_mkdir_write_enable=YES
anon_other_write_enable=YES
:wq!
#cd /
#cd Data/ftp
#mkdir pub
#mkdir platform
#cd platform
#mkdir pub
#mount --bind /Data/ftp/pub /Data/ftp/platform/pub
#chown virtual:virtual /Data/ftp
#chmod 700 /Data/ftp
启动程序
#/usr/local/sbin/vsftpd-pam /etc/vsftpd-pam.conf &
测试成功
让linux启动自动运行vsftpd
#cd /
#cd etc/rc.d
#vi rc.local
加入
/usr/local/sbin/vsftpd-pam /etc/vsftpd-pam.conf &