Linux下vsftpd安装配置与使用

本文章所对应的Linux系统是RedHat系列的CentOS

一、vsftpd安装配置

vsftpd简介:vsftpd是“very secure FTP daemon” 的缩写,是一个完全免费的、开放源代码的ftp服务器软件。

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

vsftp安装配置:

以下命令是否需要用sudo权限执行则根据您具体环境决定

1.通过rpm -qa | grep vsftpd 命令可检查是否已经安装vsftpd 

2.没有安装则进行安装,命令为yum -y install vsftpd 默认配置文件在/etc/vsftpd/vsftpd.conf

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

4.添加匿名用户:useradd ftpuser -d /ftpfile -s /sbin/nologin

5.修改ftpfile权限:chown -R ftpuser.ftpuser /ftpfile

6.重设ftpuser密码:passwd ftpuser 回车后便会要求输入密码。 

7.配置vsftpd的配置文件,命令:sudo vim /etc/vsftpd/vsftpd.conf修改部分主要是红色部分,但其它部分也要修改,最好与下图一致,没有截图出来的部分是不需要修改的



8.ftp服务器的配置:

1)cd  /etc/vsftpd(进入到vsftpd的目录文件)

2)sudo vim chroot_list(创建该文件)

3)在文件输入 ftpuser即把刚才新增的虚拟用户添加到此配置文件中,后续要引用

4)重启vsftpd,命令sudo service vsftpd restart

9防火墙配置,命令:sudo vim /etc/sysconfig/iptables 编辑该文件,在文件中添加如下内容,:wq保存退出

#vsftpd
-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 --dport 20 -j ACCEPT
-A INPUT -p TCP --dport 21 -j ACCEPT
-A OUTPUT -p TCP --dport 21 -j ACCEPT

10重启防火墙,命令:sudo service iptables restart

11配置安全文件(网上有网友说这是美国安全局对于强制访问控制实现),命令sudo vim /etc/selinux/config,修改为SELINUX=disabled:wq保存退出   否则有时运行时会出现550拒绝访问

然后输入命令,sudo setenforce 0 让刚才的修改生效

然后重启ftp服务器,sudo service vsftpd restart

注:如果一会验证的时候还是碰到550则执行:sudo setsebool -P ftp_home_dir 1


12vsftp验证,命令sudo service vsftpd restart


注:第一次启动时Shutting down vsftpd是failed是正常的,因为这是重启命令,保证Starting vsftpd是OK即代表vsftpd服务成功

12通过页面验证,通过ifconfig查看到ip之后,在浏览器中访问 ftp://XXX.XXX.XXX.XXX(XXX为ip地址),正确进入之后需要账号ftpuser,密码是刚才自己设定的,则证明ftp服务已经成功建立

13可以通过ftp客户端软件验证,例如cuteftp,filezilla,viperftp,flashftp,leapftp等来进行连接ftp服务器,进行文件上传下载


FTP协议有两种工作方式:PORT方式和PASV方式,中文意思为主动式和被动式。

1)PORT(主动)方式的连接过程是:客户端相服务器的FTP端口(默认是21)发送连接请求,服务器接收连接,建立一条命令链路。

当需要传送数据时,客户端在命令链路上用PORT命令告诉服务器:"我打开了***端口,你过来连接我"。于是服务器从20端口相客户端的***端口发送连接请求,建立一条数据链路来传送数据。

2)(被动)方式的连接过程是:客户端相服务器的FTP端口(默认是21)发送连接请求,服务器接受连接,建立一条命令链路。

当需要传送数据时,服务器在命令链路上用PASV命令告诉客户端:“我打开了***端口,你过来连接我”。于是客户端向服务器的***端口发送连接请求,建立一条数据链路来传送数据。从上面可以看出,两种方式的命令链路连接方法是一样的。而数据链路的建立方法就完全不同,FTP的复杂性就在于此。

本文章到此就分享结束了,欢迎大神一起讨论





  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值