vsftp虚拟用户配置

一、安装

[root@localhost ~]# yum -y install vsftpd
 
 
 
二、配置用户和口令文本文件(用于生成系统可实别的口令库文件,建议保留,权限600)
[root@localhost ~]# cd /etc/vsftpd/
[root@localhost vsftpd]# vim vftpuser.txt
aaa
1
bbb
1
 
 
 
三、生成口令库文件
[root@localhost vsftpd]# db_load -T -t hash -f /etc/vsftpd/vftpuser.txt /etc/vsftpd/vftpuser.db
//修改权限为600,保留txt文件,将来添加用户重新生成口令库文件时使用。
[root@localhost vsftpd]# chmod 600 vftpuser.*
 
 
 
四、修改vsftp的PAM认证文件
vsftpd.conf中有这样一行参数:pam_service_name=vsftpd其中vsftpd这个文件路径为:/etc/pam.d/vsftpd,我们就是要修改此文件,让此文件读取上面的的口令库文件"vftpuser.db"。
注释所有行,添加以下两行:
auth required /lib64/security/pam_userdb.so db=/etc/vsftpd/vftpuser
account required /lib64/security/pam_userdb.so db=/etc/vsftpd/vftpuser
注:32位的系统路径为/lib/security/pam_userdb.so,非/lib64/security/pam_userdb.so
 
 
 
五、建立所有虚拟用户对应的系统用户(不需要密码)
[root@localhost vsftpd]# useradd -s /sbin/nologin vftp
 
 
 
六、修改vsftpd主配置文件 vsftpd.conf
 
修改部分:
anonymous_enable=NO #可选
xferlog_file=/var/log/xferlog #开启日志#
userlist_enable=NO #用不着了
添加部分:
use_localtime=YES
guest_enable=YES #开启虚拟用户
guest_username=vftpuser #FTP虚拟用户对应的系统用户
user_config_dir=/etc/vsftpd/user_conf #每个虚拟用户单独配置权限和家目录
 
 
 
七、创建虚拟用户配置目录、并配置各用户的权限及家目录
[root@localhost vsftpd]# mkdir -m 700 /etc/vsftpd/user_conf
[root@localhost vsftpd]# touch /etc/vsftpd/user_conf/aaa
[root@localhost vsftpd]# touch /etc/vsftpd/user_conf/bbb
[root@localhost vsftpd]# chmod 600 /etc/vsftpd/user_conf/*
 
 
========================================================================
aaa用户配置(所有权限):
[root@localhost vsftpd]# vim /etc/vsftpd/user_conf/aaa 
anon_world_readable_only=NO
anon_upload_enable=YES
anon_mkdir_write_enable=YES
anon_other_write_enable=YES
local_root=/tmp/aaa
 
 
bbb用户只有下载权限:
[root@localhost vsftpd]# vim /etc/vsftpd/user_conf/bbb
anon_world_readable_only=NO
local_root=/tmp/bbb
 
 
---------------------------------------------------------
注:
anon_world_readable_only=NO #如果想让此用户只能下载,则此参数配置为NO
anon_upload_enable=YES #上传文件的权限
anon_mkdir_write_enable=YES #创建目录的权限
anon_other_write_enable=YES #重命名和删除文档的权限
local_root=/tmp/aaa #不使用默认家目录/home/vftp使用自定义的家目录/tmp/aaa
 
----------------------------------------------------------
========================================================================
 
分别创建家目录
[root@localhost vsftpd]# mkdir -m 700 /tmp/{aaa,bbb}
[root@localhost vsftpd]# chown vftp.vftp /tmp/{aaa,bbb}
[root@localhost vsftpd]# ll /tmp/
total 12
drwx------. 2 vftp vftp 4096 Mar 30 17:01 aaa
drwx------. 2 vftp vftp 4096 Mar 30 17:01 bbb
 
 
 
八、启动vsftpd服务,测试:
默认所有的用户已经被限制在家目录中
如果操作权限,只对vftp用户修改仅限即可
以下参数可以配置在vsftpd.conf影响全局,单独配置文件优先使用。
anon_world_readable_only=NO
anon_upload_enable=YES
anon_mkdir_write_enable=YES
anon_other_write_enable=YES
修改权限,不需要重启服务
 
 
 
九、添加新用户ccc,所有权限,使用默认家目录/home/vftp
 
在原来保留的文本文件中添加新用户及密码
[root@localhost vsftpd]# vim vftpuser.txt 
aaa
1
bbb
1
ccc
1
重新生成口令库文件
[root@localhost vsftpd]# db_load -T -t hash -f /etc/vsftpd/vftpuser.txt /etc/vsftpd/vftpuser.db
 
配置单独权限文件:
[root@localhost vsftpd]# vim /etc/vsftpd/user_conf/ccc
anon_world_readable_only=NO
anon_upload_enable=YES
anon_mkdir_write_enable=YES
anon_other_write_enable=YES
 
无需重启服务,直接测试。
 
(OK)
 

你可能感兴趣的:(vsftp虚拟用户配置)