共计 3964 个字符,预计需要花费 10 分钟才能阅读完成。
1、VSFTP 简介
VSFTP是一个基于 GPL 发布的类 Unix 系统上使用的 FTP 服务器 软件,它的全称是 Very Secure FTP 从此名称可以看出来,编制者的初衷是代码的安全。
安全性是编写 VSFTP 的初衷,除了这与生俱来的安全特性以外,高速与高稳定性也是 VSFTP 的两个重要特点。
在速度方面,使用 ASCII 代码的模式下载数据时,VSFTP 的速度是 Wu-FTP 的两倍,如果 Linux 主机使用 2.4.* 的内核,在千兆以太网上的下载速度可达 86MB/S。
在稳定方面,VSFTP 就更加的出色,VSFTP 在单机(非集群)上支持 4000 个以上的并发用户同时连接,根据 Red Hat 的 Ftp 服务器 (ftp.redhat.com) 的数据,VSFTP 服务器可以支持 15000 个并发用户。
2、VSFTP 安装及配置
安装该软件需要使用最高用户(root)进行安装,否则不能进行。
2.1 安装
首先用命令检查 VSFTP 是否已经安装。
chkconfig –list | grep vsftpd
显示结果如下,没有任何反应,说明没有安装 VSFTP。
方法 1:如果下载的 rpm 文件
直接在该文件所在的目录下 键入:rpm -ivh vsftpd-1.1.3-8.i386.rpm,等待安装即完成。
方法 2:使用 yum 命令直接安装
yum –y install vsftpd
上图中表示正在下载,需要耐心等一下,如果网络不畅通,也可能需要下载失败,不过不要担心,只要在重新提交一次命令就行。
从上面的结果中看出,已经成功安装。然后为它创建日志文件:
touch /var/log/vsftpd.log
这样简单的两个命令就完成了 vsftp 的安装,但是如果你现在想这样 ftp://your_ip 来访问的话,那还不行,还需要配置权限!
2.2 启动与配置自启动
再次使用 ”chkconfig –list | grep vsfpd“ 来查看 vsftpd 服务启动项情况;
如果看到的是如下显示的结果:
服务全部都是关闭(off)的,注意这里的关闭(off)表示的是服务器启动的时候是否会自启动服务,我们使用如下命令来配置其自启动:
chkconfig vsftpd on
或者
chkconfig –level 2345 vsftpd on
执行结果如下:
查看与管理 ftp 服务:
启动ftp 服务:service vsftpd start
查看ftp 服务状态:service vsftpd status
重启ftp 服务:service vsftpd restart
关闭ftp 服务:service vsftpd stop
2.3 配置 vsfpd 服务
编辑 /etc/vsftpd/vsftpd.conf 文件,配置 vsftp 服务:
vim /etc/vsftpd/vsftpd.conf
上图中先显示出 ”/etc/vsftpd“ 下面有哪些文件,然后在用 ”vim“ 编辑器进行修改。
先按键盘上的 ”a” 就可以进行编辑了,按照下面进行操作。
anonymous_enable=YES –> anonymous_enable=NO // 不允许匿名用户访问,默认是允许
xferlog_file=/var/log/vsftpd.log #设定 vsftpd 的服务日志保存路径。注意,该文件默认不存在。必须要手动 touch 出来
#idle_session_timeout=600 –> idle_session_timeout=600 // 会话超时,客户端连接到 ftp 但未操作,默认被注释掉,可根据个人情况修改
#async_abor_enable=YES –> async_abor_enable=YES // 支持异步传输功能,默认是注释掉的,去掉注释
#ascii_upload_enable=YES –> ascii_upload_enable=YES // 支持 ASCII 模式的下载功能,默认是注释掉的,去掉注释
#ascii_download_enable=YES –> ascii_download_enable=YES // 支持 ASCII 模式的上传功能,默认是注释掉的,去掉注释
#ftpd_banner=Welcome to blah FTP service //FTP 的登录欢迎语,本身是被注释掉的,去不去都行
#chroot_local_user=YES –> chroot_local_user=YES
// 禁止本地用户登出自己的 FTP 主目录,本身被注释掉,去掉注释
下面几个都是已经去掉的,只是写出来,明白其用意。
local_enable=YES // 允许本地用户访问,默认就是 YES,不用改
write_enable=YES // 允许写入,默认是 YES,不用改
local_umask=022 // 上传后文件的权限掩码,不用改
dirmessage_enable=YES // 开启目录标语,默认是 YES,开不开无所谓,我是默认就行
xferlog_enable=YES // 开启日志,默认是 YES,不用改
connect_from_port_20=YES // 设定连接端口 20
xferlog_std_format=YES // 设定 vsftpd 的服务日志保存路径,不用改
pam_service_name=vsftpd // 设定 pam 服务下 vsftpdd 的验证配置文件名,不用改
userlist_enable=YES // 拒绝登录用户名单,不用改
TCP_wrappers=YES // 限制主机对 VSFTP 服务器的访问,不用改(通过 /etc/hosts.deny 和 /etc/hosts.allow 这两个文件来配置)
按照上面修改完之后,按键盘 ”Esc“ 退出编辑,再按 ”:“,并在后面输入 ”wq“,进行保存并退出。
2.4 配置 iptables 防火墙
按照以上步骤还不能运行,用下面命令可以查看一下防火墙允许的端口号,我们知道 ftp 的端口号是 ”20、21″,从结果中可以看出,并没有。
service ipstables status
这时需要对 ”/etc/sysconfig/iptables” 进行配置:
vim /etc/sysconfig/iptables
上图中先列出以 ”iptables” 模糊比配的文件,然后在用上面的命名对 ”iptables” 文件进行添加下面的内容。
-A INPUT -m state –state NEW -m tcp -p tcp –dport 21 -j ACCEPT
-A INPUT -m state –state NEW -m tcp -p tcp –dport 20 -j ACCEPT
具体的添加操作命令和前面对 ”/etc/vsftpd/vsftpd.conf” 的操作一样。
2.5 设置 selinux 问题
SELinux(Security-Enhanced Linux) 是美国国家安全局(NSA)对于强制访问控制的实现,是 Linux 史上最杰出的新安全子系统。SELinux 是 2.6 版本的 Linux 内核中提供的强制访问控制 (MAC)系统。对于目前可用的 Linux 安全模块来说,SELinux 是功能最全面,而且测试最充分的,它是在 20 年的 MAC 研究基础上建立的。SELinux 在类型强制服务器中合并了多级安全性或一种可选的多类策略,并采用了基于角色的访问控制概念 SELinux 提供了比传统的 UNIX 权限更好的访问控制。
正式如此,所以此时还不能访问 FTP 服务器。用下面命令查询:
getsebool -a | grep ftp
可以通过下面命令把上图中 红色圈住 的两个的值设置为 ”on“。
setsebool -P ftp_home_dir 1
setsebool -P allow_ftpd_full_access 1
2.6 重启相关服务
最后就是把 ”vsftpd” 和 ”iptables” 两个服务重新启动一下。
service vsftpd restart
如果出现下图,说明刚才没有把 vsftpd 服务启动起来。
service vsftpd start
最后把防火墙重新启动一下。
service iptables restart
到此为止 FTP 服务器就搭建完毕了,下面可以通过 ”FlashFXP.exe” 软件进行访问了。
3、FlashFXP 使用
3.1 FlashFXP 简介
FlashFXP 是一款功能强大的 FXP/FTP 软件,集成了其它优秀的 FTP 软件的优点,如 CuteFTP 的目录比较,支持彩色文字显示;如 BpFTP 支持多目录选择文件,暂存目录;又如 LeapFTP 的界面设计。支持目录 (和子目录) 的文件传输,删除;支持上传,下载,以及第三方文件续传;可以跳过指定的文件类型,只传送需要的本件;可自定义不同文件类型的显示颜色;暂存远程目录列表,支持 FTP 代理及 Socks 3&4;有避免闲置断线功能,防止被 FTP 平台踢出;可显示或隐藏具有 ” 隐藏 ” 属性的文档和目录;支持每个平台使用被动模式等。
上图为 FlashFXP 开启界面,左面是显示的 ”本地文件系统 “,后面是显示 ” 服务器文件系统 “,点击 右侧 上面的 闪电 图标,按照下图选择 ”Quick Connect”。
点击之后出现下图,并按照下图进行填写。例如:
3.2 示例上传
链接成功后,会显示上面的内容,可以尝试把左边的一个文件拖到右边,就能上传了,我们现在试一下。
最后登录一下看看是否在 linux 下面有这个文件。
从上图中发现了我们刚才上传的文件 ”SqlHelper1.cs“ 文件,好了,到此为止,我们的 Linux 下的 FTP 服务器基本完成了,但是离真正的 FTP 服务器还差的很远,因为我们只是用于 ” 远程上传 ” 点文件,所以基本能满足我们的需要。
本文永久更新链接地址:http://www.linuxidc.com/Linux/2017-11/148214.htm