LinuxGod.net
Linux大神网——精选每一篇高品质的技术干货
  1. 首页
  2. 开源快讯
  3. 正文

基于linux搭建一个,记录一下关键的坑怎么处理?

2023年1月5日 75点热度

前言:

有很多博客写过 linux 搭建 FTP,很遗憾linux ftp连接指定端口adobe air linux,照着搭建出了不少故障,所以这里记录一下关键的坑怎么处理。

1.需求和环境

需求:基于 linux 搭建一个FTPlinux ftp连接指定端口,保证用户只能访问自有目录,可以正常进行读写操作。

linux 版本: centos 7.x

2.安装 FTP

yum install -y vsftpd

3.启动 FTP 服务

service vsftpd start

其他可能用到的命令

停止服务:service vsftpd stop 重启服务:service vsftpd restart 查看版本:vsftpd -version 查看状态:service vsftpd status

这时候可以看到在 /var/ftp 目录被创建,一般情况下这个目录可以作为主目录,当然也可以另外指定

4.配置文件

/etc/vsftpd 目录下

ftpusers  -- 黑名单配置文件,这个里面的用户不允许访问FTP服务器
user_list  -- 白名单配置文件,允许访问FTP服务器的用户列表
vsftpd.conf  -- ftp 配置文件

在配置之前需要创建一个用户作为 FTP 用户(这里创建 ftpuser)

useradd ftpuser
passwd ftpuser

把用户名添加到 user_list 文件,重启服务(service vsftpd restart)

5.客户端连接FTP服务

以上完成后全部使用的是默认配置(端口默认21),连接看下效果(推荐使用 FileZilla 客户端)

在这里插入图片描述

报 503 的错误,根本连不上,哪里有问题呢,如果你查看 user_list 文件(文件最上面的内容)

# vsftpd userlist

ftp时指定端口传输_ftp连接指定端口_linux ftp连接指定端口

# If userlist_deny=NO, only allow users in this file # If userlist_deny=YES (default), never allow users in this file, and # do not even prompt for a password. # Note that the default vsftpd pam config also checks /etc/vsftpd/ftpusers # for users that are denied.

描述得很清楚linux命令详解词典,需要 vsftpd.conf 中

userlist_enable=YES   改为 
userlist_enable=NO

再重启一下服务发现可以连接。

6.设置用户只能访问自有目录

经过上面 5 步,你会发现用 ftpuser 登录以后可以任意切换目录,如下

在这里插入图片描述

这和我们初衷(限制只能访问自有目录)不符合(默认情况下,ftpuser 只有 /home/ftpuser 目录),怎么设置?

打开 vsftpd.conf,

#chroot_list_enable=YES
改为
chroot_list_enable=NO

重启服务后再连接会出现一个大坑,报 500 的错

在这里插入图片描述

原因是:

从 vsftpd 2.3.5之后(当前3.0.2),vsftpd增强了安全检查,如果用户被限定在了其主目录下,则该用户的主目录不能再具有写权限了!如果检查发现还有写权限,就会报 500。

解决方案有两个:

修改主目录读写权限(推荐)

chmod -R 555 /home/ftpuser/

vsftpd.conf 添加

allow_writeable_chroot=YES 

notes:

采用第一种方案的话,需要在该目录下新建有写权限的目录,并且指定目录所有者为 ftpuser

7.建议

如果有其它需求,请一定仔细阅读 vsftpd.conf 注释,里面包含了几乎所有的配置讲解。

本作品采用 知识共享署名 4.0 国际许可协议 进行许可
标签: ftp linux系统 vsftpd
最后更新:2023年1月5日

Linux大神网

每日更新,欢迎收藏♥ 不积跬步无以至千里,加油,共勉。

点赞
< 上一篇
下一篇 >

Linux大神网

每日更新,欢迎收藏♥
不积跬步无以至千里,加油,共勉。

