安装vsftpd 直接用 yum安装,方便的很
yum -y install vsftpd
#进入vsftpd目录
cd /etc/vsftpd/
#Create The Virtual Users Database
vi vusers.txt
#输入用户名
ftpuser #用户名
ftppass #密码
#创建db4数据文件
db_load -T -t hash -f vusers.txt vsftpd-virtual-user.db
chmod 600 vsftpd-virtual-user.db
#db4数据文件建好后,可以删除用户名列表文件
#rm vusers.txt
配置密码文件
vi /etc/pam.d/vsftpd.virtual
#%PAM-1.0
auth required pam_userdb.so db=/etc/vsftpd/vsftpd-virtual-user
account required pam_userdb.so db=/etc/vsftpd/vsftpd-virtual-user
session required pam_loginuid.so
#配置vsftpd文件
vi /etc/vsftpd/vsftpd.conf
guest_enable=YES #容许虚拟帐户登录
guest_username=ftpuser
local_enable=YES #容许本地帐户访问
virtual_use_local_privs=YES #虚拟帐户使用本地帐户权限制
pam_service_name=vsftpd.virtual #虚拟帐户密码数据
chroot_local_user=YES
local_root=/webroot #网站根据目录
#ftp_username=ftpuser 定义匿名用户登入时的名字
mkdir /webroot
mkdir -p /webroot/{ftpuser,ftpjken}
chown -R ftpuser:ftpuser /webroot
/usr/sbin/setsebool -P ftpd_disable_trans 1
/usr/sbin/setsebool -P ftp_home_dir 1
#建立白名单-->只允许ftpuser用户登录
vi /etc/vsftpd/vsftpd.conf
userlist_enable=YES
userlist_deny=NO
vi /etc/vsftpd/user_list
ftpuser #只允许ftpuser用户登录
service vsftpd restart
or
/etc/init.d/vsftpd restart
/sbin/iptables -I RH-Firewall-1-INPUT 1 -p tcp --dport ftp -j ACCEPT
/sbin/iptables -I RH-Firewall-1-INPUT 1 -p tcp --dport ftp-data -j ACCEPT
参考:
chroot_list_enable=YES,
chroot_local_user=YES时,在/etc/vsftp.chroot_list文件中列出的用户可以切换到其它目录,不在文件中的用户,不可以切换到其它目录。
chroot_list_enable=YES,chroot_local_user=NO时,在/etc/vsftp.chroot_list文件中列出的用户不能切换到其它目录,
不在文件中的用户,可以切换到其它目录。
chroot_list_enable=NO,chroot_local_user=YES时,所有用户都不能切换到其它目录。
chroot_list_enable=NO,chroot_local_user=NO时,所有用户都可以切换到其它目录。