centos7搭建vsftpd-配置文件全解

centos7搭建vsftpd

参考:https://blog.csdn.net/aerchi/article/details/78042443

参考:https://blog.csdn.net/will0532/article/details/79175478

参考:https://blog.csdn.net/m47838704/article/details/51636379

原则:

要想安全地配置vsftpd意味着着需要考虑以下这几点:

关闭匿名访问功能、开启chroot以防止用户可以遍历系统文件、开启被动模式以便NAT环境用户访问、启用TSL加密以防止明文泄露、启用系统内置账户验证登录(该账户须限制不能登录)、改变默认的21端口以防止黑客扫描(当然也可以使用21端口)。

安装vsftpd

查询是否系统已经自带了vsftpd :rpm -qa | grep vsftpd

安装命令(安装的最新版本):

yum install -y vsftpd

启动服务:

systemctl start vsftpd

开机自启:

systemctl enable vsftpd

检查vsftpd是否开启:ps -e|grep vsftpd 或者 查看21端口是否被监听,netstat -an | grep 21

可以使用netstat -ntpl | grep vsftpd命令查看到系统现在监听的vsftpd的端口为 21

4.开启防火墙

放开21端口:firewall-cmd --zone=public --add-port=21/tcp --permanent(被动模式下还应该开启自定义的端口)

永久开放 ftp 服務:firewall-cmd --add-service=ftp --permanent (关闭ftp服务:firewall-cmd --remove-service=ftp --permanent)

在不改变状态的条件下重新加载防火墙:firewall-cmd --reload

FTP 用户认证

FTP 的用户一共有三种类型

  • 匿名用户:ftp,anonymous,对应Linux用户ftp
  • 系统用户:Linux用户,用户/etc/passwd,密码/etc/shadow
  • 虚拟用户:特定服务的专用用户,独立的用户名/密码文件

VSFTPD服务

  • vsftpd 服务,由vsftpd包提供,直接使用yum安装就可以。
  • 用户认证配置文件:/etc/pam.d/vsftpd
  • 服务脚本: /usr/lib/systemd/system/vsftpd.service,/etc/rc.d/init.d/vsftp
  • 配置文件:/etc/vsftpd/vsftpd.conf
  • 匿名用户(映射为系统用户ftp )共享文件位置:/var/ftp
  • 系统用户共享文件位置:用户家目录
  • 虚拟用户共享文件位置:为其映射的系统用户的家目录

创建登录用户及主目录

  1. 创建vsftpd的登录用户和主目录 [用于映射虚拟用户]
    sudo useradd -d /home/vsftpd/myftp -s /sbin/nologin myftp(myftp是ftp的登录用户,替换成你自己的用户!)
  2. 修改相应的密码             passwd myftp
  3. 更改所有者及用户组              chown myftp.myftp /home//vsftpd/myftp
  4. 赋予权限:                     chmod 755 /home/vsftpd/myftp

创建虚拟用户及设置

    1.建虚拟用户主目录,比如虚拟用户叫ftp1,执行下面的命令。

mkdir -p /home/vsftpd/ftp1mkdir -p /home/vsftpd/ftp2
    2.创建虚拟用户
vi /etc/vsftpd/vsftpdusers.txt
用户1
用户1密码
用户2
用户2密码
......
    就创建了用户1这个虚拟用户,密码为用户1密码

    3.根据这个文件创建数据库文件并赋予安全权限(此处报错就安装一下db4:   yum -y install db4)

db_load -T -t hash -f /etc/vsftpd/vsftpdusers.txt /etc/vsftpd/vsftpdusers.db
chmod 600 /etc/vsftpd/vsftpdusers.db

    4.启用这个数据库文件(这一步就是创建的虚拟用户认证文件,配置文件中要用)

vim /etc/pam.d/vsftpd
        vim /etc/pam.d/vsftpd

        把原来的account和auth注释掉,替换为下面:

auth   required    /lib64/security/pam_userdb.so db=/etc/vsftpd/vsftpdusers
account required /lib64/security/pam_userdb.so db=/etc/vsftpd/vsftpdusers
    5.虚拟用户[权限]配置文件(此目录为虚拟用户的权限配置目录,在配置文件中要引用)
mkdir /etc/vsftpd/usersconf

        这里的文件名称必须与虚拟用户名一致,比如在txt文件中写的第一个用户名是ftp1,那么就写成下面,若不是,替换成你自己的,第二个用户名是ftp2,那么就写成下面,若不是,替换成你自己的

vi /etc/vsftpd/usersconf/ftp1

        增加下面的内容:设定主目录为/home/vsftpd/ftp1

[有所有权限]
local_root=/home/vsftpd/ftp1/#设置登录后禁锢的目录
anon_world_readable_only=no #开放下载权限
anon_upload_enable=yes #开放上传权限
anon_mkdir_write_enable=yes #开放创建目录的权限
anon_other_write_enable=yes #开放删除和重命名的权限

vi /etc/vsftpd/usersconf/ftp2

        增加下面的内容:设定主目录为/home/vsftpd/ftp2

[只有上传下载的权限]
local_root
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值