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提示加载如下错误 ...
随机推荐
- P3383 【模板】线性筛素数
因为数据很大所以要用线性筛.. #include<iostream> #include<cstdio> using namespace std; typedef long lo ...
- P2158 [SDOI2008] 仪仗队(欧拉函数模板)
题目描述 作为体育委员,C君负责这次运动会仪仗队的训练.仪仗队是由学生组成的N * N的方阵,为了保证队伍在行进中整齐划一,C君会跟在仪仗队的左后方,根据其视线所及的学生人数来判断队伍是否整齐(如下图 ...
- Charles抓https请求详细步骤
1.电脑上安装好Charles 2.电脑上安装证书 (1)点击Help - SSL Proxying - Install Charlse Root Certificate (2)在电脑上找到证书.此时 ...
- GUI学习之五——QAbstractButton类学习笔记
今天总结一下AbstractButton类的学习笔记. 一.描述 AbstractButton是对各种按键的抽象类他的继承关系是这样的 首先,QAbstractButton继承了QWidget类的各种 ...
- Koa源码分析(二) -- co的实现
Abstract 本系列是关于Koa框架的文章,目前关注版本是Koa v1.主要分为以下几个方面: Koa源码分析(一) -- generator Koa源码分析(二) -- co的实现 Koa源码分 ...
- Java--druidAPI查询
maven依赖<dependency> <groupId>in.zapr.druid</groupId> <artifactId>druidry< ...
- 不能ping通主机名
https://www.linuxidc.com/Linux/2017-03/142253.htm sudo apt-get install winbind , sudo apt-get instal ...
- C++入门
<完美C++>第5版 (美)Walter Savitch,Kenrick Mock 萨维奇//默克 著 薛正华,沈庚,韦远科 译 出版社: 电子工业出版社 时间2019/4/11- ...
- 86、UIWindow简单介绍
一.介绍 UIWindow是一种特殊的UIView,通常在一个app中只会有一个UIWindow ios程序启动完毕后,创建的第一个视图控制器 ,接着创建控制器的view,最后将控制器的view添加到 ...
- tp5 数据库
连接数据库: 在config下面的database.php里. 查找数据: halt(Db::name('studys')->column('name','age')); 也可以用find fi ...