Ubuntu 18.04安装配置pure-ftpd解决中文乱码问题
之前用的是vsftpd配置ftp服务器,前面用的挺好,没什么问题,但是后面接收设备上传的文件夹时发现了一个大坑,当设备上传的文件夹名字中包含中文时,在Linux上显示的是乱码。。。各种转码都不行,折腾不止半天,始终解决不了,哔了狗!!最后搜索其它配置ftp服务器的工具,发现了pure-ftpd这个好东西,且这个文章(传送门)中说的很清楚,vsftpd不支持内部转码,默认使用UTF8存储,当使用windows上传文件时会出现乱码情况,因为windows中文默认使用GBK编码,而pure-ftpd可以设置客户端的编码格式,这样服务器可以知道接收的是什么编码格式的文字,从而进行后续处理以正常显示。
1、安装
sudo apt-get install pure-ftpd
2、配置
//新建一个文件夹作为ftp上传文件的目录
sudo mkdir -p /home/ftp
//添加一个用户,用于ftp登录,这里有人说必须用ftp这个用户名,后面了解原理后再更新
//值得注意的是这些为ftp新建的用户一般不会用于登录系统,所以命令-s 设置为/bin/false,不允许shell登录
sudo useradd -d /home/ftp -s /bin/false ftp
//为ftp用户设置密码
sudo passwd ftp
//设置目录所属用户和用户组,前面并没有建ftp用户组,不用担心,这样设置后会自动创建ftp用户组
sudo chown -R ftp:ftp /home/ftp/
//为ftp目录添加所有权限
chmod -R 777 /home/ftp
3、配置
配置文件在/etc/pure-ftpd/conf目录下,配置方式比较奇怪,一个配置项新建一个文件,文件名字是配置项名字,内容是配置项参数。如安装完进到该目录下发现有个NoAnonymous文件,内容是no,表示允许匿名登录的意思。如果要添加其它设置就继续新建文件。我加了如下配置:
1、最初我把NoAnonymous改成了no,允许匿名登录,上传文件没问题,但是上传文件夹时提示“550 Sorry, anonymous users are not allowed to create directories”错误,说匿名用户不允许创建目录,于是我就把参数值改成了yes,强制需要登录,为了保险同时又加了下面配置。
2、AnonymousCanCreateDirs,意思是允许匿名用户创建文件夹,这时再上传文件夹就可以了。
3、ChrootEveryone,作用是把每个用户限制在家目录下,不允许跳出,类似于vsftpd的chroot_local_user,这样每个用户上传文件时就上传到自己的文件夹下,不会互相冲突。
4、ClientCharset,这个是设置客户端字符集的,前面说了,windows上传文件有中文时乱码,因为windows上中文是以GBK表示的,上传时也是如此,但是Linux上是UTF8啊,所以如果不加这个参数,上传文件夹时如果有中文和vsftpd一样,也会显示为乱码,于是就加个文件,内容设置为gbk,这样该软件就可以处理中文了,显示一切正常。
还有其它配置,不过我目前用到的就这么简单,后面有时间学习了再继续更新。
Ubuntu 18.04安装配置pure-ftpd解决中文乱码问题的更多相关文章
- Ubuntu 18.04安装配置Apache Ant
Ubuntu 18.04安装配置Apache Ant 文章目录 Ubuntu 18.04安装配置Apache Ant 下载 执行以下命令 `/etc/profile`中配置环境变量 载入配置 测试 执 ...
- Ubuntu 18.04 安装配置 go 语言
Ubuntu 18.04 安装配置 go 语言 1.下载 下载 jdk 到 Downloands 文件夹下 cd 进入 /usr/local, 创建 go 文件夹, 然后 cd 进这个文件夹 cd / ...
- Ubuntu 18.04 安装配置 MySQL 5.7
Ubuntu 18.04 安装 mysql 的过程中,竟然没有让你输入秘密?!(之前在 Ubuntu 14.04 下,安装过程中会询问密码),这导致安装完 mysql 初始秘密不知道的问题. $ su ...
- Ubuntu 18.04 安装配置LAMP
--作者:飞翔的小胖猪 --创建时间:2021年5月29日 --修改时间:2021年5月29日 一.准备 1.1 环境 操作系统:Ubuntu 18.04 网页引擎:Apache php版本:7.4 ...
- Ubuntu 18.04 安装配置 java jdk
1.下载 下载 jdk 到 Downloands 文件夹下 cd 进入 /usr/local, 创建 jdk 文件夹, 然后 cd 进这个文件夹 cd /usr/local sudo mkdir jd ...
- Ubuntu 18.04安装Samba服务器及配置
Ubuntu 18.04安装Samba服务器及配置 局域网下使用samba服务在Linux系统与Windows系统直接共享文件是一项很方便的操作.以Ubuntu为例配置samba服务,Linux服务器 ...
- Ubuntu server16.04安装配置驱动418.87、cuda10.1、cudnn7.6.4.38、anaconda、pytorch超详细解决
目录 安装GCC 安装NVIDIA驱动 1. 卸载原有驱动(没装跳过) 2. 禁用nouveau 3. 安装NVIDIA显卡驱动 安装CUDA10.1 安装cudnn 安装anaconda 安装ten ...
- Ubuntu 18.04 安装博通(Broadcom)无线网卡驱动
目录 Ubuntu 18.04 安装博通(Broadcom)无线网卡驱动 Package gcc is not configured yet. 解决办法 history history | grep ...
- Ubuntu 18.04 下配置 HAXM 加速 Android模拟器
Ubuntu 18.04 下配置 HAXM 加速 Android模拟器 最近在vmware环境下搭建ubuntu18.04开发环境,开始发现总是运行android模拟器在console提示加载如下错误 ...
随机推荐
- [并查集][NOIP2015]信息传递
信息传递 题目描述 有 N 个同学( 编号为 1 到 N) 正在玩一个信息传递的游戏. 在游戏里每人都有一个固定的信息传递对象, 其中,编号为i的同学的信息传递对象是编号为ti的同学. 游戏开始时, ...
- (转)Java Web(一) Servlet详解!!
https://www.cnblogs.com/whgk/p/6399262.html 这篇文章到上一篇,距离的有点遥远呀,隔了大概有两个月把,中间在家过了个年,哈哈~ 现在重新开始拾起,最近在看一本 ...
- windows7 python3.4 安装scrapy
首先升级pip 虽然提示说已经升级,但是查看版本还是发现不对,随即进入C:\Python34\Lib\site-packages 查看已经存在9.0.1的版本,怎么办?将其移除,重新升级 安装lxml ...
- Firefox 调试 JavaScript 代码
第一步 新建 html 或者 jsp 文件 文件内容 <!DOCTYPE html> <html> <head> <meta charset="u ...
- instanceof简单用法
语法: 对象 instanceof 类: 含义:如果这个对象时这个类或者这个类的子类的实例化,那么结果及时ture, 否则 false. 常常用来判断一个类是否是某个类的子类,以此判断A类是否继承或者 ...
- OO第二单元小结
OO第二单元小结 一.三次作业代码分析. 1.第一次作业 第一次作业是单部电梯的傻瓜调度,由于其过分傻瓜,所以第一次作业我只有两个类,一个main,一个电梯,main类负责不断从输入流中读取命令,如果 ...
- java 多线程中的wait方法的详解
java多线程中的实现方式存在两种: 方式一:使用继承方式 例如: PersonTest extends Thread{ String name; public PersonTest(String n ...
- python Flask框架mysql数据库配置
我是一个没有笔记习惯的低级程序员,但是我还是喜欢编程,从小学就开始跟着玩电脑,对抓鸡,ddos,跳板刷钻开始了自己的IT 旅程,之后学习了各种语言,但是可惜都不没有达到精通,都是略懂一二,现在想把Py ...
- HCNA之网络通信基础
一.通信与网络 通信的概念我们并不陌生,在人类社会的起源和发展过程中,通信就直伴随着我们.般认为, 20世纪七.八十年代,人类社会已进入到信息时代,对于生活在信息时代的我们,通信的必要性和重要性更是不 ...
- MySQL/Oracle索引的创建与使用
MySQL索引的建立对于MySQL的高效运行是很重要的,索引可以大大提高MySQL的检索速度. 索引分单列索引和组合索引. 单列索引,即一个索引只包含单个列,一个表可以有多个单列索引,但这不是组合索引 ...