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提示加载如下错误 ...
随机推荐
- sha1 算法源码
原来指望sha1 这种烂大街的算法 不会出什么幺蛾子 结果<linux C编程实战Code>bt章节的sha1 代码 我在linux和windows下的结果不一样 然后用了哈希工具查看了下 ...
- java 多线程的唤醒
package TestThread.ThreadSynchronized.TestInterruptedException; public class InterruptDemo { public ...
- PHP 使用数字作为SESSION的Key,一刷新页面session丢失,Session消失,无法存储
PHP 使用数字作为SESSION的Key,一刷新页面session丢失,Session消失,无法存储 项目中有用到md5截取做session key值的,有些md5截取出来的部分是纯数字的,导致部分 ...
- SHELL脚本学习-定时检查Oracle alert日志并发送mail
对于DBA来说,检查alert日志是日常工作.告警日志日积月累往往很大,而且每次在服务器上查看或者下载到目标主机查看都十分不方便. 为了方便,以下做出两种情况:(其他情况类推) 第一场景:每天早上上班 ...
- SQL: Cannot create JDBC driver of class '' for connect URL
使用数据库数据源的web 项目,发布后,访问数据库500报错: 浏览器端: 控制台: 数据库连接池在不启动Tomcat的情况下,测试类通过,没有问题. 一旦在服务器发布,就会出现问题,考虑是Tomca ...
- 别人的Linux私房菜(21)基础系统设置与备份策略
网络设置,手动设置IP,DHCP自动获取. 以太网协议开发出来的网卡ethN,N为数字. CentOS7对网卡命名的规则:eno代表由主板BIOS内建立的网卡,ens1由主板BIOS内建的PCI-E界 ...
- 20175316 盛茂淞 2018-2019-2 《Java程序设计》实验二 面向对象程序设计 实验报告
20175316 盛茂淞 2018-2019-2 <Java程序设计>实验二 面向对象程序设计 实验报告 (一)单元测试 在 IDEA中我们把产品代码放在src目录中,把测试代码放在tes ...
- 小白的CTF学习之路5——内存的逻辑结构
很衰的一天,各种意料之外的问题,但都挡不住我每日一更的步伐 内存的逻辑结构大致分为以下几种: 数组 栈与队列 链表 二叉树 以上,数组,栈,链表是我这章要说明的 在学习前需要了解的两个问题: 1.内存 ...
- HTML的Tomcat
修改D:\software\apache-tomcat-8.0.44\webapps\ROOT\WEB-INF\web.xml: <?xml version="1.0" en ...
- 用java实现的英汉词典
import java.io.*; import java.util.*; public class MyDictionary { static private Map<String, Stri ...