Ubuntu 搭建FTP文件服务站

环境

Linux Ubuntu


配置环境

sudo apt-get install --reinstall systemd
sudo apt install  vsftpd   #安装ftp
sudo apt install db-util  #安装生成虚拟帐号数据库工具db

查看版本

vsftpd -v

在这里插入图片描述
查看是否运行

ps -ef|grep vsftp         #通过进程号查询
sudo netstat -antp|grep vsftp  #通过21端口查询

在这里插入图片描述

查找vsftpd.conf

 sudo find /etc/ -name "vsftpd.conf"

记住配置文件所在位置

如下(示例):

在这里插入图片描述

进入root模式

sudo su -


1.允许匿名访问

创建ftp访问的目录

这里我创建到了 /home 目录下

mkdir -p /home/ftp
touch /home/ftp/hello
chmod -R 777 /home/ftp
chmod a-w /home/ftp

在这里插入图片描述

修改vsftpd.conf

vim /etc/vsftpd.conf

加入如下内容

anonymous_enable=YES
anon_root= /home/ftp  #这里填写你所创建的ftp目录

如下(示例):

在这里插入图片描述
保存退出后

重启ftp服务

/etc/init.d/vsftpd restart

测试

匿名登陆的用户名是 anonymous

不需要输入密码

本地测试

可以成功登录。
可以查看并下载文件,并且也设置了权限使匿名用户不可以上传文件

cmd命令行测试

也可以成功登录
在这里插入图片描述



2.使用系统用户访问

创建用户
配置好自己的密码

adduser uftp

成功后可以看到 /home/ 目录下有了刚刚创建的用户目录
(示例):
在这里插入图片描述

配置vsftpd.conf文件

不允许匿名访问

在文件中加入如下内容

sudo vim /etc/vsftpd.conf
pasv_promiscuous=YES
utf8_filesystem=YES
userlist_deny=NO
userlist_enable=YES
userlist_file=/etc/allowed_users  #可以自定义
seccomp_sandbox=NO
local_root=/home/uftp/  #可以自定义
local_enable=YES
write_enable=YES

如下(示例):
在这里插入图片描述

创建允许访问的列表

vim /etc/allowed_users

写入可以访问的用户名
(示例):
在这里插入图片描述

检查禁止访问名单

确保没有允许访问的用户名
在这里插入图片描述

测试验证

重启服务器

/etc/init.d/vsftpd restart

在本地使用ftp命令测试

(示例):

在这里插入图片描述

在这里插入图片描述

可以看到上传的文件可以在 ftp 用户目录下看到本地测试成功

在浏览器中访问

在这里插入图片描述
可以看到能够正常访问,成功

在win10 cmd命令行访问

在这里插入图片描述
成功



3.虚拟用户访问

创建账户

useradd ftpuser -s /sbin/nologin
passwd ftpuser 

修改配置

vim /etc/vsftpd.conf

写入以下内容

anonymous_enable=NO
local_enable=YES
userlist_enable=YES
#userlist_deny=NO
#
guest_enable=YES
guest_username=ftpuser
virtual_use_local_privs=YES
pam_service_name=vsftpd
user_config_dir=/etc/vsftpd/virtualconf
userlist_enable=NO
userlist_file=/etc/vsftpd/virtusers  

如下(示例):

在这里插入图片描述

创建配置文件夹,用于存放每个用户的配置

mkdir -p /etc/vsftpd/virtualconf

创建存放用户密码

vi /etc/vsftpd/virtusers

同时使用db命令生成数据库文件
修改pam配置文件

db_load -T -t hash -f /etc/vsftpd/virtusers /etc/vsftpd/virtusers.db

vim /etc/pam.d/vsftpd

把文件的内容全部删掉,替换以下配置

auth required /lib/x86_64-linux-gnu/security/pam_userdb.so db=/etc/vsftpd/virtusers
account required /lib/x86_64-linux-gnu/security/pam_userdb.so db=/etc/vsftpd/virtusers

在这里插入图片描述

配置每个用户信息

切换到用户配置目录下

mkdir -p /home/ftpuser/ftp1
chown ftpuser.ftpuser /home/ftpuser
cd /etc/vsftpd/virtualconf/
vim ftp1

写入以下内容

local_root=/home/ftpuser/ftp1
write_enable=YES
anon_world_readable_only=NO
anon_upload_enable=YES
anon_mkdir_write_enable=YES
anon_other_write_enable=YES

如下(示例):
在这里插入图片描述

重启

service vsftpd restart

测试

本地测试

在这里插入图片描述
成功

  • 6
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值