1,建立虚拟用户口令库文件
建立口令文件(名字随便) 奇数是用户 偶数是密码
例:vi login.txt
mike
pwabcd
john
pw1234
2,生成vsftpd的认证文件
使用db_load命令生成认证文件
例:db_load -T -t hash -f login.txt
/etc/vsftpd/login.db(注意后缀一定要用.db表示他是一个数据库
文件)
设置认证文件只对用户可写可读
例:chmod 600 /etc/vsftpd/login.db
3,建立虚拟用户所需的pam配置文件
手工建立vsftpd.vu文件
例:vi /etc/pam.d/vsftpd.vu(vu表示虚拟用户的意思)
文件内容如下:
auth required /lib/security/pam_userdb.so (so表示调用的共享模块)
db=/etc/vsftpd/login(.db要去掉) (自动生成认证文件)
account required /lib/security/pam_uesrdb.so
db=/etc/vsftpd/login(.db要去掉) (以认证文件为标准验证
帐号)
4,建立虚拟用户所要访问的目录并设置相应权限
即:建立所以ftp虚拟用户帐号使用的系统用户帐号的映射文件并设置该帐号
宿主目录的权限
例:useradd -d /home/ftpsite(名字随便起如ftpuser也行) virtual
chmod 700 /home/ftpsite/
注意不能给虚拟用户设密码 他只起映射作用
5,设置vsftpd.conf配 置文件
在配置文件中添加虚拟用户的配置内容
guest_enable=YES
guest_username=virtual
pam_service_name=vsftpd.vu
设置OK重启vsftpd服务进行验证
service vsftpd restart
补充内容
默认的虚拟用户权限很小 可以通过为每个虚拟用户建立独立的配置文件增加其
的权限
1,设置主配置文件
在vsftpd.conf 文件中添加用户配置文件目录的设置
user_config_dir=/etc/user_conf
2,建立用户配置文件的目录 (目录下包括用户配置的文件)
mkdir /etc/user_conf (目录的名字和vsftpd.conf配置中添加的目录
名字要一样)
3,在 /etc/user_conf下建立相应的虚拟用户的配置文件 文件内容如下
例如:vi wangwu(用户名)
anon_world_readable_only=NO(表示可以下载和浏览目录)
anon_upload_enable=YES (表示可以上传)
anon_mkdir_write_enable=YES(表示可以创建目录)
anon_other_write_eaable=YES(表示可以有其他的写权限例如修改和删
除文件)
vi zhaoliu(用户名)
anon_world_readable_only=NO(表示可以下载和浏览目录)
anon_upload_enable=YES (表示可以上传)
anon_mkdir_write_enable=YES(表示可以创建目录)
anon_other_write_eaable=YES(表示可以有其他的写权限例如修改和删
除文件)
这样不同的用户就可以设置不同的权限了。
vsftpd.conf的其他内容
限制客户端的最大数量
max_clients=数量
针对相同ip开启的最多线程
max_per_ip=数量
限制本地用户下载的最大速度单位为bytes/s(值为0时表示不限制)
local_max_rate=数量
限制匿名用户下载的最大速度
anon_max_rate=数量