ubuntu上创建ftp服务器

今天在linux电脑上安装了ftp服务器,中间碰到不少问题,参照各路攻略,修改多次配置后终于完成了服务器搭建

1:安装vsftp服务器

最简答的一步,直接:apt-get install vsftp

安装完成后,查看版本号:

kongcb@cegncn-MS-7D22:~$ vsftpd -v
vsftpd: version 3.0.5
kongcb@cegncn-MS-7D22:~$ 

这个版本比较新,所以之前很多配置在此并不适用

2:创建用户

参照之前的写的步骤,简单创建一个ftp用户及目录

sudo mkdir /home/cegnsoft/cegnftp

sudo useradd cegnftp –d /home/cegnsoft/cegnftp –s /bin/bash

sudo passwd cegnftp   //输入密码

chown cegnftp:cegnftp /home/cegnsoft/cegnftp    //更改目录

sudo usermod –aG sudo cegnftp   //加入sudo组

3: 配置vsftp配置文件

 sudo vim /etc/vsftpd.conf 

按照攻略,配置如下项目

# 只针对修改部分说明
use_localtime=YES
connect_from_port_20=YES

chroot_local_user=YES
chroot_list_enable=YES

chroot_list_file=/etc/vsftpd.chroot_list
pam_service_name=vsftpd

secure_chroot_dir=/var/run/vsftpd/empty


rsa_cert_file=/etc/ssl/certs/ssl-cert-snakeoil.pem
rsa_private_key_file=/etc/ssl/private/ssl-cert-snakeoil.key
ssl_enable=NO

#配置ftp服务器上传下载文件所在目录
local_root=/home/cegnsoft/cegnftp

配置完成后,增加白名单,修改:/etc/vsftpd.chroot_list

#文件中增加用户名,回车隔开
kongcb
cegnftp
wangy1
jiaoyj

4:问题调试

如上3配置完成后,我的windows电脑上启动一个ftp客户端工具,连接ubuntu的ftp服务。连接正常,上传文件失败,提示:

[18:06:04] 227 Entering Passive Mode (10,13,1,189,95,250).
[18:06:04] STOR /ceems2023041103-file-20231218101158.tgz
[18:06:04] 550 Permission denied.

一般提示这个是ftp服务器上的文件夹没有写权限,打开查看目录权限都ok

kongcb@cegncn-MS-7D22:~$ ls /home/cegnsoft/ -la
total 32
drwxrwxrwx  8 root    root    4096 1月  23 16:34 .
drwxr-xr-x  6 root    root    4096 1月  23 14:53 ..
drwxrwxrwx  2 cegnftp cegnftp 4096 1月  23 18:50 cegnftp
drwxr-xr-x  2 jianggf jianggf 4096 12月 22 15:02 jianggf
drwxr-xr-x 19 jiaoyj  jiaoyj  4096 1月  19 17:52 jiaoyj
drwxrwxrwx  6 kongcb  kongcb  4096 1月  23 15:54 kongcb
drwxr-xr-x  5 wangy   wangy   4096 1月  23 13:44 wangy
drwxr-xr-x  2 wangy1  wangy1  4096 12月 22 15:17 wangy1
kongcb@cegncn-MS-7D22:~$ 

那还是配置文件有问题,修改配置:

#增加/开放配置
local_umask=022

allow_writeable_chroot=YES

write_enable=YES

修改后,重启ftp服务:sudo service vsftpd restart

再次使用ftp工具连接就可以上传下载文件了

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/342574.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

蓝桥杯(C++ 最大开支 优先队列)

优先队列: 蓝桥杯(C 整数删除 优先队列 )-CSDN博客 思路: 1、每个人依此选择项目,每个人选项目时都(选择当下花费增加最多的项目),若项目i的门票价格为kxb,那么增加一个…

机器学习 | 深入理解并掌握核心概念

在如今数字化时代的浪潮下,机器学习已经成为人工智能领域的璀璨明星。它像一面魔镜,赋予计算机系统学习和改进的能力,让机器能够从海量数据中提取规律、预测未来,甚至做出智能决策。本 专栏 将带您踏上机器学习的奇妙之旅&#xf…

机器人学论文——智能施药机器人调研报告

目录 摘 要 Abstract 第一章:引言 1.1研究背景 1.2 研究意义 1.3文章架构 第二章:智能施药机器人发展现状 2.1引言 2.2 大田智能施药机器人发展现状 2.3 果园智能施药机器人发展现状 2.4 设施农业智能施药机器人发展现状 第三章:智能施药机器…

短视频推广方案,新品推广攻略

短视频以其生动、直观的特点吸引了大量用户,成为品牌塑造、产品推广的有效手段。本文将深入解读短视频推广方法,帮助企业在这个充满创意和活力的平台上实现产品的成功推广。 一、抓住用户注意力的前奏:创意内容制作 引人入胜的开篇&#xff…

打家劫舍系列(三合一)(动态规划)

本篇博客讲解一下动态规划的打家劫舍系列,对应的力扣题目分别是198. 打家劫舍,213. 打家劫舍 II,337. 打家劫舍 III 198. 打家劫舍: 题目: 你是一个专业的小偷,计划偷窃沿街的房屋。每间房内都藏有一定的…

关于C#中的HashSet<T>与List<T>

HashSet<T> 表示值的集合。这个集合的元素是无须列表&#xff0c;同时元素不能重复。由于这个集合基于散列值&#xff0c;不能通过数组下标访问。 List<T> 表示可通过索引访问的对象的强类型列表。内部是用数组保存数据&#xff0c;不是链表。元素可重复&#xf…

【数据结构】快速排序,归并排序

