vsftpd虚拟用户的配置

sftp(Very SecureFTP)是一种在Unix/Linux中非常安全且快速稳定的FTP服务器,目前已经被许多大型站点所采用,如ftp.redhat.com,ftp.kde.org,ftp.gnome.org.等。Vsftpd的实现有三种方式

1、匿名用户形式:在默认安装的情况下,系统只提供匿名用户访问

2、本地用户形式:以/etc/passwd中的用户名为认证方式

3、虚拟用户形式:支持将用户名和口令保存在数据库文件或数据库服务器中。相对于FTP的本地用户形式来说,虚拟用户只是FTP服务器的专有用户,虚拟用户只能访问FTP服务器所提供的资源,这大大增强系统本身的安全性。相对于匿名用户而言,虚拟用户需要用户名和密码才能获取FTP服务器中的文件,增加了对用户和下载的可管理性。对于需要提供下载服务,但又不希望所有人都可以匿名下载;既需要对下载用户进行管理,又考虑到主机安全和管理方便的FTP站点来说,虚拟用户是一种极好的解决方案。



安装:yum -y installvsftpd db4-utils*


vsftpd虚拟用户的配置

womaiadmin  读写删除(上传、下载、删除)

womairw   读写(上传、下载、不能删除)

womairo       读(只能下载)


一、创建虚拟用户数据库

1、创建文件loginuser.txt

#vim/etc/vsftpd/loginuser.txt

womaiadmin

womaiadmin

womairw

womairw

womairo

womairo


2、生成数据库文件:

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

#chmod 600/etc/vsftpd/vsftpd_login.db


3、配置pam文件(64bit改/lib64)(32位就是/lib)

#vim/etc/pam.d/vsftpd.vu

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

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



二、为虚拟用户创建本地系统用户

#useradd vsftp -d/data/ftpdir -s /bin/false

#chown vsftp.vsftp/data/ftpdir

#mv /etc/vsftpd/vsftpd.conf/etc/vsftpd/vsftp.conf.bak


#vim  /etc/vsftpd/vsftpd.conf   配置主服务

anonymous_enable=NO

local_enable=YES

dirmessage_enable=YES

xferlog_enable=YES

xferlog_file=/var/log/vsftpd.log

connect_from_port_20=YES

xferlog_std_format=YES

listen=YES

listen_port=21

userlist_enable=YES

chroot_local_user=YES

tcp_wrappers=YES

guest_enable=YES

guest_username=vsftp

pam_service_name=vsftpd.vu

user_config_dir=/etc/vsftpd/vsftpd_user_conf

virtual_use_local_privs=YES

pasv_min_port=50000

pasv_max_port=60000

pasv_enable=yes

max_clients=200

max_per_ip=10

idle_session_timeout=600


#mkdir/etc/vsftpd/vsftpd_user_conf  创建虚拟用户配置目录


#vim/etc/vsftpd/vsftpd_user_conf/womaiadmin  创建womaiadmin用户配置文件

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/ftpdir


#vim/etc/vsftpd/vsftpd_user_conf/womairw  创建womairw用户配置文件

write_enable=YES

cmds_allowed=ABOR,CWD,LIST,MDTM,MKD,NLST,PASS,PASV,PORT,PWD,QUIT,RETR,RNFR,RNTO,SIZE,STOR,TYPE,USER,REST,CDUP,HELP,MODE,NOOP,REIN,STAT,STOU,STRU,SYST,FEAT

local_umask=022

local_root=/data/ftpdir


#vim/etc/vsftpd/vsftpd_user_conf/womairo  创建womairo用户配置文件

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/ftpdir


三、测试虚拟用户


分别登陆ftpadmin ftpuser ftp  pwd:123456尝试mkdir delete put get等权限

#ftp -n 192.168.2.200

Connected to192.168.2.200 (192.168.2.200).

220 Welcome to  FTP service

ftp> use ftpuser

331 Please specifythe password.

Password:

230 Loginsuccessful.


你可能感兴趣的:(ftp,vsftpd,虚拟用户)