centos7: vsftpd安装及启动: ftp配置,以虚拟用户为例

centos7: vsftpd安装及启动: ftp配置

1安装:

yum -y install vsftpd
/bin/systemctl start vsftpd.service #启动
/bin/systemctl enable vsftpd.service #开机启动

  

2.目录说明

/etc/pam.d/vsftpd #基于pam的vsftpd验证配置文件
/etc/vsftpd #软件主目录
/etc/vsftpd/vsftpd.conf #主程序配置文件
/etc/vsftpd/user_list #通过主配置文件设置的黑名单或白名单
/etc/vsftpd/ftpusers #默认的vsftpd黑名单
/usr/sbin/vsftpd #主程序

  

3.confi配置文件

anonymous_enable=NO
local_enable=YES
write_enable=YES
local_umask=022
dirmessage_enable=YES
xferlog_enable=YES
xferlog_std_format=YES
chroot_local_user=YES
listen=YES
pam_service_name=vsftpd
userlist_enable=YES
userlist_deny=NO
tcp_wrappers=YES

  

例如:创建虚拟ftp账户,登录ftp

1.创建虚拟用户数据库

依赖:

yum -y install db4-utils

  

账户:可以添加多个

vi /etc/vsftpd/vlogin

tomcat #用户
123456 #密码

  

加密处理

db_load -T -t hash -f /etc/vsftpd/vlogin  /etc/vsftpd/vlogin.db
chmod 600 /etc/vsftpd/{vlogin, vlogin.db}

  

2.创建pam文件,验证虚拟账户

vi /etc/pam.d/vsftpd.pam

#先要确定你的linux内核是64位的,还是32位的,32位的不能用lib64
auth required  /lib64/security/pam_userdb.so db=/etc/vsftpd/vlogin
account required /lib64/security/pam_userdb.so db=/etc/vsftpd/vlogin

  

3.ftp登录的虚拟目录

/var/html/wwwroot

4.创建虚拟用户的目录配置目录及文件

mkdir /etc/vsftpd_user_conf

vi /etc/vsftpd_user_conf/tomcat

内容为:local_root=/var/html/wwwroot

5.配置vsftpd.conf

anonymous_enable=NO #禁止匿名访问
local_enable=YES  #启用本机ftp访问功能
write_enable=YES #允许写功能
anon_upload_enable=YES #上传权限
anon_mkdir_write_enable=NO #新建目录权限
anon_other_write_enable=NO #删除/重命名的权限
anon_umask=022 #新建目录权限上传的

#所有非匿名用户映射到vsftpd用户
guest_enable=YES 
guest_username=vsftpd

#本地账户掩码
local_umask=077
dirmessage_enable=YES #用户进入目录显示信息
xferlog_enable=YES
xferlog_std_format=YES
xferlog_file=/var/log/xferlog

#限制用户在本目录下,禁止用户切换上级根目录权限
chroot_local_user=YES
chroot_list_enable=NO
allow_writeable_chroot=YES


listen=YES      #监听端口
listen_port=21   #监听入站FTP端口号

#被动模式
pasv_enable=YES 
pasv_min_port=30000
pasv_max_port=30999
pam_service_name=vsftpd.pam

#虚拟账户
user_config_dir=/etc/vsftpd_user_conf
user_sub_token=$USER

#yes为白名单
userlist_enable=YES
userlist_deny=YES

tcp_wrappers=YES

  

6.在/etc/sysconfig/iptables添加防火墙规则

#FTP
-A INPUT  -p tcp --dport 21 -j ACCEPT
-A INPUT -p tcp --dport 20 -j ACCEPT
-A OUTPUT -p tcp --sport 21 -j ACCEPT
-A OUTPUT -p tcp --sport 20 -j ACCEPT
#ftp-pasv_min/max
-A INPUT -p tcp --dport 30000:30999 -j ACCEPT
-A OUTPUT -p tcp --sport 30000:30999 -j ACCEPT

  

如果不行请查看

iptables -nL

清楚防火墙规则

iptables -F