重新再虚拟机vmware10上安装了ubuntu14.4并更新至16.4版本,但是当需要使用winSCP软件在windows和ubuntu之间传输文件时,提示错误。(在重新安装这个ubuntu软件之前在vmware10上安装的是fileZilla,一直使用的很好,重装ubuntu后,再也连接不上了,所以又找了winSCP),网上搜索了很久,大概原因就是新装的Ubuntu上要重新安装ftp服务(之前使用的很好,怎么完全没这个印象,看来需要多记录)大概步骤如下:
1. 安装ftp
sudo apt-get install vsftpd
配置vsftpd.conf
sudo nano /etc/vsftpd.conf
#禁止匿名访问
anonymous_enable=NO
#接受本地用户
local_enable=YES
#允许上传
write_enable=YES
#用户只能访问限制的目录
chroot_local_user=YES
#设置固定目录,在结尾添加。如果不添加这一行,各用户对应自己的目录,当然这个文件夹自己建
local_root=/home/ftp
添加ftp用户
sudo useradd -d /home/ftp -M ftpuser
sudo passwd ftpuser
调整文件夹权限
这个是避免“500 OOPS: vsftpd: refusing to run with writable root inside chroot()”
sudo chmod a-w /home/ftp
sudo mkdir /home/ftp/data
这样登录之后会看到data文件夹,虽然稍麻烦,原因不表了。。查资料这么辛酸已经不易。。
重启vsftpd
sudo service vsftpd restart
2.然后再次连接,传输文件,出现如下错误:
Ubuntu 下复制文件到远端时错误,Permission denied 失败原因如下:
vsftp默认配置不允许上传文件
解决办法:修改配置文件 vi /etc/vsftpd.conf.
将"write_enable=YES"前面的#去掉,然后保存。
最后重启vsftp服务器 : service vsftpd restart
3. 修改后又发现如下错误
原因权限不够
切换到root用户,使用chmod -R 777 filename ,这里filename是你的目录或者文件。-R是指递归设置权限,777是完全权限。