卸载vsftpd:sudo apt-get install vsftpd
重新安装:sudo apt-get install vsftpd
创建用户目录:sudo mkdir /home/userftp
创建用户:sudo adduser userftp
>输入密码:1234 >确认密码:1234 >全名:userftp >其他:1 >是否正确:y
打开配置文件:sudo gedit /etc/vsftpd.conf
添加如下8行:
#ftp userlist_deny=NO userlist_enable=YES userlist_file=/etc/allowed_users seccomp_sandbox=NO local_root=/home/userftp/ local_enable=YES write_enable=YES #utf8_filesystem=YES
创建并编辑白名单:sudo vim /etc/allowed_users
添加如下2行:
userftp abc //虚拟机机主名
查看黑名单(是否包含userftp用户,如果有就删除userftp):sudo cat /etc/ftpusers
# /etc/ftpusers: list of users disallowed FTP access. See ftpusers(5). root daemon bin sys sync games man lp mail news uucp nobody
在该虚拟机切换用户为userftp登录,再注销,重新登录原用户。
输入命令重启vsftpd:sudo /etc/init.d/vsftpd restart
此时可在另外一台虚拟机上,打开终端,输入ftp [ip],再输入用户名、密码即可。
另外,如果使用put命令无法上传文件时报错(200 PORT command successful. Consider using PASV. 553 Could not create file.),则是因为装有ftp的虚拟机中对应得文件夹没有写的权限。
输入命令为相应文件夹增加写得权限:sudo chmod o+w /home/userftp/cFile
再次输入命令vsftpd:sudo /etc/init.d/vsftpd restart重启即可。