CentOS安装vsftp配置虚拟用户总结

一、实验环境:
        操作系统: CentOS Linux release 7.2.1511 (Core)

        CPU构架:x86_64 

        Vsftpd版本:vsftpd-3.0.2-22.el7

  二、安装准备:
 关闭SELINUX:

    SELINUX为Linux提供安全强化同时,也让Linux服务安装变得更复杂。未正确的为相关服务配置SELINUX,将导致服务无法正常运行。所以对于初学者来说,建议关闭SELINUX。

永久关闭(需要重启):
1:vim /etc/selinux/config
2:SELINUX=disable
临时关闭:
[root@node4 ~]#setenforce 0
  三、安装vsftpd服务:
 使用安装yum安装vsftpd:
yum -y install vsftpd
备份vsftpd主配置文件:
cp /etc/vsftpd/vsftpd.conf{,.bak}
  四、配置虚拟用户访问的vsftpd服务:
创建虚拟用户密码文件,奇数行为用户名,偶数行为密码:
vim /etc/vsftpd/vir_user
user1
password1
生成虚拟用户数据库:
1:yum -y install libdb-utils
2:db_load -T -t hash -f /etc/vsftpd/vir_user  /etc/vsftpd/vir_user.db
3:chmod 700 /etc/vsftpd/vir_user.db
配置vsftpd pam验证文件:

修改前先备份文件
cp /etc/pam.d/vsftpd{,.bak}
将auth及account的所有配置行均注释掉,添加如下两行
vim /etc/pam.d/vsftpd
1:auth                 required     pam_userdb.so   db=/etc/vsftpd/vir_user 
2:account              required     pam_userdb.so   db=/etc/vsftpd/vir_user
增加一个系统用户‘virftp’ ,所有虚拟用户都会映射到此用户后对文件系统进行读写操作:
1:mkdir /ftproot
2:useradd -d /ftproot -s /sbin/nologin virftp
3:chown -R virftp:virftp /ftproot
设置vsftpd主配置文件:
vim /etc/vsftpd/vsftpd.conf
#禁止匿名用户登录
anonymous_enable=NO
#允许本地用户登录
local_enable=YES
#启用虚拟账户 
guest_enable=YES
#把虚拟账户映射到系统账户virftp               
guest_username=virftp
#使用虚拟用户验证(PAM验证)
pam_service_name=vsftpd
#设置存放各虚拟用户配置文件的目录(此目录下与虚拟用户名相同的文件为他的配置文件)
user_config_dir=/etc/vsftpd/vsftpd_viruser
#启用chroot时,虚拟用户根目录允许写入
allow_writeable_chroot=YES
4.6 配置虚拟用户各自的配置文件:

创建‘虚拟用户配置文件’的存放目录

mkdir /etc/vsftpd/vsftpd_viruser/
创建和配置虚拟用户各自的配置文件,文件名称是‘虚拟用户名’

vim /etc/vsftpd/vsftpd_viruser/user1
# 允许写入
write_enable=YES
#允许浏览FTP目录和下载
anon_world_readable_only=NO
# 允许虚拟用户上传文件
anon_upload_enable=YES
# 允许虚拟用户创建目录
anon_mkdir_write_enable=YES
# 允许虚拟用户执行其他操作(如改名、删除)
anon_other_write_enable=YES
# 上传文件的掩码,如022时,上传目录权限为755,文件权限为644
anon_umask=022
# 指定虚拟用户的虚拟目录(虚拟用户登录后的主目录)
local_root=/ftproot/admin/
创建虚拟用户的根目录,要保证虚拟用户映射的系统用户,对这个根目录有读写权限

mkdir -p /ftproot/admin/
chown -R virftp.virftp /ftproot/admin/
  五、测试配置结果:
 重启vsftpd服务
systemctl restart vsftpd
systemctl enable vsftpd
关闭防火墙或者开启‘21’端口号
systemctl stop firewalld
或者
firewall-cmd --add-port=21/tcp
六、各配置文件说明:
/etc/vsftpd/vsftpd.conf                             :vsftpd的主配置文件
/etc/vsftpd/vir_user                                   :虚拟用户的账号密码文件  
/etc/vsftpd/vsftpd_viruser/user1            :虚拟用户‘user1’的配置文件
/etc/pam.d/vsftpd                                     :启用虚拟用户验证功能的配置文件
七、注释掉其他用户
vim /etc/vsftpd/ftpusers

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值