一、前述

本来公司用的是window是的服务器,突然经常出现问题,现在需要搭建linux环境。必定linux相对稳定一点。

二、具体

1、显示如下图则表示已安装 vsftp软件。如果未显示则需要安装vsftpd软件。

如果没有则通过yum进行安装,命令如下:

yum install -y vsftpd

2、安装完成之后

进入到ftp的根目录默认是/etc/vsftpd/文件中进行配置

/etc/vsftpd/vsftpd.conf:vsftpd 的核心配置文件

/etc/vsftpd/ftpusers:用于指定哪些用户不能访问FTP 服务器。  黑名单

/etc/vsftpd/user_list:指定允许使用vsftpd 的用户列表文件。  白名单

/etc/vsftpd/chroot_list:指定允许使用vsftpd 的用户列表文件。  控制名单下的目录能不能离开ftp根目录

vsftpd.conf具体配置如下:

anonymous_enable=NO  #允许匿名用户访问为了安全选择关闭
local_enable=YES   # 允许本地用户登录
write_enable=YES   # 是否允许写入
local_umask=022  # 本地用户上传文件的umask
dirmessage_enable=YES #为YES则进入目录时显示此目录下由message_file选项指定的文本文件(,默认为.message)的内容
xferlog_enable=YES #开启日志

xferlog_std_format=YES #标准格式
connect_from_port_20=YES
xferlog_file=/var/log/xferlog   #ftp日志目录

idle_session_timeout=6000 #设置客户端连接时间

data_connection_timeout=1200 #设置数据连接时间 针对上传,下载
chroot_list_enable=YES
chroot_list_file=/etc/vsftpd/chroot_list #设置为YES则下面的控制有效
chroot_list_enable=YES #若为NO,则记录在chroot_list_file所指定的文件(默认是/etc/vsftpd.chroot_list)中的用户将被chroot在登录后所在目录中,无法离开.如果为YES,则所记录的用户将不被chroot.这里YES.
chroot_local_user=YES
userlist_deny=NO #若设置为YES则记录在userlist_file选项指定文件(默认是/etc/vsftpd.user_list)中的用户将无法login,并且将检察下面的userlist_deny选项
userlist_enable=YES #若为NO,则仅接受记录在userlist_file选项指定文件(默认是/etc/vsftpd.user_list)中的用户的login请求.若为YES则不接受这些用户的请求.
userlist_file=/etc/vsftpd/user_list #白名单
chroot_list_enable=YES
local_root=/var/ftp/pub #根目录
listen=YES
pam_service_name=vsftpd
userlist_enable=YES
tcp_wrappers=YES

3、添加用户

 使用以下命令 创建myftp用户,并指定默认目录

useradd -d /website/test myftp

因为ftp用户是共用的linux用户。使用passwd 进行密码修改,连续两次输入密码。

//修改密码
passwd myftp

注意:如果你的密码比较简单的话,系统会提示密码过于简单,不过不必在意,也是可以设置成功的。不过为了安全考虑,还是建议输入一个符合要求的密码。

因为是公用的linux用户,为了安全考虑限定用户myftp不能telnet,只能myftp

usermod -s /sbin/nologin myftp

也可以使用以下命令,使myftp回复正常:

usermod -s /sbin/bash myftp

使用以下命令更改默认根目录:

usermod -d /website/test myftp

如果这个用户创建错误,可以删除用户重新创建:

userdel -r myftp 

新建用户并不能够访问,添加到user_list和chroot_list中去,才可以访问。

4、关闭防火墙 

centoos 7操作为systemctl stop firewalld.service 

centoos 6操作位service stop iptables;

5.启动ftp服务器

cetoos 7操作为/bin/systemctl restart  vsftpd.service

centoos 6操作为 service vsftpd restart

6.赋权,将ftp指定的根目录赋权为777权限

chmod 777 /var/ftp/pub

7.检查SElinux状态并关闭

 getsebool -a|grep ftp

若centoos7到此结束 用ftp工具即可访问  或者本地ftp 服务器测试  通过rpm  -ivh rpm..安装包  安装ftp客户端配置。

若centoos 6 则在设置几个权限:

通过:setsebool httpd_enable_ftp_server 1 设置成如下状态即可。通过 getsebool -a|grep ftp查看。

至此ftp安装完成。

在我这个项目中存在需要使用两个不同的ftp端口的问题。到网上查找了以下,结合自己测试,整理出两种可行的方案。

方案1:

复制vsftpd.conf 一份,然后把里面的端口改成你自己想要的端口,其他内容不变。

重启vsftpd 服务, 使用netsat -ntlp 查看情况 。

netstat -ntlp 

方案2:

使用端口转发的方式实现:

iptables -t nat -A PREROUTING -p tcp -d 192.168.2.121 --dport 21 -j DNAT --to 192.168.2.121:2121

如此简单。

两种方式各有优缺点,个人根据自己需要选择。

参考资料:https://www.cnblogs.com/LHWorldBlog/p/8516837.html

