看了网上很多关于Ubuntu下vsftpd的安装配置教程,发现很多都是不可以用的,经过多次尝试,总结了一个Ubuntu 16.04下最简单的设置方法。
第一步:安装VSFTPD
sudo apt-get install vsftpd
安装完成后启动VSFTPD服务:
service vsftpd start
第二步:新建目录/home/uftp作为用户主目录
sudo mkdir /home/uftp
第三步:新建用户uftp,制定用户主目录和所用shell,并设置密码
sudo useradd -d /home/uftp -s /bin/bash uftp
然后将目录/home/uftp的所属者和所属组都改为uftp:
sudo chown uftp:uftp /home/uftp
第四步:新建文件/etc/vsftpd.user_list,用于存放允许访问ftp的用户:
sudo vi /etc/vsftpd.user_list
在其中添加用户uftp,并且保存退出:
第五步:编辑VSFTPD配置文件
VSFTPD配置文件为/etc/vsftpd.conf,执行命令:
sudo vi /etc/vsftpd.conf
做如下修改:
打开注释 write_enable=YES
添加信息 userlist_file=/etc/vsftpd.user_list
添加信息 userlist_enable=YES
添加信息 userlist_deny=NO
修改完成后保存退出。
第六步:测试
现在在Windows下打开cmd窗口,执行命令:
ftp [你的linux机器的ip地址]
Linux下查看ip地址的命令为:
ifconfig
执行完ftp命令后,如果连接成功,会让你输入用户名和密码,输入我们刚刚添加的用户uftp的用户名和密码即可:
命令pwd和lcd分别可以查看远程Linux下和本地Windows下的当前目录:
现在在Linux下的目录/home/uftp下新建文件test_ftp_download.txt,在windows下的家目录(我的为C:\Users\40696)下新建文件test_ftp_upload.txt,分别用来测试下载和上传功能:
下载文件使用命令:get [文件名]
上传文件使用命令:put [文件名]
如果出现550 permission denied这个错误
一般是这个/etc/vsftpd.conf配置文件没有配置好
vsftpd默认是不允许上传的
要点总结:
第一步:安装vsftpd
sudo apt-get install vsftpd
第二步:配置
sudo vi /etc/vsftpd.conf
注销掉,关闭匿名访问
#anonymous_enable=YES
去掉注销,#让本地账号可以访问,比如root,等系统登录账号
local_enable=YES
write_enable=YES
第三步:如果你需要让root可以访问需要执行第三步
sudo vi /etc/ftpusers
把root去掉
第四步:增加一个访问账号
增加一个ftpgroup用户组
sudo groupadd ftpgroup
增加用户ftpuser并设置其目录为/ftp/ftpuser(可以修改,但是必须创建该文件夹)
sudo useradd -g ftpgroup -d /ftp/ftpuser -M ftpuser
如果上面的/ftp/ftpuser没有被创建,即需要创建该文件夹
sudo mkdir /ftp
sudo mkdir /ftp/ftpuser
用户必须拥有权限才可以访问,赋予访问/ftp/ftpuser的权限
sudo chmod 777 /ftp/ftpuser
第五步:设置ftpuser密码
sudo passwd ftpuser
第六步:重启vsftpd
sudo restart vsftpd