linux做的FTP服务器(vsftpd),上传的中文文件,名字都会被自动改掉,部分汉字被改成符号?

/etc/sysconfig/i18n也做相应设定了,用UTF-8. 同时也安装了一个中文输入法。可是问题仍然得不到解决
请大侠们帮我看看,小弟感激涕零

跟中文输入法没关系。我的建议是服务端和客户端都用UTF-8格式最好
给你看看我一个FTP服务器的编码:
$ whoami
root
$ echo $LANG
en_US.UTF-8
#这个表明系统默认UTF-8

$ ps auxw | grep vsftpd|grep -v grep
root 32449 0.0 0.0 4288 1020 ? S Sep14 0:00 /usr/sbin/vsftpd /etc/vsftpd/vsftpd.conf
#查询到我的vsftpd的进程号 32449

$ cd /proc/32449/
$ ls
attr coredump_filter exe limits mem root statm wchan
auxv cwd fd loginuid mounts smaps status
cmdline environ io maps mountstats stat task
$ cat environ
TERM=vt100PATH=/sbin:/usr/sbin:/bin:/usr/bin:/usr/X11R6/binPWD=/LANG=en_US.UTF-8SHLVL=1_=/usr/sbin/vsftpd
$
#看到environ文件的内容,其中的UTF-8表示我的vsftpd也采用utf-8编码,en_us表示语系

我的客户端用的有filezilla和flashfxp,默认都设成了以utf-8传输

如果你要用中文语系,最好也检查一下/usr/share/locale下面,比如:
$ ls /usr/share/locale/ | grep -i cn
zh_CN
zh_CN.GB2312
温馨提示:内容为网友见解,仅供参考
第1个回答  2010-09-17
上传的编码和服务器的编码必须一致。vsftp 和服务器的编码必须一致。
输入法跟这些没关系。

国内的 Windows 机器 + ftp 软件很多都是 GB 系列编码的,你可以试试 GB 18030 和 GB2312 ,GBK 也和他们兼容,也可以试试。

PS:至少需要 vsftp 和客户端的编码一致。
第2个回答  2010-09-17
GBK

linux做的FTP服务器(vsftpd),上传的中文文件,名字都会被自动改掉,部 ...
给你看看我一个FTP服务器的编码:whoami root echo $LANG en_US.UTF-8 这个表明系统默认UTF-8 ps auxw | grep vsftpd|grep -v grep root 32449 0.0 0.0 4288 1020 ? S Sep14 0:00 \/usr\/sbin\/vsftpd \/etc\/vsftpd\/vsftpd.conf 查询到我的vsftpd的进程号 32449 cd \/pro...

linux ftp 用vsftpd 匿名用户上传的文件权限
上传后文件权限是-rw --- ---说明你的umask设置并没有生效,这是077的结果。另外即使022的设置生效的话,上传的文件权限也不是755,而是644,因为普通文件不会有执行权限的。我的Linux版本与你相似,这个设置时可以生效的。所以还是检查一下配置文件吧。

用windows资源管理器上传中文名文件到vsftpd服务器乱码问题
回答:我猜是这样的,windows下是ansi的,但linux是unicode的,建议使用flashfxp,操作很简单的,我之前试过从vsftpd下载到windows时文件名乱码,改为unicode就正常了。

linux ftp服务器搭建
首先,安装并配置FTP服务器软件vsftpd:执行`yum install vsftpd`安装vsftpd服务接着,对配置文件进行设置:打开`\/etc\/vsftpd\/vsftpd.conf`进行基本配置在`\/etc\/vsftpd\/ftpusers`中管理用户登录权限,例如,注释掉root用户以禁用其登录检查`\/etc\/vsftpd\/usr_list`确保正确用户可登录为了保障安全性,禁止用户随...

Linux下配置FTP服务器
(1) \/etc\/vsftpd.ftpusers Vsftpd禁止列在此文件中的用户登录FTP服务器。此机制是默认设置的。(2) userlist_enable= YES|NO 此选项激活后,vsftpd将读取userlist_file参数所指定的文件中的用户列表。(3) userlist_file=\/etc\/vsftpd.user_list 指出userlist_enable选项生效后,被读取的包含用户列表的...

Linux系统安装FTP服务器
要安装Linux系统的FTP服务器,首先,执行安装命令以启动进程。之后,启动FTP服务器以使其运行。配置是关键,需修改配置文件<\/etc\/vsftpd\/vsftpd.conf>,确保FTP服务器设置正确。接下来,为保证文件安全,需调整权限,将var\/ftp\/pub设为FTP服务的默认文件存储目录。防火墙设置也需调整,确保FTP服务器能正常...

ubuntu 使用 vsftpd 基于系统用户配置相互隔离的 ftp (ftps) 服务
vsftpd 是 Linux Server 下非常优秀的 FTP 服务软件,支持 FTP, FTPS(隐式加密)和 FTPS(显示加密),能满足文件上传下载需求,且能限制用户权限和禁用 shell 登录。首先更新软件源并安装 vsftpd。使用 sudo apt-get update 更新源信息,执行 sudo apt-get install vsftpd 安装 vsftpd。编辑配置文件 ...

Linux:测试vsftpd服务器软件,用 ftp 127.0.0.1连接了再用本地用户登录...
登陆失败,提示了 cannot change directory: \/home\/xcx 你需要确保这个目录存在而且权限开放。记得这个是vsftpd的默认设置,登陆到用户的$HOME,可以考虑修改设置,让所有用户登陆到指定的目录。

Linux系统的网络文件共享
在实验环节,首先需要安装FTP服务端(如使用vsftpd服务)。安装完成后,系统会自动创建名为ftp的程序用户。进行备份并修改配置文件,以便后续进行FTP连接。在客户端需要安装FTP工具(如ftp),并关闭防火墙。客户端通过连接服务器端,可以查看服务器上是否能够找到所写文件。SCP命令用于通过SSH协议安全地在远程...

Linux FTP服务器
一、当vsftpd.conf配置文件中包括以下设置时,vsfftpd.user_list文件中的用户账号被禁止进行FTP登录。 userlist_enable=YES 启用vsftpd.user_list userlist_deny=YES 当为YES时将禁所有在文件内的用户登录FTP。相反当userlist_deny=NO时除了vsftpd.user_list文件下的用户以外,任何用户不允许登录。注:...

相似回答