vsftpd虚拟用户

来源:互联网 发布:python赋值 编辑:程序博客网 时间:2024/05/19 20:56

Vsftp 虚拟用户

1.安装ftp

# yum install vsftpd db4-utils -y

 

2.建立虚拟用户口令库文件

# vim /etc/vsftpd/user.txt   //创建密码(明文)文件,奇数行为用户名,偶数行为密码

user_ftp

user_ftp

 

 

# db_load -T -t hash -f /etc/vsftpd/user.txt /etc/vsftpd/user.db //生成vsftpd的认证文件

PS:如果没有db_load命令则要装 db4-utils 包 # yum install db4-utils -y

 

*****# chmod 600 /etc/vsftpd/user.db      //视实际情况而定

 

3.建立虚拟用户所需的PAM配置文件

#cp /etc/pam.d/vsftpd /etc/pam.d/vsftpd.bak    //备份下

#vim /etc/pam.d/vsftpd

//注释掉vsftpd里的内容 添加如下:

 

auth required /lib64/security/pam_userdb.so db=/etc/vsftpd/user

account required /lib64/security/pam_userdb.so db=/etc/vsftpd/user

 

PS : 我这是64为centos,根据自己情况来添加pam_userdb.so路径

PS:手动编写(/lib64/security不加也好使)

 

4.配置vsftpd.conf(设置虚拟用户配置项)

#cp /etc/vsftpd/vsftpd.conf /etc/vsftpd/vsftpd.conf.bak

#vim /etc/vsftpd/vsftpd.conf   //配置文件每行结尾不能有空格,否则启动失败

 

anonymous_enable=NO

local_enable=YES

write_enable=YES

local_umask=022

dirmessage_enable=YES

listen=YES

connect_from_port_20=YES

pasv_enable=YES

pasv_min_port=50000

pasv_max_port=50100

 

xferlog_enable=YES

xferlog_std_format=NO

xferlog_file=/var/log/vsftpd.log

 

pam_service_name=vsftpd

userlist_enable=YES

chroot_list_enable=YES

 

guest_enable=YES

//(开启虚拟用户)

guest_username=www

//(FTP虚拟用户对应的系统用户www是数组名,自己随意创建

user_config_dir=/etc/vsftpd/user_conf

//PAM认证文件

 

ftpd_banner=Welcome to blah FTP service

tcp_wrappers=YES

 

reverse_lookup_enable=NO

 

# useradd -s /sbin/nologin www

#echo www >>/etc/vsftpd/chroot_list   //把数组添加到白名单里面

 

创建虚拟用户配置文件

#mkdir /etc/vsftpd/user_conf/

#vim /etc/vsftpd/user_conf/user_ftp      //创建虚拟用户配置文件,文件名为虚拟用户名,user_ftp

local_root=/data/ftp/user_ftp //虚拟用户的根目录,这里内容结尾不能有空格

write_enable=YES
anonymous_enable=NO
anon_world_readable_only=NO
anon_upload_enable=YES
anon_mkdir_write_enable=YES
anon_other_write_enable=YES
local_umask=022
download_enable=Yes

 

#mkdir -pv /data/ftp/user_ftp          //创建虚拟用户的根目录

#chown www.www /data/ftp/user_ftp

#/etc/init.d/vsftpd restart

 

 

#iptables -A INPUT -p tcp --dport 20 -j ACCEPT
#iptables -A INPUT -p tcp --dport 21 -j ACCEPT
#iptables -A INPUT -p tcp --dport 50000:50100 -j ACCEPT
ps:这里的50000到50100是ftp的随机端口,在配置文件里设置上限下限,然后在防火墙里开启这段端口即可,否则会造成访问ftp的各种问题

或者

# vim /etc/sysconfig/iptables 添加如下

-I INPUT -p tcp --dport 20 -j ACCEPT
-I INPUT -p tcp --dport 21 -j ACCEPT
-I INPUT -p tcp --dport 50000:50100 -j ACCEPT

# /etc/init.d/iptables restart


增加虚拟用户

# vim /etc/vsftpd/user.txt

user_ftp

user_ftp

user_ftp1

user_ftp1

 

# db_load -T -t hash -f /etc/vsftpd/user.txt /etc/vsftpd/user.db

# cd /etc/vsftpd/user_conf/

# vim user_ftp1

 

local_root=/data/user_ftp1 //虚拟用户的根目录,这里内容结尾不能有空格

write_enable=YES
anonymous_enable=NO
anon_world_readable_only=NO
anon_upload_enable=YES
anon_mkdir_write_enable=YES
anon_other_write_enable=YES
local_umask=022
download_enable=Yes

 

 

#mkdir /data/user_ftp1          //创建虚拟用户的根目录

#chown www.www /data/user_ftp1

# /etc/init.d/vsftpd reload



虚拟用户权限
1.所有权限
write_enable=YES
anonymous_enable=NO
anon_world_readable_only=NO
anon_upload_enable=YES
anon_mkdir_write_enable=YES
anon_other_write_enable=YES
local_umask=022
download_enable=Yes
local_root=/data/user1


2.上传权限
write_enable=YES
anon_world_readable_only=NO
anon_upload_enable=YES
anon_mkdir_write_enable=YES
anon_other_write_enable=YES
local_umask=022
download_enable=NO
local_root=/data/user2


3.下载权限
write_enable=NO
anon_world_readable_only=NO
anon_upload_enable=NO
anon_mkdir_write_enable=NO
anon_other_write_enable=NO
local_umask=022
download_enable=yes
local_root=/data/user3


虚拟用户高级设置   
1、virtual_use_local_privs参数  
当virtual_use_local_privs=YES时,虚拟用户和本地用户有相同的权限  
当virtual_use_local_privs=NO时,虚拟用户和匿名用户有相同的权限,默认是NO。  
当virtual_use_local_privs=YES,write_enable=YES时,虚拟用户具有写权限(上传 下载 删除 重命名)  
当virtual_use_local_privs=NO,write_enable=YES,anon_world_readable_only=YES  anon_upload_enable=YES时,虚拟用户不能浏览目录,只能上传文件,无其他权限。  
当virtual_use_local_privs=NO,write_enable=YES,anon_world_readable_only=NO  anon_upload_enable=NO时,虚拟用户只能下载文件,无其他权限  
当virtual_use_local_privs=NO,write_enable=YES,anon_world_readable_only=NO  anon_upload_enable=YES时,虚拟用户只能上传和下载文件,无其他权限  
当virtual_use_local_privs=NO,write_enable=YES,anon_world_readable_only=NO  anon_mkdir_write_enable=YES时,虚拟用户只能下载文件和创建文件夹,无其他权限  
当virtual_use_local_privs=NO,write_enable=YES,anon_world_readable_only=NO  anon_other_write_enable=YES时,虚拟用户只能下载、删除和重命名文件,无其他权


只能删,不能传
virtual_use_local_privs=NO
write_enable=YES
anon_world_readable_only=NO
anon_other_write_enable=YES
local_umask=022
download_enable=Yes
local_root=/data/user4

0 0