linux ftp搭建及多端口监听
一、前述
本来公司用的是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搭建及多端口监听相关推荐
- 视频流媒体服务器平台搭建如何查询端口监听情况?
我们讲过很多关于搭建流媒体服务器的经验,寻找专业的流媒体平台依然是最受欢迎的方式,成本小,后期维护投入也小,并且选择多样化,比如EasyNVR.EasyDSS等流媒体平台. 很多开发者将流媒体平台搭建 ...
- linux套接字端口,多端口监听套接字linux(multiport listening socket linux)
多端口监听套接字linux(multiport listening socket linux) 我正在用C(linux)编写一个多线程服务器应用程序,它必须监听2个不同的端口号,例如监听端口号3000 ...
- netstat linux查看监听端口号,linux用netstat查看服务及监听端口
[root@localhost ~]# netstat -nlp netstat命令各个参数说明如下: -t : 指明显示TCP端口 -u : 指明显示UDP端口 -l : 仅显示监听套接字(所谓套接 ...
- Linux查看端口监听情况,以及Linux查看某个端口对应的进程号和程序
文章目录: 1 linux查看那端口监听情况 2 Linux查看某个端口对应的进程号和程序 1 linux查看那端口监听情况 linux中可以使用netstat命令查看端口监听情况,首先来看一下该命令 ...
- linux修改端口监听地址,修改nginx/Tomcat等Web服务的端口监听地址
我们将一起来学习如何在Linux实例中修改nginx.Tomcat等常见Web服务的端口监听地址. 前提条件 你已经在Linux实例上安装了Web服务器.你可以参考以下文档安装并启动相应的服务: 你已 ...
- Linux的ipv6不监听端口,netstat查看服务端口监听在ipv6但是通过ipv4地址可正常访问...
在Linux系统中,会发现一个有趣的现象,通过 netstat 查看监听的服务端口时,发现有些服务 Proto(protocol协议) 项只显示了 tcp6(代表监听服务端口在IPv6协议), 没有 ...
- Linux中不同进程同一个端口,linux系统实现多个进程监听同一个端口
通过 fork 创建子进程的方式可以实现父子进程监听相同的端口. 方法:在绑定端口号(bind函数)之后,监听端口号之前(listen函数),用fork()函数生成子进程,这样子进程就可以克隆父进程, ...
- 在linux中查看nginx端口监听,Nginx端口监听(listen指令)
本节主要来介绍 Nginx 中与端口监听有关的配置指令,下表为端口监听指令及其相关说明. 名称 端口监听指令 指令 listen 作用域 server 默认值 listen*:80 或 *:8000 ...
- Windows/Linux 开启端口监听
本文开头附:Flink 学习路线系列 ^ _ ^ 1.Windows 开启端口监听 Windows本身是不支持 nc 端口监听的.但是我们可以通过下载 netcat 来是解决这个问题.下载地址:net ...
最新文章
- oracle带输出参数存储,oracle带输入输出参数存储过程(包括sql分页功能)
- JDBC获取新增记录的自增主键
- 响应式布局方法的方法
- 合成未来宝宝照片_[萌主争霸]2020年台历宝宝投票评选开始啦!快来给你喜欢的萌宝投票吧~...
- Eclipse StartExplorer插件
- 亲身试验 pycharm 下载 并 安装 pygame包
- linux 安装vsftpd服务器,linux安装vsftpd和vsftpd配置步骤
- mysql workbench 建表时PK, NN, UQ, BIN, UN, ZF, AI
- java简历项目经验范文
- 【ADMM】ADMM Gap
- matlab画中国,用matlab绘制中国地图
- 纸张的规格A3.A4.A5.A6纸的尺寸大小
- 教师继续教育 计算机知识,教师继续教育管理制度
- 天猫精灵GXIC2020 AIOT物联网大赛获奖了
- 学习OpenCV(4) 基于OpenCV的双目测距程序
- Javascript变量、作用域与内存
- 第一章Java概述及开发环境搭建
- benchmark TPC-H postgreSQL
- Linux内核国内下载地址
- 南京Uber优步司机奖励政策(1月18日~1月24日)
热门文章
- vue 中编写404页面
- 年轻人的浮躁,这社会的喧嚣
- php指纹登录原理,指纹识别的工作原理-理论方法-敏捷大拇指-一个敢保留真话的IT精英社区...
- (转)从零实现3D图像引擎:(11)苍井空做客讲解3D变换矩阵的推导
- Multisim:振幅调制器的设计(含仿真程序+文档+原理图+PCB)
- [杂记]CodeBlocks下载、安装及设置
- 专利说明书的发明/实用新型内容与具体实施方式的差异
- 如何彻底删除Mac磁盘中的文件
- STM32CubeIDE开发(二十五), 物联网应用之stm32的蓝牙通信设计
- 带滚动字幕的视频批量制作的方法