之前用的是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解决中文乱码问题的更多相关文章

  1. Ubuntu 18.04安装配置Apache Ant

    Ubuntu 18.04安装配置Apache Ant 文章目录 Ubuntu 18.04安装配置Apache Ant 下载 执行以下命令 `/etc/profile`中配置环境变量 载入配置 测试 执 ...

  2. Ubuntu 18.04 安装配置 go 语言

    Ubuntu 18.04 安装配置 go 语言 1.下载 下载 jdk 到 Downloands 文件夹下 cd 进入 /usr/local, 创建 go 文件夹, 然后 cd 进这个文件夹 cd / ...

  3. Ubuntu 18.04 安装配置 MySQL 5.7

    Ubuntu 18.04 安装 mysql 的过程中,竟然没有让你输入秘密?!(之前在 Ubuntu 14.04 下,安装过程中会询问密码),这导致安装完 mysql 初始秘密不知道的问题. $ su ...

  4. Ubuntu 18.04 安装配置LAMP

    --作者:飞翔的小胖猪 --创建时间:2021年5月29日 --修改时间:2021年5月29日 一.准备 1.1 环境 操作系统:Ubuntu 18.04 网页引擎:Apache php版本:7.4 ...

  5. Ubuntu 18.04 安装配置 java jdk

    1.下载 下载 jdk 到 Downloands 文件夹下 cd 进入 /usr/local, 创建 jdk 文件夹, 然后 cd 进这个文件夹 cd /usr/local sudo mkdir jd ...

  6. Ubuntu 18.04安装Samba服务器及配置

    Ubuntu 18.04安装Samba服务器及配置 局域网下使用samba服务在Linux系统与Windows系统直接共享文件是一项很方便的操作.以Ubuntu为例配置samba服务,Linux服务器 ...

  7. 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 ...

  8. Ubuntu 18.04 安装博通(Broadcom)无线网卡驱动

    目录 Ubuntu 18.04 安装博通(Broadcom)无线网卡驱动 Package gcc is not configured yet. 解决办法 history history | grep ...

  9. Ubuntu 18.04 下配置 HAXM 加速 Android模拟器

    Ubuntu 18.04 下配置 HAXM 加速 Android模拟器 最近在vmware环境下搭建ubuntu18.04开发环境,开始发现总是运行android模拟器在console提示加载如下错误 ...

随机推荐

  1. 30. pt-upgrade

    用来测试新老版本数据库对sql的结果是否一致.两台开发测试数据库,一台是老版本,一台是新版本,来做比较,生产库别用. pt-upgrade h=192.168.100.101,P=3306,u=adm ...

  2. css设置文本自动换行

    .wrap-90 { display: inline-block; word-wrap: break-word;//对块级元素设置此属性 width: 90px;}

  3. eclipse配置逆向工程

    eclipse单行注释:ctrl + shfit + c   或者   Ctrl+/:    添加//注释 快速查找某个类:Ctrl+Shift +T   查找这个类的子类是ctrl+t eclips ...

  4. 【机器学习】主成分分析法 PCA (I)

    主成分分析算法是最常见的降维算法,在PCA中,我们要做的是找到一个方向向量,然后我们把所有的数都投影到该向量上,使得投影的误差尽可能的小.投影误差就是特征向量到投影向量之间所需要移动的距离. PCA的 ...

  5. 使用ajax实现html页面产品详情页文字具体内容

    <script type="text/javascript" src="Assets/js/jquery.min.js"></script&g ...

  6. 使用electron开发指静脉客户端遇到的问题总结

    使用electron 使用nodejs 的ffi模块调用dll文件 总结1.electron 与nodejs版本不需要一致,甚至nodejs版本应该高于electron的node版本2.要安装 Vis ...

  7. PE文件常用结构体

    Dos头结构: typedef struct _IMAGE_DOS_HEADER { // DOS .EXE header WORD e_magic; // Magic number WORD e_c ...

  8. 贪心-Wooden Sticks

    先将火柴按照长度(或重量)优先排序,在不断遍历数组,找出其中重量(长度)递增子序列,并标记 Problem Description There is a pile of n wooden sticks ...

  9. 【js jQuery】map集合 循环迭代取值---以及 map、json对象、list、array循环迭代的方法和区别

    后台给前台传来一个map @ResponseBody @RequestMapping(value = "getSys") public Map<Long,String> ...

  10. web网页、手机app设计规范

    app设计规范 目前,很多APP设计师的APP Ui设计稿是先做iPhone6的,方便向上适配iPhone6Plus,也方便向下适配iPhone5和iPhone4的尺寸.这一节课也算是25学堂为大家精 ...