Centos 7 安装ftp 并配置虚拟用户,附加不关闭seLinux 放行ftp方法和添加防火墙

  1. 查看linux 服务器是否安装vsftpd,如果返回vsftpd-3.0.2-25.el7.x86_64,证明已经安装vsftpd

rmp -aq |grep ftp

如果配置错误需要删除则执行以下命令,版本可能不一致根据实际返回结果决定

rpm -e vsftpd-3.0.2-25.el7.x86_64

扩展命令

#启动vsftpd
service vsftpd start

#停止vsftpd
service vsftpd stop

#查看状态
service vsftpd status

5ddcf9365f80f.png

表示正常运行,如果报错请查看详情日志

2.安装vsftpd,自动安装最新版本vsftpd

yum install -y vsftpd

3.安装成功之后可以先启动vsftpd,此时采用默认配置,并启用匿名访问服务,在windows 或linux 环境下连接ftp,linux 下需要安装ftp 客户端,yum install -y ftp ,主要记录windows下使用flashfxp 客户端连接,显示如下为正常使用

5ddcfa7c00962.png

4.配置文件,创建ftp本地账户,以及创建虚拟账户

#备份配置文件和密码连接文件
cd /etc/vsftpd
#备份配置文件
cp /etc/vsftpd/vsftpd.conf /etc/vsftpd.conf.bak
cp /etc/pam.d/vsftpd /etc/pam.d/vsftpd.bak

5.新建本地用户,用作虚拟用户映射管理

useradd vsftpd -d /home/vsftpd -s /sbin/nogloin
#参数解析
#-d 配置用户主目录

#-s /sbin/nologin 设置用户不能用做登录使用

创建用户主目录,没有自动创建时手动创建并配置权限

mkdir -p /home/vsftpd
chown -R vsftpd:vsftpd /home/vsftpd

创建虚拟用户#在文件中配置用户名和密码,单行为用户名:双行为密码   

cd /etc/vsftpd
vim loginuser.conf

loginuser.conf 文件 

5ddcfe5a0ebbf.png

#生成密码数据库

db_load -T -t hash -f loginuser.conf loginuser.db
chmod 600 loginuser.db

5ddcfef03d0d1.png

编辑pam认证文件,注释或删除原有内容增加西面 vim /etc/pam.d/vsftpd

auth    sufficient    /lib64/security/pam_userdb.so db=/etc/vsftpd/loginuser
account sufficient    /lib64/security/pam_userdb.so db=/etc/vsftpd/loginuser

5ddd01eef24b0.png

创建虚拟用户配置文件

cd /etc/vsftpd && mkdir -p userconf && cd userconf
vim yvhsse
#添加如下配置
local_root=/home/vsftpd/yvhsse
write_enable=YES
anon_world_readable_only=YES
anon_upload_enable=YES
anon_mkdir_write_enable=YES
anon_other_write_enable=YES

5ddd05798a25e.png

修改主配置文件

cd /etc/vsftpd
vim vsftpd.conf
#修改如如下配置
anonymous_enable=NO
guest_enable=YES
guest_username=vsftpd
user_config_dir=/etc/vsftpd/userconf
allow_writeable_chroot=YES


保存重置vsftpd 服务

service vsftpd start

评论