1,vsftpd安装,安装过程简单,没出现问题。
sudo aptitude install -y vsftpd
2,创建FTP根目录以及权限设定
sudo mkdir -p /srv/public
cd /srv/
sudo chown root:ftp public
cd public
sudo mkdir upload
sudo chown ftp:ftp upload
3,编辑配置文档
sudo vim /etc/vsftpd.conf:把原配置文档全部删除,只加上下面内容。
listen=YES
anonymous_enable=NO
local_enable=YES
check_shell=NO
write_enable=YES
local_umask=022
dirmessage_enable=YES
use_localtime=YES
xferlog_enable=YES
connect_from_port_20=YES
pam_service_name=ftp
4,开启FTP服务
root@ubuntu:/srv/public# sudo systemctl stop vsftpd
root@ubuntu:/srv/public# sudo systemctl start vsftpd
root@ubuntu:/srv/public# sudo systemctl status vsftpd
● vsftpd.service - vsftpd FTP server
Loaded: loaded (/lib/systemd/system/vsftpd.service; enabled; vendor preset: enabled)
Active: active (running) since Tue 2018-03-13 06:47:15 PDT; 3s ago
Process: 5285 ExecStartPre=/bin/mkdir -p /var/run/vsftpd/empty (code=exited, status=0/SUC
Main PID: 5288 (vsftpd)
CGroup: /system.slice/vsftpd.service
└─5288 /usr/sbin/vsftpd /etc/vsftpd.conf
Mar 13 06:47:15 ubuntu systemd[1]: Starting vsftpd FTP server...
Mar 13 06:47:15 ubuntu systemd[1]: Started vsftpd FTP server.
5,测试FTP服务
第一部分是Ubuntu虚拟机连接测试:使用的是本地Ubuntu账号。
root@ubuntu:/srv/public# ftp 127.0.0.1
Connected to 127.0.0.1.
220 (vsFTPd 3.0.3)
Name (127.0.0.1:andrew): andrew
331 Please specify the password.
Password:
230 Login successful.
Remote system type is UNIX.
Using binary mode to transfer files.
ftp> ls
200 PORT command successful. Consider using PASV.
150 Here comes the directory listing.
-rw-rw-r-- 1 1000 1000 0 Mar 07 06:32 ?0?@@X
第二部分是本机win7连接测试:
一种是用window命令行:其中的IP地址192.168.189.128,是Ubuntu虚拟机的ip地址,可以在Ubuntu的终端使用命令ifconfig查询得到。
账号还是使用的Ubuntu的本地账号。
另一种是通过浏览器进入FTP:
在浏览器地址栏中输入:ftp://192.168.189.128/。然后输入Ubuntu本地账号,即可登入。
至此FTP服务器终于能启用了。当然其实配置文档中还有非常多的设置可以用,比如权限,匿名访问控制。以后需要再研究。
实践过程中参考了以下链接: