Ubuntu16.04系统中配置FTP

来源:互联网 发布:东北证券软件下载 编辑:程序博客网 时间:2024/05/20 19:31

Ubuntu16.04系统中配置FTP

本文基于Linux的Ubuntu系统安装FTP,Linux系统的用户名为peng, 主机名为ubuntu

  • 1. 下载和安装FTP
  • 2. 配置FTP
  • 3. 浏览器中测试以及错误解决

1. 下载和安装FTP

peng@ubuntu:~$ sudo apt-get install vsftpd

2. 配置FTP

  • 1)设置FTP登录密码(用户名默认为系统用户名,比如这里为peng):
peng@ubuntu:~$ sudo passwd ftp
  • 2)修改vsftp的配置文件:
peng@ubuntu:~$ sudo gedit /etc/vsftpd.conf
  • 将配置文件中”anonymous_enable=YES “改为 “anonymous_enable=NO”(是否允许匿名ftp,若不允许选NO),并且取消如下配置前的注释符号:
    local_enable=YES(是否允许本地用户登录)
    write_enable=YES(是否允许本地用户写的权限)

这里写图片描述

  • 再取消如下配置前的注释符号:
    chroot_local_user=YES(是否将所有用户限制在主目录)
    chroot_list_enable=YES(是否启动限制用户的名单)
    chroot_list_file=/etc/vsftpd.chroot_list(可在文件中设置多个账号)

这里写图片描述

Vsftpd的默认端口为21, 若21已被占用可更换端口号,如在该配置文件中添加: listen_port=2121,即可监听2121端口

  • 3) 重启FTP服务:
peng@ubuntu:~$ sudo service vsftpd restart

3. 浏览器中测试以及错误解决

FTP服务器已经安装和配置好,我们可以再浏览器中输入ftp://localhost测试一下是否配置成功。登录用户名可以为一个普通用户如peng, 也可以用root登录, 但是用root登录时会出现如下一些错误(按出现的先后顺序)

  • 错误1: 530 login incorrect

这里写图片描述

错误原因: root用户出现在了ftp服务的黑名单中。

解决方法:从/etc/ftpusers文件中注释掉root这一行:

peng@ubuntu:~$ sudo gedit /etc/ftpusers

这里写图片描述

  • 错误2: 500 OPPS:could not read chroot() list file : /etc/vsftpd.chroot_list

这里写图片描述

错误原因: 在etc文件夹中没有vsftpd.chroot_list文件。

解决方法:在etc文件夹中创建一个名为vsftpd.chroot_list的文件(只需创建,不需要写内容):

peng@ubuntu:~$ cd /etcpeng@ubuntu:/etc$ sudo touch vsftpd.chroot_list

这里写图片描述

  • 错误3: 500 OPPS:vsftpd : refusing to run with writable root inside chroot()

这里写图片描述

错误原因:chroot不可写。

解决方法:在配置文件/etc/vsftpd.conf中结尾加入一行:allow_writeable_chroot=YES

这里写图片描述

修改完后重启ftp服务:

peng@ubuntu:~$ sudo service vsftpd restart

至此,再在浏览器中登录,就没有错误出现了,默认的FTP打开的目录为该用户下的/Home文件夹:

这里写图片描述

在本地机上登录时输入:ftp://localhost; 在其他主机的浏览器上登录时输入: ftp://ip地址:ftp端口号 或者 ftp://域名:ftp端口号 (端口号不写默认为21)。打开界面和上图完全一样。