概述:所谓虚拟用户,就是指客户端登录时所使用的FTP用户名和密码在系统里并不真实存在;实际上每个虚拟用户是通过一个真实的本地用户来登录FTP服务器的。这样做可以有效的控制服务器的安全,因为用户并不真实存在,所以该用户不能远程登录,也不能从物理上登录该系统,从而达到了保护服务器的目的。
软件来源:http://vsftpd.beasts.org
软件版本:vsftpd-
操作系统:RedHat
1.vsftpd软件的安装
# tar –zxvf vsftpd-
# cd vsftpd-
# make && make install //编译并安装
# cp vsftpd.conf /etc/ //拷贝主配置文件到/etc目录下
# chkconfig vsftpd off //关闭进程守护模式
2.添加一个本地用户,并且禁止其SSH方式登录
# useradd -s /sbin/nologin wjc
3.编辑vsftpd主配置文件
# vi /etc/vsftpd/vsftpd.conf
local_enable=YES //打开本地用户
local_umask=022 //本地用户创建文件夹和上传文件的权限,实际值=777-umask
connect_from_port_20=YES //连接端口为20
max_per_ip=4 //每个IP最多连接4个客户端
max_clients=200 //FTP最多支持200个用户
listen=YES //打开监听模式,否则需要用守护模式启动服务
guest_enable=YES //开启虚拟用户访问功能
guest_username=wjc //虚拟用户实际用wjc用户来登录
pam_service_name=ftp.vu //密码验证方式
user_config_dir=/etc/vsftpd_user_conf //虚拟用户的配置文件所在的目录
注:,因为主配置文件是被先读的,然后再读用户的配置文件。所以
在主配置文件中给的权限越低,在后面用户管理的时候对用户的权限划分的空间就越大
4.编辑验证方式文件
# vi /etc/pam.d/ftp.vu
auth required /lib/security/pam_userdb.so db=/etc/vsftpd_login
account required /lib/security/pam_userdb.so db=/etc/vsftpd_login
5.编辑虚拟用户和密码
# vi /tmp/login.txt
test1 //用户名
test1 //密码
test2
test2
