千家信息网

Centos 7安装配置 vsftp服务(虚拟用户登录)

发表于:2024-11-20 作者:千家信息网编辑
千家信息网最后更新 2024年11月20日,1.vim /etc/selinux/config该配置文件为SELINUX=disable2.关闭防火墙setenforce 03.yum -y install vsftpd4.cp /etc/vs
千家信息网最后更新 2024年11月20日Centos 7安装配置 vsftp服务(虚拟用户登录)

1.vim /etc/selinux/config
该配置文件为SELINUX=disable
2.关闭防火墙setenforce 0
3.yum -y install vsftpd
4.cp /etc/vsftpd/vsftpd.conf{,.bak}
备份vsftpd主配置文件
5.vim /etc/vsftpd/vir_user
创建虚拟用户
如:yuxin
4343
6.生成虚拟用户数据库
yum -y install libdb-utils
db_load -T -t hash -f /etc/vsftpd/vir_user /etc/vsftpd/vir_user.db
chmod 700 /etc/vsftpd/vir_user.db

  1. 配置vsftpd pam验证文件:
    修前先备份文件
    cp /etc/pam.d/vsftpd{,.bak}
    8.将auth及account的所有配置行均注释掉,添加如下两行{全部注释掉,字符串前加#}
    vim /etc/pam.d/vsftpd

auth required pam_userdb.so db=/etc/vsftpd/vir_user
account required pam_userdb.so db=/etc/vsftpd/vir_user
9.增加一个系统用户'virftp' ,所有虚拟用户都会映射到此用户后对文件系统进行读写操作:
mkdir /ftproot
useradd -d /ftproot -s /sbin/nologin virftp
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
[有相同的字符串改一下yes或no,没有的添加]

  1. 配置虚拟用户各自的配置文件:
    创建'虚拟用户配置文件'的存放目录
    mkdir /etc/vsftpd/vsftpd_viruser/
    11.创建和配置虚拟用户各自的配置文件,文件名称是'虚拟用户名'
    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/
    12.创建虚拟用户的根目录,要保证虚拟用户映射的系统用户,对这个根目录有读写权限
    mkdir -p /ftproot/admin/
    chown -R virftp.virftp /ftproot/admin/
    13.测试配置结果:
    重启vsftpd服务
    systemctl restart vsftpd
    systemctl enable vsftpd
    14.关闭防火墙或者开启'21'端口号
    systemctl stop firewalld 或者 firewall-cmd --add-port=21/tcp
    15.利用'FlashFXP'工具连接测试[端口21]
    先在计算机上测试连接 ftp://192.168.xx
    连接成功后会有一个文件,测试创建新的文件,创建不了做以下步骤[这时候的FlashFXP工具也连接失败]
  2. vim /etc/vsftpd/vsftpd_viruser/yuxin
    改这个文件,创建的虚拟用户文件,内容为11步的内容
    17.setsebool -P allow_ftpd_full_access on
    setsebool -P ftp_home_dir on
    18.重启vsftpd
    systemctl restart vsftpd

测试用工具连接虚拟用户

  1. cd /etc/vsftpd/
    ls查看目录,编辑 vim ftpusers
    里面是用户名,都用#注释掉
    重启systemctl restart vsftpd
    并查看如root用户能否连接[不能连接就ok]
0