电商项目实战——第一天(环境部署)3搭建vsftpd服务器

一、安装vsftpd

1、vsftpd简介:

vsftpd是" veru secure FTP daemon"的缩写,是一个完全免费的、开放源代码的ftp服务器软件。

特点:vsftpd是一款在Linux发行版中最受推崇的FTP服务器程序,小巧轻快,安全易用,支持虚拟用户、支持带宽限制等功能。

2、vsftpd安装

Linux:安装、创建虚拟用户、配置、防火墙设置

2.1:安装

执行  yum -y install vsftpd

注:①:是否使用sudo权限执行请过呢据您具体环境来决定

②: rpm  -qa | grep vsftpd 可通过这个检查是否已经安装vsftpd

电商项目实战——第一天(环境部署)3搭建vsftpd服务器

③:默认配置文件在  /etc/vsftpd/vsftpd.conf

电商项目实战——第一天(环境部署)3搭建vsftpd服务器

2.创建虚拟用户

(1):选择在根或者用户目录下创建ftp文件夹:mkdir ftpfile,如: /ftpfile

(2):添加匿名用户: useradd ftpuser -d /ftpfile -s /sbin/nologin

(3):修改ftpfile权限:chown -R ftpuser.ftpuser /ftpfile

(4):重设ftpuser密码:passwd ftpuser


报错,竟然说ftpuser用户已存在,我们看看到底存不存在  cat /etc/passwd | grep ftpuser

电商项目实战——第一天(环境部署)3搭建vsftpd服务器

还真存在,解决方法如下:

电商项目实战——第一天(环境部署)3搭建vsftpd服务器

ftpuser用户已经存在的问题解决,继续添加匿名用户

电商项目实战——第一天(环境部署)3搭建vsftpd服务器

3.配置

(1): cd /etc/vsftpd

(2): sudo vim chroot_list

(3):把刚才新增的匿名用户添加到此配置文件中,后续要引用

(4)  :wq保存退出

电商项目实战——第一天(环境部署)3搭建vsftpd服务器

(5): sudo vim /etc/selinux/config,修改为SELINUX=disabled

(6)  :wq保存退出

电商项目实战——第一天(环境部署)3搭建vsftpd服务器

电商项目实战——第一天(环境部署)3搭建vsftpd服务器

(7)临时关闭selinux模式 

setenforce 0


注:如果一会验证的时候碰到500 OOPS: cannot change directory:/home/*******


于是查询selinux

1
2
3
4
5
6
7
8
9
10
11
12
13
[root@node4 home]#sestatus -b |grep ftp
allow_ftpd_anon_write                       off
allow_ftpd_full_access                      off
allow_ftpd_use_cifs                         off
allow_ftpd_use_nfs                          off
ftp_home_dir                                off
ftpd_connect_db                             off
ftpd_use_fusefs                             off
ftpd_use_passive_mode                       off
httpd_enable_ftp_server                     off
tftp_anon_write                             off
tftp_use_cifs                               off
tftp_use_nfs                                off

  发现确实没有该项,但是却意外发现了ftp_home_dir,于是我照方抓药执行

1
setsebool -P ftp_home_dir 1

  在查询一下,发现状态已经成功改过来了!

1
2
3
4
5
6
7
8
9
10
11
12
13
[root@node4 home]#sestatus -b |grep ftp
allow_ftpd_anon_write                       off
allow_ftpd_full_access                      off
allow_ftpd_use_cifs                         off
allow_ftpd_use_nfs                          off
ftp_home_dir                                on
ftpd_connect_db                             off
ftpd_use_fusefs                             off
ftpd_use_passive_mode                       off
httpd_enable_ftp_server                     off
tftp_anon_write                             off
tftp_use_cifs                               off
tftp_use_nfs                                off

  重新启动vsftpd

1
#service vsftpd restart

  再次连接vsftpd服务,成功了!

4.防火墙配置

(1)  sudo vim /etc/sysconfig/iptables

(2) 

[plain] view plain copy
  1. -A INPUT -p TCP --dport  61001:62000 -j ACCEPT  
  2. -A OUTPUT -p TCP --sport  61001:62000 -j ACCEPT  
  3. -A INPUT -p TCP --dport  20 -j ACCEPT  
  4. -A OUTPUT -p TCP --sport  20 -j ACCEPT  
  5. -A INPUT -p TCP --dport  21 -j ACCEPT  
  6. -A OUTPUT -p TCP --sport  21 -j ACCEPT  
将以上配置添加到防火墙配置中。
电商项目实战——第一天(环境部署)3搭建vsftpd服务器

电商项目实战——第一天(环境部署)3搭建vsftpd服务器

重启防火墙

电商项目实战——第一天(环境部署)3搭建vsftpd服务器

5.执行 sudo service vsftpd restart

注:第一次启动时 shutting down vsftpd是failed不用理会,

因为这是重启命令,保证starting vsftpd是ok即代表vsftpd服务成功

电商项目实战——第一天(环境部署)3搭建vsftpd服务器

6.验证

电商项目实战——第一天(环境部署)3搭建vsftpd服务器

在此 通过  ftp://192.168.1.111访问时,不需要验证用户。


vsftpd常用命令

启动: sudo service vsftpd start

关闭: sudo service vsftpd stop

重启: sudo service vsftpd restart



配置验证用户 :

1、到vsftpd的配置文件中把用户配置上

sudo vim /etc/vsftpd/vsftpd.conf

找一个banner的节点,添加

local_root=/ftpfile  本地目录访问的文件夹

anon_root=/ftpfile  匿名访问的文件夹

同时,再添加一个use_localtime节点,使ftp服务器用的是本地时间

use_localtime=yes



再找一个chroot_list节点,并把注释打开,我们需要用这个文件把我们的虚拟用户给添上

电商项目实战——第一天(环境部署)3搭建vsftpd服务器


再找 anon,把匿名访问给关掉

anontmous_enable=YES改成anontmous_enable=NO

电商项目实战——第一天(环境部署)3搭建vsftpd服务器


电商项目实战——第一天(环境部署)3搭建vsftpd服务器


然后再次重启ftp服务,验证

电商项目实战——第一天(环境部署)3搭建vsftpd服务器


输入用户名::ftpuser  密码 :123456

电商项目实战——第一天(环境部署)3搭建vsftpd服务器


电商项目实战——第一天(环境部署)3搭建vsftpd服务器


成功。



要是通过其他机器访问,可以关闭防火墙

service iptables stop

电商项目实战——第一天(环境部署)3搭建vsftpd服务器

验证

电商项目实战——第一天(环境部署)3搭建vsftpd服务器

电商项目实战——第一天(环境部署)3搭建vsftpd服务器