linuxFTP生产环境配置

简介:

1、ftp采用两个端口控制:
A 20端口用于数据传输.
B 21端口用于控制,或指建立TCP连接.

2、主动方式连接过程:
[注意]:C表示客户端 S表示服务器端
A、 S端要开启20、21端口;
B、 C端一个随机端口连接S端21,这个随机范围1024-65536,同时发送命令port+x,指明数据端口C(X)->S(21);
C、 S端收到命令后,将返回一个ACK,S(21)->C(X);
D、 S端将用自己的20端口与C端的X+1端口相连,S(20)->C(X+1);
E、 C给S返回ACT,C(X+1)->S(20).

3、被动方式连接过程:

[注意]:C表示客户端 S表示服务器端
A、
S服务器端要开启21端口和大于1024tcp端口;
B、
C以一个随机端口X与S的21端口相连, 这个随机端口范围为1024~65535, 并发送命令 PASV. C(X) -> S(21)
C、
S收到命令, 返回一个ACK, 并在其中指明一个新的高位端口y. S(21) -> C(x)
D、
C发起 x+1端口到S的y的端口的连接.C(x+1) -> S(y)
E、
S返回一个ACK. S(y) ->C(x+1)

二 用事例说明主动模式和被动模式的区别
1、VSFTP安装
yum install vsftpd -y
2、关闭iptables和selinux
具体安全设置,可根据情况而定。
3、主动模式的配置方法
其余配置,可根据需求而定

4、被动模式的配置方法
其余配置,可根据需求而定

5、启动
chkconfig --level 2345 vsftpd on
/etc/init.d/vsftpd start

6、查看连接状态
其中S是服务端IP,C是客户端IP
被动模式

netstat -an |grep C

tcp 0 0 S:52160 C:16091 TIME_WAIT 
tcp 0 0 S:21 C:15354 TIME_WAIT 
tcp 0 434064 S:43407 C:16220 ESTABLISHED 
tcp 0 0 S:21 C:16090 ESTABLISHED

主动模式

netstat -an |grep C

tcp 0 268488 S:20 C:18434 ESTABLISHED 
tcp 0 0 S:21 C:18433 TIME_WAIT 
tcp 0 0 S:20 C:18426 TIME_WAIT 
tcp 0 0 S:21 C:18425 TIME_WAIT 
tcp 0 0 S:21 C:18418 TIME_WAIT 
tcp 0 0 S:20 C:18420 TIME_WAIT 
tcp 0 0 S:21 C:18369 TIME_WAIT 
tcp 0 0 S:20 C:18397 TIME_WAIT 
tcp 0 0 S:21 C:18387 ESTABLISHED
[注意:]
Vsftp主动模式和被动模式是可以共存的。

主动模式和被动模式的区别在于,主动模式下,ftp采用的是20端口传送数据,而被动模式下,ftp采用的是大于1024的随机端口。所以被动模式下,必要关闭防火墙!

connect_from_port_20=YES
#主动式连接使用的数据通道

pasv_enable=NO
#支持数据流的被动式连接模式

connect_from_port_20=NO
#主动式连接使用的数据通道

pasv_enable=YES
#支持数据流的被动式连接模式
pasv_min_port=1024
pasv_max_port=65536

pasv_address (Default: (none - the address is taken from the incoming connected socket) ) pasv模式中服务器传回的ip地址

3、添加FTP账号

A. 登录Linux主机后,运行命令:”useradd ftpadmin -s /sbin/nologin “。该账户路径默认指向/home/ftpadmin目录;如果需要将用户指向其他目录,请运行命令:useradd ftpadmin -s /sbin/nologin –d /www(其他目录)

B. 设置ftpadmin用户密码,运行命令:”passwd ftpadmin” ; 输入两次密码,匹配成功后,就设置好了ftpadmin用户的密码了。

C.测试连接,您可以在“我的电脑”地址栏中输入 ftp://IP 来连接FTP服务器,根据提示输入账户密码。
3.更改用户相应的权限设置:

  1. usermod -s /sbin/nologin test #限定用户test不能telnet,只能ftp
  2. usermod -s /bin/bash test #用户test恢复正常
  3. usermod -d /home/test test #更改用户test的主目录为/test 
    6.如果要删除用户,用下面代码:
  4. #在root用户下:
  5. userdel -r newuser
  6. #在普通用户下:
  7. sudo userdel -r newuser 
    #配置登录用户
    chroot_list_enable=YES
    #配置用户名单,列表一个用户一行(有名称的表示有权限可以登录)
    chroot_list_file=/etc/vsftpd/chroot_list


本文转自 Barron1 51CTO博客,原文链接:http://blog.51cto.com/13172370/2057923,如需转载请自行联系原作者
相关文章
|
6月前
|
存储 安全 Shell
⭐⭐【Shell 命令集合 文件传输 】Linux ftp工具 使用指南
⭐⭐【Shell 命令集合 文件传输 】Linux ftp工具 使用指南
160 0
|
6月前
|
存储 Shell Linux
【Shell 命令集合 文件传输 FTP客户端工具】Linux ncftp 命令使用指南
【Shell 命令集合 文件传输 FTP客户端工具】Linux ncftp 命令使用指南
137 0
|
6月前
|
安全 算法 网络协议
【Linux】文件服务FTP(File Transfer Protocol)
【Linux】文件服务FTP(File Transfer Protocol)
101 0
|
3月前
|
JavaScript Linux 应用服务中间件
【Azure 应用服务】FTP 部署 Vue 生成的静态文件至 Linux App Service 后,访问App Service URL依旧显示Azure默认页面问题
【Azure 应用服务】FTP 部署 Vue 生成的静态文件至 Linux App Service 后,访问App Service URL依旧显示Azure默认页面问题
|
3月前
|
安全 Ubuntu Linux
在Linux中,如何进行FTP服务器配置?
在Linux中,如何进行FTP服务器配置?
|
安全 网络协议 Linux
搭建FTP站点(Alibaba Cloud Linux 3)
vsftpd(very secure FTP daemon)是Linux下的一款小巧轻快、安全易用的FTP服务器软件。本教程介绍如何在Linux实例上安装并配置vsftpd。
搭建FTP站点(Alibaba Cloud Linux 3)
|
监控 Ubuntu 安全
如何在 Ubuntu Linux 中设置和使用 FTP 服务器?
如何在 Ubuntu Linux 中设置和使用 FTP 服务器?
328 2
如何在 Ubuntu Linux 中设置和使用 FTP 服务器?
|
6月前
|
Web App开发 安全 Unix
Linux 配置FTP服务器 + vsftpd服务安装配置 (Good篇)
Linux 配置FTP服务器 + vsftpd服务安装配置 (Good篇)
159 1
|
5月前
|
Ubuntu Linux 数据库
ubuntu linux 搭建ftp虚拟目录
ubuntu linux 搭建ftp虚拟目录
48 0