vsftpd基于系统用户访问ftp服务器,系统用户越多越不利于管理,不利于系统安全,这样就以vsftp虚拟防护的方式来解决。
虚拟用户没有实际的真实系统用户,,而是通过映射到其中一个真实用户以及设置相应权限来访问验证,虚拟用户不能登陆系统。
1.安装虚拟用户需要用到的软件以及认证模块
[root@www ~]# yum install pam* libd-utils libdb* --skip -broken -y
2.创建虚拟用户临时文件
/etc/vsftpd/ftpusers.txtxj3123456xj4123456
3.生成虚拟用户数据库认证文件,权限为700
[root@www vsftpd]# db_load -T -t hash -f /etc/vsftpd/ftpusers.txt /etc/vsftpd/vsftpd_login.db[root@www vsftpd]# chmod 700 /etc/vsftpd/vsftpd_login.db
4.配置pam认证文件/etc/pam.d/vsftpd加入下面两行代码:
auth_required pam_userdb .so db=/etc/vsftpd/vsftpd_loginaccount_required pam_userdb.so db=/etc/vsftpd/vsftpd_login
5.vsftp虚拟用户需要映射到一个系统用户,该系统用户不需要密码,也不需要登陆,主要用于虚拟用户映射使用
useradd -s /sbin/nologin ftpuser
6.vsftpd配置
#globle config vsftpd 2018 anonymous_enable=NO local_enable=YES write_enable=YES local_umask=022 dirmessage_enable=YES xferlog_enable=YES connect_from_port_20=YES xferlog_std_format=YES listen=YES listen_ipv6=NO userlist_enable=YES tcp_wrappers=YES# config virtual user ftp pam_service_name=vsftpd 虚拟用户企业pam认证 guest_enable=YES 启用虚拟用户 guest_username=ftpuser 映射虚拟用户至系统用户ftpuser user_config_dir=/etc/vsftpd/vsftpd_user_conf虚拟用户配置文件所在的目录 virtual_use_local_privs=YES 虚拟用户使用与本地用户相同的权限
7至此,所有虚拟用户共同使用/home/ftpuser主目录实现上传下载,可以在/etc/vsftpd/vsftpd_user_conf目录创建虚拟用户各自的配置文件,创建虚拟用户配置文件主目如下:
mkdir -p /etc/vsftpd/vsftpd_user_conf/
8,为虚拟用户创建配置文件,同时创建私有的虚拟目录
vim /etc/vsftpd/vsftpd_user_conf/xj3local_root=/home/ftpuser/xj3 虚拟用户配置文件路径write_enable=YES 允许登陆用户有写权限anon_world_readable_onle=YES允许匿名用户下载,然后读取文件anon_upload_enable=YES允许匿名用户上传文件权限,只有在write_enable=yes是才生效anon_mkdir_write_enable=YES允许匿名用户创建目录,只有在write_enable=yes是才生效anon_other_write_enable=YES允许匿名用户其它权限,如删除,重命名vim /etc/vsftpd/vsftpd_user_conf/xj3local_root=/home/ftpuser/xj3write_enable=YESanon_world_readable_onle=YESanon_upload_enable=YESanon_mkdir_write_enable=YESanon_other_write_enable=YES
9创建虚拟用户各自虚拟目录
mkdir -p /home/ftpuser/{xj3,xj4};chown -R ftpuser:ftpuser /home/ftpuser
总结
以上所述是小编给大家介绍的Linux文件服务器实战详解,希望对大家有所帮助,如果大家有任何疑问欢迎给我留言,小编会及时回复大家的!
注:相关教程知识阅读请移步到服务器教程频道。