vsftpd
简介:
vsftpd是"very secure FTP daemon" 的缩写,是一个完全免费的、开放源代码的ftp服务器软件。
特点:
vsftpd是一款在Linux发行版中最受推崇的FTP服务器程序,小巧轻快,安全易用,支持虚拟用户、支持带宽限制等功能。
安装系统环境: CentOS 6.8 64位
vsftpd版本:vsftpd-2.2.2-21.el6.x86_64
1.安装
执行命令:
yum -y install vsftpd
注:(1)是否使用sudo权限执行请根据您具体环境来决定
(2)检查是否已经安装过vsftpd的命令:
rpm -qa | grep vsftpd
另外,默认的配置文件路径为: /etc/vsftpd/vsftpd.conf
2.创建虚拟用户
(1)选择在根或者用户目录下创建ftp文件夹,如:/ftpfile:
cd /
sudo mkdir /ftpfile
(2)添加匿名用户
useradd ftpuser -d /ftpfile/ -s /sbin/nologin
创建的用户没有登录linux机器的权限
参数说明 : -d 意为该用户应该使用的文件路径
-s 意为该创建的用户没有登录linux系统的权限
(3)查看和修改ftpfile权限
cd /
ll | grep ftp
chown -R ftpuser.ftpuser /ftpfile/
ll | grep ftp
参数说明: -R 注意,是大写的R,意为遍历参数中所有的路径,统统都赋权限给ftpuser
(4)重设ftpuser密码
passwd ftpuser
(博主设置的密码是123456所以提示密码太简单了,这个不影响,只是警告)
(4)在ftpfile目录下写一个文件
cd ftpfile/
vim index.html
插入并保存wq:
here is ftpfile
/ftpfile
3.vsftpd配置
(1)进入 /etc/vsftpd 目录
cd /etc/vsftpd
(2) 创建文件名为 chroot_list 的文件
sudo vim chroot_list
(3)把刚才新增的虚拟用户添加到此配置文件中,后续要引用
(4):wq 保存并退出
5)修改文件: /etc/selinux/config ,修改SELINUX=disabled
sudo vim /etc/selinux/config
(6):wq 保存并退出
注:如果一会验证的时候碰到550拒绝访问请执行:然后重启linux服务器,执行reboot命令
sudo setsebool -P ftp_home_dir 1
(7)配置 /etc/vsftpd/vsftpd.conf【重点】
sudo vim /etc/vsftpd/vsftpd.conf
1)修改banner: 命令模式下输入 /ban 回车即可搜索banner,按n搜索下一个。
ftpd_banner=Welcome to LiKang FTP service. local_root=/ftpfile (当本地用户登入时,将被更换到定义的目录下,默认值为各用户的家目录) #anon_root=/ftpfile (匿名了可以注释)
2)打开chroot_list_enable=YES(设置是否启用chroot_list_file配置项指定的用户列表文件)
chroot_list_file=/etc/vsftpd/chroot_list(用于指定用户列表文件)
3)增加use_localtime=YES(默认是GMT时间,改成使用本机系统时间)
4)修改anonymous_enable=NO(不允许匿名用户登录)
pasv_min_port=61001(被动模式使用端口范围最小值)
pasv_max_port=62000(被动模式使用端口范围最大值)
(8)添加或更新配置
详细说明请访问:http://learning.happymmall.com/env.html
本项目中用到的配置说明:http://learning.happymmall.com/vsftpdconfig/vsftpd.conf.readme.html
更多配置学习: http://download.happymmall.com/vsftpdconfig.doc
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
(3):wq保存并退出
(4)执行以下命令重启防火墙
sudo service iptables restart
5.vsftpd验证
(1)执行以下命令,重启vsftpd
sudo service vsftpd restart
注:第一次启动时Shutting down vsftpd 是failed 不用理会,因为这是重启命令,保证Starting vsftpd 是OK 即代表vsftpd服务成功
(2)执行 ifconfig 查看运行vsftpd服务器的ip地址
(3)打开浏览器访问: ftp://10.211.55.6
(4)输入之前创建的ftp匿名用户账号和密码,例如:
用户名: ftpuser 密 码: 123456
(5)看到如图所示代表访问成功
(6)通过ftp客户端软件
例如:cuteftp、filezilla、viperftp、flashftp、leadftp等进行连接ftp服务器,进行文件上传、下载验证
6.vsftpd常用命令
(1)启动:
sudo service vsftpd start
(2)关闭:
sudo service vsftpd stop
(3)重启:
sudo service vsftpd restart