Ubuntu搭建FTP服务

Ubuntu搭建FTP服务

版本:ubuntu 18.04

FTP搭建过程

准备工作

1、创建FTP对应的目录

root@ubuntu:/home/wj# mkdir ftp

2、进入ftp目录,创建目录anonymous,用来存放用户上传的文件,并修改目录的权限。同时创建文件test.txt用于测试下载功能

root@ubuntu:/home/wj# cd ftp
root@ubuntu:/home/wj/ftp# mkdir anonymous
root@ubuntu:/home/wj/ftp# chmod 777 anonymous/
root@ubuntu:/home/wj/ftp# touch test.txt
root@ubuntu:/home/wj/ftp# echo "for test" > test.txt

安装FTP服务

1、安装

root@ubuntu:/home/wj/ftp# apt-get install vsftpd

2、配置vsftpd.conf

root@ubuntu:/home/wj/ftp# vim /etc/vsftpd.conf

修改以下设置,允许匿名用户(可以直接在最后添加)

anonymous_enable=YES
anon_root=/home/wj/ftp
no_anon_password=YES
write_enable=YES
anon_upload_enable=YES
anon_mkdir_write_enable=YES
allow_writeable_chroot=YES

3、重新启动服务

/etc/init.d/vsftpd restart

测试FTP服务

1、本地登录

root@ubuntu:/home/wj/ftp# ftp 127.0.0.1
-bash: ftp: command not found
root@ubuntu:/home/wj/ftp# apt-get install ftp

本地安装服务,不一定有客户端,如果找不到命令,则需要安装ftp,安装后可登录。

2、登录

root@ubuntu:/home/wj/ftp# ftp 127.0.0.1
Connected to 127.0.0.1.
220 (vsFTPd 3.0.3)
Name (127.0.0.1:root): anonymous
230 Login successful.
Remote system type is UNIX.
Using binary mode to transfer files.
ftp>

登录anonymous不需要密码

3、测试下载功能,get file

ftp> get test.txt
local: test.txt remote: test.txt
200 PORT command successful. Consider using PASV.
150 Opening BINARY mode data connection for test.txt (9 bytes).
226 Transfer complete.
9 bytes received in 0.00 secs (39.9503 kB/s)
ftp>

4、测试上传功能,put file

FTP根目录为anon_root=/home/wj/ftpvsftpd为了安全,不让ftp这个目录具有写权限,如果强行修改ftp目录权限,则登录时会报错,如下:

root@ubuntu:/home/wj# ftp 127.0.0.1
Connected to 127.0.0.1.
220 (vsFTPd 3.0.3)
Name (127.0.0.1:root): anonymous
500 OOPS: vsftpd: refusing to run with writable root inside chroot()
Login failed.

应当将ftp目录的权限去掉写权限,但是我们在使用ftp put file时,要求put到的文件夹是有写权限的,否则put文件将会失败,报错如下:

ftp> put hadoop-1.2.1.tar.gz
local: hadoop-1.2.1.tar.gz remote: hadoop-1.2.1.tar.gz
200 PORT command successful. Consider using PASV.
553 Could not create file.

没有写入文件的权限!

正确的做法是,在ftp目录下创建一个具有写权限的目录,然后put文件,都放在这个文件夹中,ftp直接目录下无法被put进入文件

本文做法是,在ftp下创建文件夹anonymous,然后向其中put文件,成功

root@ubuntu:/home/wj# cd ftp
root@ubuntu:/home/wj/ftp# mkdir anonymous
root@ubuntu:/home/wj/ftp# chmod 777 anonymous/

ftp> cd anonymous
250 Directory successfully changed.
ftp> ls
200 PORT command successful. Consider using PASV.
150 Here comes the directory listing.
226 Directory send OK.
ftp> put hadoop-1.2.1.tar.gz
local: hadoop-1.2.1.tar.gz remote: hadoop-1.2.1.tar.gz
200 PORT command successful. Consider using PASV.
150 Ok to send data.
226 Transfer complete.
63851630 bytes sent in 0.67 secs (91.3669 MB/s)

5、退出

ftp> bye
221 Goodbye.

通过浏览器访问FTP服务

通过浏览器访问

ftp://网址/

目录即为配置的FTP根目录:

anon_root=/home/wj/ftp

通过文件的具体FTP地址可以使用wget命令进行文件下载

FTP使用命令

https://linux.cn/article-6746-1.html

ls cd lcd get file mget file put file mput file bye exit quit help

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值