关于Windows下使用CuteFTP向Ubuntu传文件时提示“请求被拒绝”

问题:做嵌入式经常会有交叉编译的情况,在虚拟机上编译完成后,再在windows下通过串口对开发板进行烧写,这个时候能够方便地对文件在两者间进行移动显得尤为重要。CureFTP在这方面则表现良好,但不少开发者在使用时经常会遇到如下图所示的错误:
这里写图片描述
恰好我也遇到,在这里简单记录一下,出现这种问题应该怎么解。
PS.下面均以我在实际解决中用到的文件名以及目录作为例子,待上传的目标文件夹路径为根目录下:/work/system

解决方法:
1、首先确保FTP服务开启,且连接无误;
2、确保上传的目标文件夹权限没问题,如下:

root@ubuntu:/work/system# ls -l /
drwxrwxrwx   3 llcc2012 llcc2012       4096 Aug 14 05:39 work

其中:
第一列表示表示文件读、写、执行的属性,以rwx(Owner)r-x(Group)r-x(Other)为例:这个例子表示的权限是:使用者自己可读、可写、可执行;同一组的用户可读、不可写、可执行;其它用户可读、不可写;
第二列表示第二个栏位,表示文件个数;
第三列表示该文件或目录的拥有者,若使用者目前处于自己的Home,那这一栏大概都是它的账号名称;
第四列表示所属的组(group)。每一个使用者都可以拥有一个以上的组,不过大部分的使用者应该都只属于一个组,只有当系统管理员希望给予某使用者特殊权限时,才可能会给他另一个组;
第五列表示文件大小,文件大小用byte来表示,而空目录一般都是1024byte;
第六列表示创建日期;
第七列表示文件名。

主要看第一列文件权限以及第三列和第四列是否是ftp服务允许的用户。注意:root默认是被禁止上传ftp服务器的。

3、若读写权限不够,则添加权限

root@ubuntu:/work/system# chmod 777 /work

4、若文件用户不是ftp服务器允许的用户,则修改

root@ubuntu:/work/system# chown -R llcc2012:llcc2012 /work

5、最后打开 /etc/vsftpd.conf 文件,修改,使用户具有上传权限

root@ubuntu:/work/system# vi /etc/vsftpd.conf
......
# Uncomment this to enable any form of FTP write command.
#write_enable=YES
#
......

找到如上图所示位置,去掉write_enable=YES前面的“”#“”即可。

6、最后不要忘了重启ftp服务:

root@ubuntu:/work/system# service vsftpd restart

OK大功告成,现在已经可以顺利地在windows下以及Ubuntu下切换文件。


版权声明:本文为alex2917原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。