Linux下搭建FTP服务器

FTP服务器(File Transfer Protocol Server)是在互联网上提供文件存储和访问服务的计算机,它们依照FTP协议提供服务。
FTP是File Transfer Protocol(文件传输协议)。顾名思义,就是专门用来传输文件的协议。简单地说,支持FTP协议的服务器就是FTP服务器。

1.安装并启动vsftpd服务

[root@wry130 ~]# yum search ftp
[root@wry130 ~]# yum install vsftpd.x86_64 -y

安装完成之后启动,并设置vsftpd服务开机自启动

[root@wry130 ~]# systemctl start vsftpd
[root@wry130 ~]# systemctl enable vsftpd
[root@wry130 ~]# 

2. 实现匿名用户访问FTP服务器

本机上匿名访问搭建了FTP服务器的Linux系统

[root@wry130 ~]# cd /etc/vsftpd/
[root@wry130 vsftpd]# ls
ftpusers  user_list  vsftpd.conf  vsftpd_conf_migrate.sh
[root@wry130 vsftpd]# vi vsftpd.conf 

FTP服务器是默认可以用户匿名访问的,FTP配置文件/etc/vsftpd.conf,用户名:anonymous,密码为空

测试

[root@wry130 vsftpd]# ftp 192.168.67.130
Connected to 192.168.67.130 (192.168.67.130).
220 (vsFTPd 3.0.2)
Name (192.168.67.130:root): anonymous
331 Please specify the password.
Password:
230 Login successful.
Remote system type is UNIX.
Using binary mode to transfer files.
ftp> bye
221 Goodbye.

3.实现客户机本地用户访问FTP服务器

FTP服务器是默认可以本地用户访问的,FTP配置文件/etc/vsftpd/vsftpd.conf,用户名和密码就是本地用户的用户名和密码

开启防火墙的FTP的20、21端口以及ftp服务

[root@wry130 vsftpd]# firewall-cmd --permanent --add-port=21/tcp
success
[root@wry130 vsftpd]# firewall-cmd --permanent --add-port=20/tcp
success
[root@wry130 vsftpd]# firewall-cmd --permanent --add-service=ftp
success

在FTP客户机192.168.67.139的Linux系统下使用wry本地用户登录192.168.67.130FTP服务器
测试

[root@wry139 vsftpd]# ftp 192.168.67.130
Connected to 192.168.67.130 (192.168.67.130).
220 Welcome to blah FTP service.
Name (192.168.67.130:root): wry
331 Please specify the password.
Password:
230 Login successful.
Remote system type is UNIX.
Using binary mode to transfer files.
ftp> 

4.实现匿名用户传文件到FTP服务器

查看FTP服务器配置文件,发现默认是可以upload上传文件的,然后重启vsftpd服务

[root@wry130 ~]# vi /etc/vsftpd/vsftpd.conf
[root@wry130 ~]# systemctl restart vsftpd
[root@wry130 ~]# 


测试

[root@wry130 ~]# touch 123.txt
[root@wry130 ~]# ftp 192.168.67.130
Connected to 192.168.67.130 (192.168.67.130).
220 Welcome to blah FTP service.
Name (192.168.67.130:root): anonymous
230 Login successful.
Remote system type is UNIX.
Using binary mode to transfer files.
ftp> put /root/123.txt 
local: 123.txt remote: 123.txt
227 Entering Passive Mode (192,168,67,130,86,31).
150 Ok to send data.
226 Transfer complete.
ftp> bye
221 Goodbye.

5.限制指定本地用户访问FTP服务器

文件user_list里的用户名就是被限制的本地用户名单

[root@wry130 ~]# cd /etc/vsftpd/
[root@wry130 vsftpd]# ls
ftpusers   vsftpd.conf      vsftpd_conf_migrate.sh
user_list  vsftpd.conf.bak
[root@wry130 vsftpd]# vi user_list 

发现root用户就在其列,

[root@wry130 vsftpd]# vi vsftpd.conf


重启vsftpd服务

[root@wry130 vsftpd]# systemctl restart vsftpd
[root@wry130 vsftpd]# 

使用root用户做测试

[root@wry130 vsftpd]# ftp 192.168.67.130
Connected to 192.168.67.130 (192.168.67.130).
220 Welcome to blah FTP service.
Name (192.168.67.130:root): root
530 Permission denied.
Login failed.
ftp> 

至此,FTP服务器的搭建和基础实验完成

更多推荐

Linux下搭建FTP文件传输协议服务器实战