常用参数:<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" />

listen_address=192.168.0.236(指定监听IP)

ftpd_banner=this is a virtual ftp test(服务器信息欢迎信息)

anonymous_enable=yes (允许匿名登陆)

dirmessage_enable=yes (切换目录时,显示目录下.message的内容)

local_umask=022 (ftp上本地的文件权限,默认是077)

connect_form_port_20=yes (启用ftp数据端口的数据连接)

xferlog_enable=yes (激活上传和下传的日志)

xferlog_std_format=yes (使用标准的日志格式)

pam_service_name=vsftpd (验证方式)

listen=yes (独立的vsftpd服务器)

anon_upload_enable=yes (开放上传权限)

anon_mkdir_write_enable=yes (可创建目录的同时可以在此目录中上传文件)

write_enable=yes (开放本地用户写的权限)

anon_other_write_enable=yes (匿名帐号可以有删除的权限)

anon_world_readable_only=no (放开匿名用户浏览权限)

ascii_upload_enable=yes (启用上传的ascii传输方式)

ascii_download_enable=yes (启用下载的ascii传输方式)

banner_file=/var/vsftpd_banner_file (用户连接后欢迎信息使用的是此文件中的相关信息)

idle_session_timeout=600() (用户会话空闲后10分钟)

data_connection_timeout=120(秒) (将数据连接空闲2分钟断)

accept_timeout=60(秒) (将客户端空闲1分钟后断)

connect_timeout=60(秒) (中断1分钟后又重新连接)

local_max_rate=50000bite (本地用户传输率50k

anon_max_rate=30000bite (匿名用户传输率30k

pasv_min_port=50000 (将客户端的数据连接端口改在

pasv_max_port=60000 50000-60000之间)

max_clients=200 ftp的最大连接数)

max_per_ip=4 (每ip的最大连接数)

listen_port=5555 (从5555端口进行数据连接)

local_enble=yes (本地帐户能够登陆)

write_enable=no (本地帐户登陆后无权删除和修改文件)

listen_address=N.N.N.N(监听ip)

 

 

vsftp 的虚拟用户配置不同主目录

针对不同的使用者使用不同主目录,test1用户使用/home/test1test2用户使用 /home/test2
Step1.
修改/etc/vsftpd/vsftpd.conf

新增底下一行

user_config_dir=/etc/vsftpd/userconf

user_sub_token=$USER

Step2. 新增一个目录:/etc/vsftpd/userconf

mkdir /etc/vsftpd/userconf

Step3. /etc/vsftpd/userconf 之下新增一个名为test1 的档案

内容增加一行:

local_root=/home/test1
Step4.
/etc/vsftpd/userconf 之下新增一个名为test2 的档案

内容增加一行:

local_root=/home/test2

禁止下载

方法一 可以对用户操作ftp的命令进行控制。

附上相关说明:

vsftpd.conf文件:

connect_from_port_20=YES
anonymous_enable=NO
write_enable=YES
local_umask=002
listen_port=21
listen=YES
pasv_enable=YES
use_localtime=YES
connect_timeout=60
accept_timeout=60
data_connection_timeout=600
local_enable=YES
cmds_allowed=ABOR,CMD,LIST,MDTM,MKD,NLST,PASS,PASV,PORT,PWD,QUIT,SIZE,STOR,TYPE,USER
chroot_list_enable=YES
chroot_list_file=/etc/vsftpd/vsftpd.chroot.list
pam_service_name=vsftpd
xferlog_enable=YES
xferlog_file=/var/log/vsftpd.log

 

注意cmds_allowe这段

以下是这段相关命令的说明:

(要注意的是,这行里面不能换行,不能有空格)

# ABOR - abort a file transfer
取消文件传输
# CWD - change working directory
更改目录
# DELE - delete a remote file
删除文件
# LIST - list remote files
列目录
# MDTM - return the modification time of a file
返回文件的更新时间
# MKD - make a remote directory
新建文件夹
# NLST - name list of remote directory
# PASS - send password
# PASV - enter passive mode
# PORT - open a data port
打开一个传输端口
# PWD - print working directory
显示当前工作目录
# QUIT - terminate the connection
退出
# RETR - retrieve a remote file
下载文件
# RMD - remove a remote directory
# RNFR - rename from
# RNTO - rename to
# SITE - site-specific commands
# SIZE - return the size of a file
返回文件大小
# STOR - store a file on the remote host
上传文件
# TYPE - set transfer type
# USER - send username
根据自己需要选择吧,vsftpd的确很强大,ftp我只用vsftpd,哈哈!

方法二、

vsftpd.conf中加入

user_config_dir=/etc/vsftpd_user_conf

然后建立/etc/vsftpd_user_conf目录,在这个目录里创建一个名为upload(与ftp用户名相同)的文件

vi /etc/vsftpd_user_conf/upload

加入

download_enable=NO

这样,upload用户可以上传,下载就会报permission denied

虚拟用户也是一样的。

本地用户和虚拟用户共存

前面虚拟用户的登陆,利用的认证方式由vsftpd.mysql指定。对于本地用户的认证,由/etc/pam.d/vsftpd指定。新建/etc/pam.d/vsftpd.all,内容如下:

 #%PAM-1.0

auth sufficient /lib/security/pam_userdb.so db=/etc/vsftpd/vsftpd_login

account sufficient /lib/security/pam_userdb.so db=/etc/vsftpd/vsftpd_login

auth     required       pam_listfile.so item=user sense=deny file=/etc/ftpusers onerr=succeed
auth     required       pam_unix2.so
auth     required       pam_shells.so
account  required       pam_unix2.so
password required       pam_unix2.so
session  required       pam_unix2.so
[l1] 

文件的意思是:首先选择虚拟用户认证,如果认证成功,则停止( sufficient 参数表示认证成功即退出,可参考 pam 的配置),如果认证不成功,则利用本地用户的认证方式进行认证
 [l1] 这部分是原来本地用户的认证文件类容