linux ftp搭建及多端口监听相关推荐

  1. 视频流媒体服务器平台搭建如何查询端口监听情况?

    我们讲过很多关于搭建流媒体服务器的经验,寻找专业的流媒体平台依然是最受欢迎的方式,成本小,后期维护投入也小,并且选择多样化,比如EasyNVR.EasyDSS等流媒体平台. 很多开发者将流媒体平台搭建 ...

  2. linux套接字端口,多端口监听套接字linux(multiport listening socket linux)

    多端口监听套接字linux(multiport listening socket linux) 我正在用C(linux)编写一个多线程服务器应用程序,它必须监听2个不同的端口号,例如监听端口号3000 ...

  3. netstat linux查看监听端口号,linux用netstat查看服务及监听端口

    [root@localhost ~]# netstat -nlp netstat命令各个参数说明如下: -t : 指明显示TCP端口 -u : 指明显示UDP端口 -l : 仅显示监听套接字(所谓套接 ...

  4. Linux查看端口监听情况,以及Linux查看某个端口对应的进程号和程序

    文章目录: 1 linux查看那端口监听情况 2 Linux查看某个端口对应的进程号和程序 1 linux查看那端口监听情况 linux中可以使用netstat命令查看端口监听情况,首先来看一下该命令 ...

  5. linux修改端口监听地址,修改nginx/Tomcat等Web服务的端口监听地址

    我们将一起来学习如何在Linux实例中修改nginx.Tomcat等常见Web服务的端口监听地址. 前提条件 你已经在Linux实例上安装了Web服务器.你可以参考以下文档安装并启动相应的服务: 你已 ...

  6. Linux的ipv6不监听端口,netstat查看服务端口监听在ipv6但是通过ipv4地址可正常访问...

    在Linux系统中,会发现一个有趣的现象,通过 netstat 查看监听的服务端口时,发现有些服务 Proto(protocol协议) 项只显示了 tcp6(代表监听服务端口在IPv6协议), 没有 ...

  7. Linux中不同进程同一个端口,linux系统实现多个进程监听同一个端口

    通过 fork 创建子进程的方式可以实现父子进程监听相同的端口. 方法:在绑定端口号(bind函数)之后,监听端口号之前(listen函数),用fork()函数生成子进程,这样子进程就可以克隆父进程, ...

  8. 在linux中查看nginx端口监听,Nginx端口监听(listen指令)

    本节主要来介绍 Nginx 中与端口监听有关的配置指令,下表为端口监听指令及其相关说明. 名称 端口监听指令 指令 listen 作用域 server 默认值 listen*:80 或 *:8000 ...

  9. Windows/Linux 开启端口监听

    本文开头附:Flink 学习路线系列 ^ _ ^ 1.Windows 开启端口监听 Windows本身是不支持 nc 端口监听的.但是我们可以通过下载 netcat 来是解决这个问题.下载地址:net ...

最新文章

  1. oracle带输出参数存储,oracle带输入输出参数存储过程(包括sql分页功能)
  2. JDBC获取新增记录的自增主键
  3. 响应式布局方法的方法
  4. 合成未来宝宝照片_[萌主争霸]2020年台历宝宝投票评选开始啦!快来给你喜欢的萌宝投票吧~...
  5. Eclipse StartExplorer插件
  6. 亲身试验 pycharm 下载 并 安装 pygame包
  7. linux 安装vsftpd服务器,linux安装vsftpd和vsftpd配置步骤
  8. mysql workbench 建表时PK, NN, UQ, BIN, UN, ZF, AI
  9. java简历项目经验范文
  10. 【ADMM】ADMM Gap
  11. matlab画中国,用matlab绘制中国地图
  12. 纸张的规格A3.A4.A5.A6纸的尺寸大小
  13. 教师继续教育 计算机知识,教师继续教育管理制度
  14. 天猫精灵GXIC2020 AIOT物联网大赛获奖了
  15. 学习OpenCV(4) 基于OpenCV的双目测距程序
  16. Javascript变量、作用域与内存
  17. 第一章Java概述及开发环境搭建
  18. benchmark TPC-H postgreSQL
  19. Linux内核国内下载地址
  20. 南京Uber优步司机奖励政策(1月18日~1月24日)

热门文章

  1. vue 中编写404页面
  2. 年轻人的浮躁,这社会的喧嚣
  3. php指纹登录原理,指纹识别的工作原理-理论方法-敏捷大拇指-一个敢保留真话的IT精英社区...
  4. (转)从零实现3D图像引擎:(11)苍井空做客讲解3D变换矩阵的推导
  5. Multisim:振幅调制器的设计(含仿真程序+文档+原理图+PCB)
  6. [杂记]CodeBlocks下载、安装及设置
  7. 专利说明书的发明/实用新型内容与具体实施方式的差异
  8. 如何彻底删除Mac磁盘中的文件
  9. STM32CubeIDE开发(二十五), 物联网应用之stm32的蓝牙通信设计
  10. 带滚动字幕的视频批量制作的方法