VSFTP教程满地都是,我写的是配置vsftp虚拟用户过程中需要注意的几个地方。
1、首先安装vsftp,最简单的办法:
yum -y install vsftpd
2、建立虚拟用户
useradd virtual_user -s /sbin/nologin
3、虚拟用户会用到db4认证,所以需要安装下面的包生成数据文件
yum -y install db4-util*
4、建立虚拟账号文件,例如:
[root@test ~]# cat /etc/vsftpd/vsftpd_login
test
123456
5、利用刚安装的db4工具生存数据文件
db_load -T -t hash -f /etc/vsftpd/vsftpd_login /etc/vsftpd/vsftpd_login.db
6、建立认证文件
[root@test ~]# cat /etc/pam.d/ftp
auth required /lib/security/pam_userdb.so db=/etc/vsftpd/vsftpd_login
account required /lib/security/pam_userdb.so db=/etc/vsftpd/vsftpd_login
注意:如果是64位系统,应该是下面的:
auth required /lib64/security/pam_userdb.so db=/etc/vsftpd/vsftpd_login
account required /lib64/security/pam_userdb.so db=/etc/vsftpd/vsftpd_login
7、修改vsftpd.conf文件为如下:(这个配置是容许上传的,可根据需要修改)
listen=YES
anonymous_enable=NO
anon_max_rate=10000000
local_enable=YES
use_localtime=YES
write_enable=YES
anon_upload_enable=YES
anon_mkdir_write_enable=YES
dirmessage_enable=YES
xferlog_enable=YES
connect_from_port_20=YES
xferlog_file=/var/log/vsftpd.log
idle_session_timeout=600
data_connection_timeout=120
ascii_upload_enable=YES
ascii_download_enable=YES
chroot_local_user=YES
guest_enable=YES
guest_username=virtual_user //这里是重点
user_config_dir=/etc/vsftpd/vsftpd_user_conf //这里是重点
user_sub_token=$USER //这里是重点
8、新建文件夹mkdir /etc/vsftpd/vsftpd_user_conf
在这个目录下建立一个名为test的文件,内容如下:
local_root=/home/test/ftp
anon_umask=002
write_enable=YES
anon_world_readable_only=NO
anon_upload_enable=YES
anon_mkdir_write_enable=YES
anon_other_write_enable=YES
9、重启vsftp
service vsftpd restart
10、记得修改防火墙容许ftp接入,并且防止selinux导致的错误 (很重要)
#turn on selinux policy
setsebool -P ftp_home_dir=1
#turn on iptables
-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 21 -j ACCEPT
还可以修改iptables-config容许被动传输模式
把IPTABLES_MODULES修改为下面的
IPTABLES_MODULES="ip_conntrack_netbios_ns ip_conntrack_ftp ip_nat_ftp"
阅读(1165) | 评论(0) | 转发(0) |