常用参数
:
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=50000
(
bite
)
(本地用户传输率
50k
)
anon_max_rate=30000
(
bite
)
(匿名用户传输率
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/test1
,
test2
用户使用
/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
文件的意思是:首先选择虚拟用户认证,如果认证成功,则停止(
sufficient
参数表示认证成功即退出,可参考
pam
的配置),如果认证不成功,则利用本地用户的认证方式进行认证
本文出自 “jiejun” 博客,谢绝转载!