ubuntu搭建 ftp服务器,实现文件的上传与下载

折腾了一天,终于搞定了,期间遇到各种问题。

在Linux中ftp服务器的全名叫 vsftpd,我们需要利用相关命令来开启安装ftp服务器,然后再在vsftpd.conf中进行相关配置。

主要讲述了 【vsftpd安装】【创建访问用户】【远程登陆】【访问指定文件夹】【上传下载】

 

 

【vsftpd安装】

ubuntu@VM-0-14-ubuntu:~$ vsftpd -version
vsftpd: version 3.0.3

查看版本,验证是否已安装;

sudo apt-get install vsftpd

安装;

【访问指定文件夹】

ubuntu@VM-0-14-ubuntu:/home$ sudo mkdir ftp

创建文件夹 /home/ftp ;

【创建访问用户】

ubuntu@VM-0-14-ubuntu:/$ sudo useradd -d /home/ftp/ -s /bin/bash xiaochun

为 /home/ftp/  创建用户;

ubuntu@VM-0-14-ubuntu:/$ sudo passwd xiaochun
Enter new UNIX password: 
Retype new UNIX password: 
passwd: password updated successfully

设置密码;

ubuntu@VM-0-14-ubuntu:/$ cat etc/passwd

xiaochun:x:1000:1000::/home/ftp/:/bin/bash

查看用户;

su root

切换为 root 用户,输入密码;

root@VM-0-14-ubuntu:/etc# vi vsftpd.conf 

修改配置文件,设置属性值 
anonymous_enable=NO #禁止匿名访问 
local_enable=YES 
write_enable =YES 

输入【i】编辑,输入【:wq!】保存,退出;

service vsftpd restart

重启服务;

mkdir test

创建test文件夹;

【远程登陆】

下载 FileZilla ,选择【本地站点】,链接ftp服务器;

如“读取目录列表失败”,修改传输模式为主动:“文件”-“站点管理器”;

ubuntu搭建 ftp服务器,实现文件的上传与下载_第1张图片

 

 

 

限制用户只能访问/home/ftp,不能访问其他路径:

修改vsftpd.conf如下:

chroot_list_enable=YES   #限制访问自身目录
# (default follows)
chroot_list_file=/etc/vsftpd/vsftpd.chroot_list

创建文件:vsftpd.chroot_list,新编辑 vsftpd.chroot_list文件,将受限制的用户添加进去,每个用户名一行

root@VM-0-14-ubuntu:/etc# touch vsftpd.chroot_list

 

重启服务:service vsftpd restart

ubuntu搭建 ftp服务器,实现文件的上传与下载_第2张图片

 

 

【上传下载】

这时,遇到问题了,不能上传和下载,同时报错如下:

 命令: USER xiaochun

响应: 331 Please specify the password.

命令: PASS ***************

响应: 500 OOPS: vsftpd: refusing to run with writable root inside chroot()

解决方案:

vim /etc/vsftpd/vsftpd.conf

# 添加一行配置 allow_writeable_chroot=YES

保存退出,重启一下 vsftp 服务即可。

 

 

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