快速排序 1.hoare版本 根据动图的演示&#xff0c;整理的思路如下&#xff0c; 1.定义left,right,key。key默认是左边第一个元素&#xff0c;像两个指针&#xff0c;左边找比key大的&#xff0c;右边找比k小的&#xff0c;找到的话&#xff0c;交换二者&#xff0c;往返这个过…

《移动通信原理与应用》——QAM调制解调仿真

目录 一、QAM调制与解调仿真流程图&#xff1a; 二、仿真结果&#xff1a; 三、Matlab仿真程序代码如下&#xff1a; 一、QAM调制与解调仿真流程图&#xff1a; QAM调制仿真流程图&#xff1a; QAM解调仿真流程图&#xff1a; 二、仿真结果&#xff1a; &#xff08;1&…

JOSEF约瑟 中间继电器JZ14-44Z/4 不带外罩和接线座

系列型号 JZ14-014Z/0中间继电器;JZ14-014Z/1中间继电器; JZ14-014Z/2中间继电器;JZ14-014Z/4中间继电器; JZ14-014J/0中间继电器;JZ14-014J/1中间继电器; JZ14-014J/2中间继电器;JZ14-014J/3中间继电器; JZ14-014J/4中间继电器;JZ14-140Z/0中间继电器; JZ14-140Z/1中间继…

Web06--JavaScript基础02

1、JS流程控制语句 JS与Java一样&#xff0c;也有三个流程控制语句&#xff1a; 顺序结构 选择结构 循环结构 1.1 选择结构 1.1.1 if结构 <script type"text/javascript">if (条件表达式) {代码块;} else if(条件表达式){代码块;} else {代码块;} </scr…

Flink中的容错机制

一.容错机制 在Flink中&#xff0c;有一套完整的容错机制来保证故障后的恢复&#xff0c;其中最重要的就是检查点。 1.1 检查点&#xff08;Checkpoint&#xff09; 在流处理中&#xff0c;我们可以用存档读档的思路&#xff0c;将之前某个时间点的所有状态保存下来&#xf…

MATLAB实现岭回归数学建模算法

岭回归&#xff08;Ridge Regression&#xff09;是一种线性回归的扩展&#xff0c;用于处理多重共线性&#xff08;multicollinearity&#xff09;的问题。多重共线性是指自变量之间存在高度相关性的情况&#xff0c;这可能导致线性回归模型的不稳定性和过拟合。 岭回归通过在…

风二西CTF流量题大集合-刷题笔记|基础题(4)

61.sql2 sql.pcapng flag{a3eb0ff8-e467-5036-7c9b-287f6848d5f3} 62.冰蝎2.0 swt1.pcapng flag{0867c25f69f0c62c970408ccefe29bb7} 64.gs哥斯拉流量4.0 gs.pcapng flag{0fffbfa87e5508955b397950502db0bd} 65.冰蝎web流量 webshell.pcapng flag{da2c30d9318a0d80b4bfa…

C++——IOStream

什么是IO&#xff1f; C语言和C&#xff0c;我们其实已经接触到了两个IO的概念 #include<stdio.h> #include<iostream> iostream&#xff0c;便是IO流&#xff0c;其中I表示in&#xff0c;O表示out&#xff0c;代表着用户的输入和终端的输出。在之前的C语法中&a…

【服务器】安装Docker环境

目录 &#x1f33a;【前言】 &#x1f33c;1. 打开Xshell软件 &#x1f33b;2. 安装Docker环境 ①&#xff1a;下载docker.sh脚本 ②&#xff1a;列出下载的内容 ③&#xff1a;执行一下get-docker.sh文件&#xff0c;安装docker ④&#xff1a;运行docker服务 ⑤&…

内网安全管理系统(保密管理系统)

在当今信息化的时代&#xff0c;企业的内网已经成为其核心资产的重要组成部分。 随着企业的快速发展和信息化程度的提升&#xff0c;内网安全问题日益凸显&#xff0c;如何保障内网的安全和机密信息的保密性&#xff0c;已经成为企业亟待解决的问题。 内网安全管理系统(保密管…

定时任务组件Quartz

Quartz介绍 Quartz 是一个功能丰富的开源作业调度库&#xff0c;几乎可以集成到任何 Java 应用程序中 - 从最小的独立应用程序到最大的电子商务系统。Quartz 可用于创建简单或复杂的计划&#xff0c;以执行数十、数百甚至数万个作业;其任务被定义为标准 Java 组件的作业&#x…

了解HTTP/1.1、HTTP/1.0 和 HTTP/2.0

HTTP/1.1、HTTP/1.0 和 HTTP/2.0 是超文本传输协议&#xff08;HTTP&#xff09;的三个主要版本 先解释一下什么是超文本协议 超文本传输协议&#xff08;HyperText Transfer Protocol&#xff0c;简称 HTTP&#xff09;是互联网上应用最广泛的一种网络协议。设计 HTTP 的初衷是…

STM32(--001) Win10、Win11 上的驱动安装说明

一、USB线插到 CMSIS-DAP 接口上&#xff0c;将自动识别到两个设备 ① CMSIS-DAP&#xff1a;用于烧录代码、在线硬件仿真; 在Keil里烧录&#xff0c;无需通过FlyMCU; ② USB转TTL&#xff1a;用于开发板与电脑间串口通信 &#xff0c;即USART1, TX-PA9、RX-PA10; 接口备注&a…

Vue前端环境搭建以及项目搭建

安装node.js 安装node.js主要是为了安装npm工具&#xff0c;用于管理js包等&#xff0c;类似于java的maven。 去官网下载安装。 配置新的镜像源 npm config set registry https://registry.npmmirror.com安装webpack webpack是前端项目打包工具。 命令&#xff1a; npm…