Linux CentOS安装搭建FTP文件服务
本文环境:centos7,IP=192.168.1.11
1.安装vsftpd和默认配置启动
1.1 安装vsftpd
yum install -y vsftpd
1.2 启动vsftpd
systemctl start vsftpd
查看vsftpd状态和运行
systemctl status vsftpd
或者通过端口占用查看
netstat -nltp | grep
2.配置vsftpd
2.1 配置路径
vsftpd 的配置目录为 /etc/vsftpd,包含下列的配置文件:
- vsftpd.conf 为主要配置文件
- ftpusers 配置禁止访问 FTP 服务器的用户列表
- user_list 配置用户访问控制
以下需要修改vsftpd.conf,所以都是基于使用
vim /etc/vsftpd/vsftpd.conf
2.2 配置端口
2.2.1 添加要更改的监听端口,可以在最下面添加配置
#remote_charset=CP1251
#
# Enable this options if you have double "я"
#
#double_377=0 listen_port=221
保存退出
2.2.2 修改系统端口管理的services
vim /etc/services
将默认的21端口更改成自己的端口
# is registered to ftp, but also used by fsp
ftp 221/tcp
ftp 221/udp fsp fspd
2.3 禁用匿名用户
# 禁用匿名用户将 YES 改为 NO
anonymous_enable=NO
2.4 禁止用户切换目录
# 禁止切换根目录,解除注释
chroot_local_user=YES
3 重新启动vsftpd
systemctl restart vsftpd
注意:可能很多人和我一样,遇到一个无法正常启动的原因,如下解决。
a. 粗暴关闭防火墙或者放开端口
systemctl stop Firewalld
b. 关闭Linux新安全子系统SELinux(Security-Enhanced Linux)
查看SELinux运行状态
sestatus -v
SELinux status: enabled就是开启的;disabled就是关闭
开启的时候我们还需要看它的模式(Current mode),它有三种模式
enforcing:强制模式,代表 SELinux 运作中,且已经正确的开始限制 domain/type 了;
permissive:宽容模式:代表 SELinux 运作中,不过仅会有警告讯息并不会实际限制 domain/type 的存取;
disabled:关闭,SELinux 并没有实际运作。
所以我们更改模式即可解决:
setenforce
优点:一条语句及时生效;
缺点:系统重起后恢复为enforcing模式。(可以自行搜索开机不恢复的方式,修改/etc/selinux/config文件,需要重启机器,此处就不罗列了)
此时再重启vsftpd,应该运行成功。
4. 添加FTP用户和管理
4.1 创建一个用户 ftpuser
useradd ftpuser
为用户 ftpuser 设置密码
echo "password" | passwd ftpuser --stdin
4.2 限制ftpuser仅有ftp访问权限
限制用户 ftpuser
只能通过 FTP 访问服务器,而不能直接登录服务器:
usermod -s /sbin/nologin ftpuser
4.3 为ftpuser分配主目录
为用户 ftpuser
创建主目录并约定:
/data/ftp
为主目录, 该目录不可上传文件 /data/ftp/pub
文件只能上传到该目录下
创建相关的目录
mkdir -p /data/ftp/pub
4.4 设置访问权限
chmod a-w /data/ftp && chmod -R /data/ftp/pub
设置用户主目录
usermod -d /data/ftp ftpuser
5 访问ftp,验证ftp
可以通过资源管理器或者浏览器访问:
ftp://ftpuser:password@192.168.1.11/pub
5.1 常见问题解决
很多时候服务正常启动了,但是死活连不上,需要查看防火墙状态,是否是防火墙阻碍了
systemctl status Firewalld
好,那我们停掉防火墙
systemctl stop Firewalld
可能出现了好转,服务能访问了,但是咱们想防火墙不能随便关,是否可以一起存在呢,开放端口可以吗?
↓注意:先打开防火墙,然后执行一下命令,每次cmd更改,都需要reload规则。
firewall-cmd --zone=public --add-port=/tcp --permanent
firewall-cmd --zone=public --add-port=/udp --permanent firewall-cmd --reload
干脆来一个全的,21的端口开放。可能有人还会遇到我一样的问题,不行。。。,是不是防火墙会拦住服务呢?
firewall-cmd --zone=public --add-service=ftp --permanent firewall-cmd --reload
终于,我这的问题解决了。
总结:本人遇到的问题,从网站上罗列下来的随笔。
Linux CentOS安装搭建FTP文件服务的更多相关文章
- 腾讯云-搭建 FTP 文件服务
搭建 FTP 文件服务 目的:搭建认证登录的FTP具有读写权限 安装并启动 FTP 服务 任务时间:5min ~ 10min 安装 VSFTPD 使用 yum 安装 vsftpd: yum insta ...
- 腾讯云,搭建 FTP 文件服务
腾讯云,搭建 FTP 文件服务 腾讯云,搭建 FTP 文件服务 安装并启动 FTP 服务 任务时间:5min ~ 10min 安装 VSFTPD 使用 yum 安装 vsftpd: yum insta ...
- 基于 Ubuntu 搭建 FTP 文件服务
搭建 FTP 文件服务 安装并启动 FTP 服务 任务时间:5min ~ 10min 安装 VSFTPD 使用 apt-get 安装 vsftpd: sudo apt-get install vsft ...
- 腾讯云:ubuntu搭建 FTP 文件服务
搭建 FTP 文件服务 安装并启动 FTP 服务 任务时间:5min ~ 10min 安装 VSFTPD 使用 apt-get 安装 vsftpd: sudo apt-get install vsft ...
- 使用FileZilla快速搭建FTP文件服务
为了便于平时对文件的存储访问,特意搭建FTP服务 FTP服务器(File Transfer Protocol Server)是在互联网上提供文件存储和访问服务的计算机,它们依照FTP协议提供服务. F ...
- linux centos安装zabbix 4.0服务端
1.服务器安装docker sudo yum install -y yum-utils device-mapper-persistent-data lvm2 sudo yum-config-manag ...
- 基于CentOS 搭建 FTP 文件服务
系统要求: CentOS 7.2 64 位操作系统 一. 安装 VSFTPD (vsftpd 是在 Linux 上被广泛使用的 FTP 服务器,根据其[官网介绍][https://security.a ...
- 基于 CentOS 搭建 FTP 文件服务
https://www.linuxidc.com/Linux/2017-11/148518.htm
- 搭建 FTP 文件服务
1.安装并启动 FTP 服务 2.配置 FTP 权限 3.准备域名和证书 4.访问 FTP 安装 VSFTPD 使用 yum 安装 vsftpd: yum install vsftpd -y vsft ...
随机推荐
- hdu 6088 Rikka with Rock-paper-scissors (2017 多校第五场 1004) 【组合数学 + 数论 + 模意义下的FFT】
题目链接 首先利用组合数学知识,枚举两人的总胜场数容易得到 这还不是卷积的形式,直接搞的话复杂度大概是O(n^2)的,肯定会TLE.但似乎和卷积有点像?想半天没想出来..多谢Q巨提醒,才知道可以用下面 ...
- Python 爬虫十六式 - 第六式:JQuery的假兄弟-pyquery
PyQuery:一个类似jquery的python库 学习一时爽,一直学习一直爽 Hello,大家好,我是 Connor,一个从无到有的技术小白.上一次我们说到了 BeautifulSoup 美味 ...
- attr(name|properties|key,value|fn)
attr(name|properties|key,value|fn) 概述 设置或返回被选元素的属性值.大理石平台厂家 参数 nameStringV1.0 属性名称 propertiesMapV1 ...
- Confluence 6.15 锚点(Anchor)宏
允许你链接到页面的特定部分.有关如何使用锚点的内容,请参考页面 Anchors 页面中的详细内容. Wiki 标记(markup) 示例 宏名称: anchor 宏内容:None. {anchor:h ...
- noi.ac #531 神树和物品
题目链接:戳我 决策单调性 (蒟蒻终于会写决策单调性啦!考试全场切这题就我不会啊嘤) (证明?不会啊,自己打表看QAQ) 44pts \(O(n^2)\)代码: #include<iostrea ...
- 学习日记6、easyui datagrid 新增一行,编辑行,结束编辑和删除行操作记录
1.新增一行并进入编辑状态 var index=$('#Numbers').datagrid('appendRow', { CardInformation: '开户行', CardNumber: '银 ...
- docker的数据管理
容器中管理数据主要有两种方式: 1.数据卷:容器内数据直接映射到本地宿主机. 2.数据卷容器:使用特定容器维护数据卷 数据卷: 数据卷是一个可供容器使用的特殊目录,他将主机操作系统目录直接映射进容器. ...
- 踩坑之SpringBoot WebSocker 部署Tomcat冲突
启动tomcat容器,部署SpringBoot项目,启动项目报错,如下图: 看1.2的顺序就知道是WebSocket冲突了. 上网找了一下资料发现,使用@ServerEndpoint创立websock ...
- LC 833. Find And Replace in String
To some string S, we will perform some replacement operations that replace groups of letters with ne ...
- Fullgc引发redis超时异常
1.现象 -|2019-11-14 11:50:01.095|ERROR|TID:2254.3964.15737033664569521|DubboServerHandler-192.168.58.2 ...