物联网·智能监控——Ubuntu上搭建FTP服务器,并实现FTP文件上传

一、安装并配置vsftpd

步骤为:

1.sudo apt-get install vsftpd //安装vsftpd
2.cd /etc/ //备份默认的配置文件
3.sudo cp vsftpd.conf vsftpd.conf.orig
4.sudo vim vsftpd.conf //编辑FTP的配置文件

FTP的配置文件为:

#匿名登录用户免密登录
anonymous_enable=YES
anon_mkdir_write_enable=NO
no_anon_password=YES

#上传文件更改用户名
chown_uploads=YES
chown_username=pi

#上传文件夹失败时删除文件
delete_failed_uploads=YES

#本地用户能够登录和上传文件,指定登录的文件路径
local_enable=YES
local_root=/srv/ftp/
allow_writeable_chroot=YES
anon_root=/srv/ftp/
write_enable=YES
local_umask=022

#设置FTP监听的端口
listen=YES
listen_ipv6=NO
listen_port=21

#设置vsftpd的日志以及登录的提示信息
ftpd_banner=Welcome to LingYun loT system Lab.FTP service.
xferlog_enable=YES
xferlog_file=/var/log/vsftpd.log

#是否限制本地所有用户切换根目录的权限,“YES”为开启权限(登录后的用户不能访问FTP根目录之外的目录)
chroot_local_user=YES
pam_service_name=vsftpd

#userlist为一个名单,“YES”表示userlist中的用户才能登录FTP
userlist_enable=YES

#禁止userlist中的用户登录,“NO”表示不启用此功能
userlist_deny=NO

#指定userlist文件
userlist_file=/etc/vsftpd.userlist

#本地用户登录的配置文件夹,能够分别指定每个用户的登录路径
user_config_dir=/etc/vsftpd/userconfig

二、配置本地用户登录

1.创建vsftpd的登录用户并且设置密码
(1)sudo useradd -s /bin/bash pi -m //创建用户
(2)sudo passwd pi
(3)su pi //设置密码
(4)exit //退出

2.创建FTP服务器匿名用户以及本地用户的默认工作根路径和测试文件
(1)sudo mkdir -p /srv/ftp/
(2)sudo chown pi.pi /srv/ftp/ //将FTP跟目录的所有者权限给用户pi
(3)sudo chmod 755 /srv/ftp/ //将文件权限修改为755
(4)sudo touch /srv/ftp/test_file.txt

关于文件权限:
755:rwxr-xr-x
777:rwxrwxrwx

3.创建用户pi的登录根路径和测试文件:
(1)sudo mkdir -p /srv/pi
(2)sudo touch /srv/pi/pi_test.txt
(3)sudo chown -R pi.pi /srv/pi/

4.创建vsftpd.userlist,该文件用来保存允许登录的用户:
(1)sudo vim vsftpd.userlist
例如:
anonymous
pi

5.修改配置pi用户的登录文件路径为/srv/pi/,与匿名用户的工作路径区分开(pi用户的工作路径可以修改也可以不用修改)

(1)sudo mkdir -p /etc/vsftpd/userconfig
(2)cd /etc/vsftpd/userconfig/
(3)sudo vim pi
例如:local_root=/srv/pi/

三、测试vsftp服务

1.重启vsftpd服务:sudo service vsftpd restart
在这里插入图片描述
2.输入命令:sudo netstat -tlnp
物联网·智能监控——Ubuntu上搭建FTP服务器,并实现FTP文件上传_第1张图片
如果vsftpd未运行,则去检查vsftpd的配置,看是否配置出现问题。

四、运行测试

在浏览器或者我的电脑地址栏输入:ftp://Linux+系统IP,例如:ftp://192.168.XXX.XXX
显示如下界面则说明FTP服务器配置成功:
物联网·智能监控——Ubuntu上搭建FTP服务器,并实现FTP文件上传_第2张图片
物联网·智能监控——Ubuntu上搭建FTP服务器,并实现FTP文件上传_第3张图片

五、安装FlashFXP,实现文件的上传

1.在官网上下载软件并安装,安装成功后打开右上角此图标:

物联网·智能监控——Ubuntu上搭建FTP服务器,并实现FTP文件上传_第4张图片
2.在弹出的界面填写地址域、用户名称、密码:
物联网·智能监控——Ubuntu上搭建FTP服务器,并实现FTP文件上传_第5张图片
3.观察右下角的连接状态信息,如图所示则表示连接成功:物联网·智能监控——Ubuntu上搭建FTP服务器,并实现FTP文件上传_第6张图片
4.点击此图标:
物联网·智能监控——Ubuntu上搭建FTP服务器,并实现FTP文件上传_第7张图片
5.找到需要上传的文件或者文件夹,直接拖动到右边即可实现文件的上传:物联网·智能监控——Ubuntu上搭建FTP服务器,并实现FTP文件上传_第8张图片
注:在配置ftp服务器时注意ufw和iptables,笔者刚开始由于开启了iptables,出现了下面这种情况:
物联网·智能监控——Ubuntu上搭建FTP服务器,并实现FTP文件上传_第9张图片

iptables

iptables是与最新的 3.5 版本 Linux 内核集成的 IP 信息包过滤系统,如果 Linux 系统连接到因特网或LAN、服务器或连接 LAN 和因特网的代理服务器,则该系统有利于在 Linux 系统上更好地控制 IP信息包过滤和防火墙配置。netfilter/iptables(简称iptables)组成Linux平台下的包过滤防火墙,与大多数的Linux软件一样,这个包过滤防火墙是免费的,它工作在网络层,针对TCP/IP数据包实施过滤和限制,是典型的包过滤防火墙,它也可以实现网络地址转换(NAT)等功能

ufw

ufw是ubuntu系统默认提供的一个基于iptable之上的防火墙工具,ufw支持图形界面操作,只需在命令行运行ufw命令即能看到一系列的操作

你可能感兴趣的:(FTP服务器)