最新 热点 随机
最新 热点 随机
查看系统版本 linux “”的有关知识,不少人都会遇到这样的困境 Linux在内核中是如何记录进程资源的?你能从C语言源代码层面分析下吗? 【】原操作系统配备内核源代码,更不能进行内核模块实验 【Linux基础知识】与文件权限管理的Linux关系 linux/管理员管理员发布于5年前34(图) Linux和Unix操作系统之间有区别但也有联系?(一) Ubuntu系统如何升级和更新Linux内核版本?将推荐 Linux内核技术组成、组织和重要的数据结构等(组图) 【报错日志】一下升级linux内核的启动顺序为0 Linux终端窗口中输入mysql-V以显示MySQL版本信息sky 计算机操作系统全新版装系统盘点、理念与系统的优缺点 linux中常用的用户管理命令:1groups?列出当前用户所属 Linux下如何设置开机启动启动脚本?学算法 Linux中已经安装好了mysql命令 Linux系统用户系统上的三种类型的帐户的介绍 Linux下的开机启动设置方法是什么?脚本或服务 谷歌更新Linux内核构建的公共内核库:添加对kokoro作业的支持 linux下mysql中可以使用REVOKE语句来删除某个用户的权限 内核的角度来看,调用hotplug和通常的hotplug环境 Linux系统在开机的时候自动加载某些脚本或系统服务
Linux5.12的推送请求不断涌入新开放的合并窗口预计4月底看到它的稳定版本go语言被称作互联网时代的c语言,用来开发嵌入式linux的理由腾讯云服务器上也搭建一套环境,安装成功自动启动个人笔记本安装Ubuntu20.04LTS下载地址启动第一步--加载BIOS当你打开计算机电源(组图)虚拟机安装Ubuntu操作系统-Ubuntu空间20G镜像下载指令中各个make-C~/linuxM=`pwd编译Linux启动过程中的几个部分内核的引导(图)如何在Linux上安装虚拟机的结果大多都是怎么安装的一个免费软件时间跟进的小白鼠是什么鬼?专题计算机是如何启动的?、内核操作系统的启动流程学习Linux最简单、最实用的环境就是虚拟机环境(上)基于命令修改文件的权限命令-ld1.Linux磁盘分区和目录Linux发行版本之间的差别很少?国内性价比很高的Linux虚拟主机系统安装的流程是什么?Linux下修改文件权限的权限与所有权的实现就显得很有必要linux到底难不难学呢?推荐可以查看Linux命令大全Linux中修改文件权限的命令、创建者所在组、所有人Linux的内核放在了哪里?/boot的启动目录一览阿里云>社区>主题地图S>查看存储推荐
重新启动RedHatLinuxrelease命令注销系统的logout命令-上海怡健医学 Linux计算机的防火墙必需运行OpenSSH服务器软件 Linux中国荣誉研究生申请之cron定时器 关于Linux系统版本命令的一些看法及解决办法的通知 如需最新mainline内核版本下载并安装新版本删除旧内核 Linux上架构示意图munin的架构非常简单的配置和客户端插件 U盘安装linux系统解决方法:确保Linux下采用dd命令 Linux内核载入到内存的分为步骤是怎样的?? Linux下如何设置开机启动启动脚本?学算法 Linux在内核中是如何记录进程资源的?你能从C语言源代码层面分析下吗? 【指南】Linux中网络接口卡的10种方法使用 Linux设备驱动程序的类型和文件操作的基本开发过程 Linux上你真的需要Homebrew包管理器吗?怎么办? linux系统怎么在文件夹里搜索文件?方法总结及方法 【中信建投】供应MXNTP10系列采用北斗卫星时钟信号 Linux总结出来的11个炫酷的Linux终端命令大全! Linux系统的启动过程,来说一说启动顺序详解 linux系统位数最简单的命令--linux unix环境高级编程第二版 pdf 中国十大Java排行榜,第一名竟然是他!! u盘无密码移动版livepersistencepersistence制作u盘有密码
标签聚合
shell unix linux系统 电脑 命令模式 软件 虚拟机 文件目录 linux服务器 sudo
书籍
课程
技术群
技术干货大合集↓
  • 2023年2月 / 26篇
  • 2023年1月 / 161篇
  • 2022年12月 / 187篇
  • 2022年11月 / 76篇

COPYRIGHT © 2023 linuxgod.net ALL RIGHTS RESERVED.