Vsftpd虚拟用户企业案例配置步骤如下:
一.安装Vsftpd虚拟用户需用到的软件及认证模块:
- yum install pam* libdb-utils libdb* --skip-broken -y
- yum install vsftpd -y
二.创建虚拟用户临时文件
/etc/vsftpd/ftpusers.txt,新建虚拟用户和密码,其中23jcw、58pxe为虚拟用户名,123456为密码,如果有多个用户,依次格式填写即可:
- vim /etc/vsftpd/ftpusers.txt
- 23jcw
- 123456
- 58pxe
- 123456
三.生成Vsftpd虚拟用户数据库认证文件,设置权限700:
- db_load -T -t hash -f /etc/vsftpd/ftpusers.txt /etc/vsftpd/vsftpd_login.db
- chmod 700 /etc/vsftpd/vsftpd_login.db
四.配置PAM认证文件,删除所有内容,然后添加/etc/pam.d/vsftpd行首加入如下两行:
- vim /etc/pam.d/vsftpd
- auth required /lib64/security/pam_userdb.so db=/etc/vsftpd/vsftpd_login
- account required /lib64/security/pam_userdb.so db=/etc/vsftpd/vsftpd_login
五.所有Vsftpd虚拟用户需要映射到一个系统用户,该系统用户不需要密码,也不需要登录,主要用于虚拟用户映射使用,创建命令如下:
- useradd -s /sbin/nologin -d /home ftpuser
六.完整vsftpd.conf配置文件代码如下:
- vim /etc/vsftpd/vsftpd.conf
- #global config Vsftpd 2017
- anonymous_enable=YES
- 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=NO
- listen_ipv6=YES
- userlist_enable=YES
- tcp_wrappers=YES
- #config virtual user FTP
- pam_service_name=vsftpd
- #下面这五行是没有的,需要手动添加
- allow_writeable_chroot=YES
- guest_enable=YES
- guest_username=ftpuser
- user_config_dir=/etc/vsftpd/vsftpd_user_conf
- virtual_use_local_privs=YES
如上Vsftpd虚拟用户配置文件参数详解:
- #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 虚拟用户使用与本地用户相同的权限。
七.至此,所有虚拟用户共同基于/home/ftpuser主目录实现文件上传与下载,可以在/etc/vsftpd/vsftpd_user_conf目录创建虚拟用户各自的配置文件,创建虚拟用户配置文件主目录:
- mkdir -p /etc/vsftpd/vsftpd_user_conf/
八.如下分别为虚拟用户23jcw、58pxe用户创建配置文件:
vim /etc/vsftpd/vsftpd_user_conf/23jcw 同时创建私有的虚拟目录,代码如下:
- local_root=/home/23jcw.net
- #anon_umask=0
- #file_open_mode=0777
- write_enable=YES
- anon_world_readable_only=YES
- anon_upload_enable=YES
- anon_mkdir_write_enable=YES
- anon_other_write_enable=YES
vim /etc/vsftpd/vsftpd_user_conf/58pxe,同时创建私有的虚拟目录,代码如下:
- local_root=/home/www.58pxe.com
- #anon_umask=0
- #file_open_mode=0777
- write_enable=YES
- anon_world_readable_only=YES
- anon_upload_enable=YES
- anon_mkdir_write_enable=YES
- anon_other_write_enable=YES
虚拟用户配置文件内容详解:
- local_root=/home/ftpuser/jfedu002 jfedu002虚拟用户配置文件路径;
- #anon_umask=0
- #file_open_mode=0777
- write_enable=YES 允许登陆用户有写权限;
- anon_world_readable_only=YES 允许匿名用户下载,然后读取文件;
- anon_upload_enable=YES 允许匿名用户上传文件,只有在write_enable=YES时该参数才生效;
- anon_mkdir_write_enable=YES 允许匿名用户创建目录,只有在write_enable=YES时该参数才生效;
- anon_other_write_enable=YES 允许匿名用户其他权限,例如删除、重命名等。
九.创建虚拟用户各自虚拟目录:
- mkdir -p /home/{23jcw.net,www.58pxe.com}
- chown -R ftpuser:ftpuser /home/
重启Vsftpd服务,通过Windows客户端资源管理器登录Vsftpd服务端
##将ftp加入防火墙的允许名单
- firewall-cmd --permanent --add-service=ftp
用户目录控制:
如果想禁止本地用户登出自己的FTP主目录,可以设置
- chroot_local_user=YES (锁定本服务器上全有的FTP用户目录)
更多相关文章
版权声明:文章图片资源来源于网络,如有侵权,请留言删除!!!
评论