Ubuntu Server或Desktop搭建匿名FTP服务器(适用于16.04及后续版本)

本文详细介绍了如何在Linux环境下搭建vsftpd匿名FTP服务器的过程,包括创建FTP目录、用户,安装配置vsftpd服务,以及测试本地和远程访问。

一、准备工作

1、创建FTP目录

首先在 /home 目录下创建 FTP 工作目录,比如创建 uftp 目录

	$ sudo mkdir /home/uftp
	[sudo] password for user_name: 
	$ ls /home
	user_name uftp

2、创建FTP用户

创建用户 ftpuesr,并指定主目录 /home/uftp

	$ sudo useradd -d /home/uftp/ ftpuser

设置用户 ftpuser 的密码。

	$ sudo passwd ftpuser
	Enter new UNIX password: 
	Retype new UNIX password: 
	passwd: password updated successfully

限制 ftpuser 不能shell登录,只用于 ftp

	$ sudo usermod -s /sbin/nologin ftpuser

设置 uftp 目录权限为归用户 ftpuser 所有

	$ sudo chown -R ftpuser:ftpuser /home/uftp/		# -R 表示递归里面所有子目录及文件
	$ ll /home/
	total 16
	drwxr-xr-x  4 root    root    4096 Sep  6 10:51 ./
	drwxr-xr-x 24 root    root    4096 Jun 26 20:37 ../
	drwxr-xr-x 23 user_name    user_name    4096 Sep  6 10:38 user_name/
	drwxr-xr-x  2 ftpuser ftpuser 4096 Sep  6 10:51 uftp/

设置 uftp 目录的读写权限

	$ sudo chmod 555 -R /home/uftp/

!!!注意:每次向 uftp 目录中存放新的文件时,都需要重新设置 uftp 的目录权限和读写权限。

二、安装FTP服务

1、安装 vsftpd

在终端中执行下面的命令安装 vsftpd 服务

	$ sudo apt install vsftpd

查看 vsftpd 运行状态

	$ service vsftpd status
	● vsftpd.service - vsftpd FTP server
	   Loaded: loaded (/lib/systemd/system/vsftpd.service; enabled; vendor preset: enabled)
	   Active: active (running) since Fri 2019-09-06 13:26:25 +08; 10min ago
	  Process: 5742 ExecStartPre=/bin/mkdir -p /var/run/vsftpd/empty (code=exited, status=0/SUCCESS)
	 Main PID: 5743 (vsftpd)
	    Tasks: 1 (limit: 19144)
	   CGroup: /system.slice/vsftpd.service
	           └─5743 /usr/sbin/vsftpd /etc/vsftpd.conf
	
	Sep 06 13:26:25 ubuntu-18 systemd[1]: Stopping vsftpd FTP server...
	Sep 06 13:26:25 ubuntu-18 systemd[1]: Stopped vsftpd FTP server.
	Sep 06 13:26:25 ubuntu-18 systemd[1]: Starting vsftpd FTP server...
	Sep 06 13:26:25 ubuntu-18 systemd[1]: Started vsftpd FTP server.

2、配置匿名登录

查看 vsftpd 所在目录

	$ whereis vsftpd
	vsftpd: /usr/sbin/vsftpd /etc/vsftpd.conf /usr/share/man/man8/vsftpd.8.gz

修改 /etc/vsftpd.conf 配置文件,记得首先备份原始文件

	$ sudo cp /etc/vsftpd.conf /etc/vsftpd.conf.backup
	$ sudo vim /etc/vsftpd.conf

然后在配置文件中找到以下的内容,进行修改如下:

	# 匿名访问必须设置FTP为独立启动模式
	listen=YES
	listen_ipv6=NO
	
	# 允许匿名用户登录
	anonymous_enable=YES
	
	# 设置匿名访问的目录
	anon_root=/home/uftp
	
	# 配置匿名登录时,其余不需要修改

3、重启 vsftpd 服务

在终端中输入下面命令,重新启动 vsftpd 服务,待重启完成后,查看 vsftpd 服务状态

	$ sudo service vsftpd restart
	$ sudo service vsftpd status
	● vsftpd.service - vsftpd FTP server
	   Loaded: loaded (/lib/systemd/system/vsftpd.service; enabled; vendor preset: enabled)
	   Active: active (running) since Fri 2019-09-06 19:02:26 CST; 14min ago
	  Process: 36156 ExecStartPre=/bin/mkdir -p /var/run/vsftpd/empty (code=exited, status=0/SUCCESS)
	 Main PID: 36157 (vsftpd)
	    Tasks: 1 (limit: 6143)
	   CGroup: /system.slice/vsftpd.service
	           └─36157 /usr/sbin/vsftpd /etc/vsftpd.conf
	
	9月 06 19:02:26 ubuntu18 systemd[1]: Starting vsftpd FTP server...
	9月 06 19:02:26 ubuntu18 systemd[1]: Started vsftpd FTP server.

三、连接FTP测试

1、本地用户登陆

如果通过终端本地测试ftp localhost,需要输入本机的 user_name 和 password 进行认证,如下所示,可以看到配置成功,能够访问 user_name 主目录下的所有内容。

	$ ftp localhost
	Connected to localhost.
	220 (vsFTPd 3.0.3)
	Name (localhost:u681): u681
	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.
	drwxr-xr-x    2 1000     1000         4096 Sep 05 09:47 Desktop
	drwxr-xr-x    2 1000     1000         4096 Aug 28 23:02 Documents
	drwxr-xr-x    5 1000     1000         4096 Sep 06 18:34 Downloads
	drwxr-xr-x    2 1000     1000         4096 Aug 28 23:02 Music
	drwxr-xr-x    2 1000     1000         4096 Aug 28 23:02 Pictures
	drwxr-xr-x    2 1000     1000         4096 Aug 28 23:02 Public
	drwxr-xr-x    2 1000     1000         4096 Aug 28 23:02 Templates
	drwxr-xr-x    2 1000     1000         4096 Aug 28 23:02 Videos
	drwxr-xr-x    3 1000     1000         4096 Aug 30 20:21 Workspace
	9 Directory send OK.
	ftp> exit
	221 Goodbye.

2、本地浏览器访问

如果本机是桌面版,则打开浏览器,输入 ftp://127.0.0.1 打开就能进入之前配置好的匿名访问目录,进行文件下载,如下图所示:
在这里插入图片描述

3、远程浏览器访问

如果主机没有浏览器,则可在远程主机上打开浏览器,输入 ftp://ip_address 进入到匿名访问目录,进行文件下载,如下图所示:
在这里插入图片描述
注意:如果FTP主机是服务器,则在其他任何主机上都可以通过 ftp://public_ip (公网IP)进行FTP访问;但如果FTP是普通主机,则只有处于同一局域网的其他主机才能通过 ftp://ip_address 进行FTP访问。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值