一、安装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
③:默认配置文件在 /etc/vsftpd/vsftpd.conf
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
还真存在,解决方法如下:
ftpuser用户已经存在的问题解决,继续添加匿名用户
3.配置
(1): cd /etc/vsftpd
(2): sudo vim chroot_list
(3):把刚才新增的匿名用户添加到此配置文件中,后续要引用
(4) :wq保存退出
(5): sudo vim /etc/selinux/config,修改为SELINUX=disabled
(6) :wq保存退出
(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)
- -A INPUT -p TCP --dport 61001:62000 -j ACCEPT
- -A OUTPUT -p TCP --sport 61001:62000 -j ACCEPT
- -A INPUT -p TCP --dport 20 -j ACCEPT
- -A OUTPUT -p TCP --sport 20 -j ACCEPT
- -A INPUT -p TCP --dport 21 -j ACCEPT
- -A OUTPUT -p TCP --sport 21 -j ACCEPT
重启防火墙
5.执行 sudo service vsftpd restart
注:第一次启动时 shutting down vsftpd是failed不用理会,
因为这是重启命令,保证starting vsftpd是ok即代表vsftpd服务成功
6.验证
在此 通过 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节点,并把注释打开,我们需要用这个文件把我们的虚拟用户给添上
再找 anon,把匿名访问给关掉
anontmous_enable=YES改成anontmous_enable=NO
然后再次重启ftp服务,验证
输入用户名::ftpuser 密码 :123456
成功。
要是通过其他机器访问,可以关闭防火墙
service iptables stop
验证