Centos7平台下基于vsftpd的ftp服务器搭建

最近想在centos平台做一个ftp服务器保存上传的语音文件,使用系统yum源自带的vsftpd软件搭建。vsftpd的最大特(难)点是权限控制严格,配置起来也是很多坑,一不小心就报530、500错误,相比FileZilla难的不只一点。操作系统是centos7.9 , vsftpd3.0.2。网上很多资料由于版本更新已经不能用。查询和操作很久后,总算整出了一个可用的ftp服务器,该服务器可以对不同的用户进入不同的目录。下面进行介绍:

1.vsftpd的安装和启动

centos下软件安装使用yum命令

yum install vsftpd

安装完成,启动vsftpd

systemctl start vsftpd.service

直接关闭防火墙 

systemctl stop firewalld.service

此时可以用FileZilla Client尝试登陆ftp服务器,用户名anonymous,密码不填。根目录下能看到一个pub文件夹,说明服务已经运行成功。

2.vsftpd的配置的添加用户

vsftpd的难点就是配置,尤其要实现文件自由上传。

出于安全性考虑,应该屏蔽anonymous用户(配置anonymous的上传很久都没有成功,我选择放弃)。

打开/etc/vsftp/vsftpd.conf文件,做出如下修改(取消注释)就能屏蔽anonymous用户。

anonymous_enable=NO

vsftpd的用户添加和centos新用户添加方法一致(每个centos用户都对应一个ftp用户)。执行以下代码,新建了一个ftpdemo用户,并且新建/home/ftpdemo/ftp文件夹作为ftp服务端专用文件夹,并且开放读写权限。

useradd -m ftpdemo #添加用户,一定要加上-m参数
passwd ftpdemo #设置密码
mkdir -p /home/ftpdemo/ftp
chmod 777 /home/ftpdemo/ftp

下面重点来了,要在/etc/vsftp/vsftpd.conf添加以下内容,使得每个用户登陆ftp都到自己独立的目录(互相不可见)。这几行配置保证用户ftpdemo登陆时,直接访问/home/ftpdemo/ftp文件夹(作为根目录),并且可以进行上传文件。

chroot_local_user=YES
chroot_list_enable=NO
user_sub_token=$USER
local_root=/home/$USER/ftp
allow_writeable_chroot=YES

最后重启vsftpd服务即可,执行以下代码

systemctl restart vsftpd.service

至此,就能够利用ftp客户端(例如FileZilla Client)登陆搭建的ftp服务器,并且访问自己的独立文件,不互相影响。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值