前提:iptables关闭或放行,selinux关闭或放行。

目标:创建虚拟ftpuser到指定的www.ftpuser.com目录,且只能在本目录下。

创建帐号

useradd -d /var/www/www.ftpuser.com -s /sbin/nologin -g ftp ftpuser

  -d:锁定目录 -s:禁止登录 -g:所属组

修改属主和属组

chown ftpuser:ftp www.ftpuser.com

修改权限

chmod 744 www.ftpuser.com (必须保证属主具有执行权限,否则无法登录)

锁定目录

  chroot_local_user=YES

  chroot_list_enable=YES

  chroot_list_file=/etc/vsftpd/chroot_list(开启chroot_list_enable=YES必须保证chroot_list文件存在,内容为要锁定的帐号)

配置目录下

  ftpusers:为黑名单,禁止所有用户登录

  user_list:userlist_deny=NO时,只允许存在的用户登录

       userlist_deny=YES,禁止登录且不提示输入密码。

附配置:

#################用户选项###############

接受匿名用户 
anonymous_enable=YES

#匿名用户login时不询问口令 
no_anon_password=YES
 
#匿名用户主目录 
anon_root=(none)

#接受本地用户 
local_enable=YES

#本地用户主目录 
local_root=(none)

#如果匿名用户需要密码,那么使用banned_email_file里面的电子邮件地址的用户不能登录 
deny_email_enable=YES

#仅在没有pam验证版本时有用,是否检查用户有一个有效的shell来登录 
check_shell=YES

#若启用此选项,userlist_deny选项才被启动 
userlist_enable=YES

#若为YES,则userlist_file中的用户将不能登录,为NO则只有userlist_file的用户可以登录 
userlist_deny=NO

#如果和chroot_local_user一起开启,那么用户锁定的目录来自/etc/passwd每个用户指定的目录(这个不是很清楚,很哪位熟悉的指点一下) 
passwd_chroot_enable=NO

#定义匿名登入的使用者名称。默认值为ftp。 
ftp_username=FTP

#################用户权限控制###############

#可以上传(全局控制). 
write_enable=YES

#本地用户上传文件的umask 
local_umask=022

#上传文件的权限配合umask使用 
#file_open_mode=0666

#匿名用户可以上传 
anon_upload_enable=NO

#匿名用户可以建目录 
anon_mkdir_write_enable=NO
 
匿名用户其它的写权利(更改权限?) 
anon_other_write_enable=NO

如果设为YES,匿名登入者会被允许下载可阅读的档案。默认值为YES。 
anon_world_readable_only=YES

#如果开启,那么所有非匿名登陆的用户名都会被切换成guest_username指定的用户名 
#guest_enable=NO

所有匿名上传的文件的所属用户将会被更改成chown_username 
chown_uploads=YES

匿名上传文件所属用户名 
chown_username=lightwiter

#如果启动这项功能,则所有列在chroot_list_file之中的使用者不能更改根目录 
chroot_list_enable=YES

#允许使用\"async ABOR\"命令,一般不用,容易出问题 
async_abor_enable=YES

管控是否可用ASCII 模式上传。默认值为NO。 
ascii_upload_enable=YES

#管控是否可用ASCII 模式下载。默认值为NO。 
ascii_download_enable=YES

#这个选项必须指定一个空的数据夹且任何登入者都不能有写入的权限,当vsftpd 不需要file system 的权限时,就会将使用者限制在此数据夹中。默认值为/usr/share/empty 
secure_chroot_dir=/usr/share/empty

###################超时设置##################

#空闲连接超时 
idle_session_timeout=600

#数据传输超时 
data_connection_timeout=120

#PAVS请求超时 
ACCEPT_TIMEOUT=60

#PROT模式连接超时 
connect_timeout=60

################服务器功能选项###############

#开启日记功能 
xferlog_enable=YES

#使用标准格式 
xferlog_std_format=YES

#当xferlog_std_format关闭且本选项开启时,记录所有ftp请求和回复,当调试比较有用. 
#log_ftp_protocol=NO

#允许使用pasv模式 
pasv_enable=YES

#关闭安全检查,小心呀. 
#pasv_promiscuous+NO

#允许使用port模式 
#port_enable=YES

#关闭安全检查 
#prot_promiscuous

#开启tcp_wrappers支持 
tcp_wrappers=YES

#定义PAM 所使用的名称,预设为vsftpd。 
pam_service_name=vsftpd

#当服务器运行于最底层时使用的用户名 
nopriv_user=nobody

#使vsftpd在pasv命令回复时跳转到指定的IP地址.(服务器联接跳转?) 
pasv_address=(none)

#################服务器性能选项##############
 
#是否能使用ls -R命令以防止浪费大量的服务器资源 
#ls_recurse_enable=YES

#是否使用单进程模式 
#one_process_model

#绑定到listen_port指定的端口,既然都绑定了也就是每时都开着的,就是那个什么standalone模式 
listen=YES

#当使用者登入后使用ls -al 之类的指令查询该档案的管理权时,预设会出现拥有者的UID,而不是该档案拥有者的名称。若是希望出现拥有者的名称,则将此功能开启。 
text_userdb_names=NO

#显示目录清单时是用本地时间还是GMT时间,可以通过mdtm命令来达到一样的效果 
use_localtime=NO

#测试平台优化 
#use_sendfile=YES

################信息类设置################

#login时显示欢迎信息.如果设置了banner_file则此设置无效 
ftpd_banner=欢迎来到湖南三辰Fake-Ta FTP 网站.

#允许为目录配置显示信息,显示每个目录下面的message_file文件的内容 
dirmessage_enable=YES

#显示会话状态信息,关! 
#setproctitle_enable=YES

############## 文件定义 ##################

#定义不能更改用户主目录的文件 
chroot_list_file=/etc/vsftpd/vsftpd.chroot_list

#定义限制/允许用户登录的文件 
userlist_file=/etc/vsftpd/vsftpd.user_list

#定义登录信息文件的位置 
banner_file=/etc/vsftpd/banner

#禁止使用的匿名用户登陆时作为密码的电子邮件地址 
banned_email_file=/etc/vsftpd.banned_emails

#日志文件位置 
xferlog_file=/var/log/vsftpd.log

#目录信息文件 
message_file=.message

############## 目录定义 #################

#定义用户配置文件的目录 
user_config_dir=/etc/vsftpd/userconf

#定义本地用户登陆的根目录,注意定义根目录可以是相对路径也可以是绝对路径.相对路径是针对用户家目录来说的. 
local_root=webdisk #此项设置每个用户登陆后其根目录为/home/username/webdisk

#匿名用户登陆后的根目录 
anon_root=/var/ftp

#############用户连接选项#################

#可接受的最大client数目 
max_clients=100

#每个ip的最大client数目 
max_per_ip=5

#使用标准的20端口来连接ftp 
connect_from_port_20=YES

#绑定到某个IP,其它IP不能访问 
listen_address=192.168.0.2

#绑定到某个端口 
#listen_port=2121

#数据传输端口 
#ftp_data_port=2020

#pasv连接模式时可以使用port 范围的上界,0 表示任意。默认值为0。 
pasv_max_port=0

#pasv连接模式时可以使用port 范围的下界,0 表示任意。默认值为0。 
pasv_min_port=0

##############数据传输选项#################

#匿名用户的传输比率(b/s) 
anon_max_rate=51200

#本地用户的传输比率(b/s) 
local_max_rate=5120000

vsftpd基本配置(原)的更多相关文章

  1. Centos6.9安装vsftpd并配置多用户的方法

    本文介绍了Centos6.9安装vsftpd并配置多用户的方法,分享给大家,具体如下: 一.安装vsftpd ? 1 2 3 4 5 6 7 8 #安装vsftpd yum -y install vs ...

  2. vsftpd 安装配置

    # vsftp 安装yum install vsftpd -y # 配置用户名密码时需要yum install db* db4* -y# 启动vsftpdservice vsftpd start # ...

  3. Linux vsftpd 安装配置使用

    1.安装 yum install vsftpd 2.配置 允许root登陆: /etc/vsftpd/user_list文件中把root那一行删除或者注释掉 /etc/vsftpd/ftpusers文 ...

  4. vsftpd安装配置以及常见问题解决

    vsftpd安装配置以及踩坑解决办法,Centos7 nginx已经配置成功了,但是使用http始终没办法访问到图片,那么你来对地方了(在文章末尾是原因) 配置nginx教程:http://blog. ...

  5. ftp服务器搭建(离线安装vsftpd),配置

    1.下载vsftp:http://rpmfind.net/linux/rpm2html/search.php?query=vsftpd(x86-64) 2.检查是否已经安装了vsftp rpm -qa ...

  6. vsftpd日志配置及查看——可以将vsftpd记录在系统日志里

    vsftpd日志配置及查看 vsftpd ftp服务器的日志设置,可以通过修改主配置文件/etc/vsftpd.conf实现.主配置文件中与日志设置有关的选项包括xferlog_enable .xfe ...

  7. centos7.3 vsftpd 多用户配置

    1. 安装vsftpd及pam认证服务软件 yum install vsftpd* -y yum install pam* libdb-utils libdb* --skip-broken -y #设 ...

  8. linux vsftpd 服务配置

    vsftpd.conf配置如下: # Example config file /etc/vsftpd/vsftpd.conf # # The default compiled in settings ...

  9. Linux vsftpd服务配置以及三种验证方式以及常见错误解决办法

    文件传输协议(FTP): 文件传输协议(FTP,File Transfer Protocol),即能够让用户在互联网中上传.下载文件的文件协议,而FTP服务器就是支持FTP传输协议的主机,要想完成文件 ...

随机推荐

  1. ubuntu 12.04安装jdk1.8

    转自http://blog.chinaunix.net/uid-26404477-id-3471246.html 在安装之前,系统没有任何jdk软件,也就是说在终端执行 java -version 将 ...

  2. JAVA并发编程的艺术

    CAS有两个特点: 1.for循环 2.compareAndSet(可能别的线程先改变然后又重置,此时CAS是成功的,也就是CAS执行的过程中,可能多个线程对此变量做了修改,而不是各个线程互斥的修改) ...

  3. JQuery:JQuery 中的CSS()方法

    JQuery:CSS()方法jQuery css()方法:css()方法设置或返回被选元素的一个或多个样式属性.1.返回 CSS 属性如需返回指定的 CSS 属性的值,请使用如下语法:css(&quo ...

  4. 细聊分布式ID生成方法

    细聊分布式ID生成方法 https://mp.weixin.qq.com/s?__biz=MjM5ODYxMDA5OQ==&mid=403837240&idx=1&sn=ae9 ...

  5. Android 使用FACE++架构包实现人脸识别

    今天给大家带来一个通过使用Face++来实现人脸识别的功能. 我们先去这个Face++官网看看:http://www.faceplusplus.com.cn 我们点开案例可以看到众多我们熟知的软件都是 ...

  6. jQuery操作控件

    在项目中添加前台控件radio,操作两个div的显示和隐藏,其实是一个很简单的问题,但是费了老大劲才完成,也就是jQuery操作控件的一些基础知识.方法有三种,简单介绍: 1.给元素设置style属性 ...

  7. Android设计模式源码解析之外观模式(Facade)

    https://github.com/simple-android-framework/android_design_patterns_analysis/tree/master/facade/elsd ...

  8. Centos 6.5系统下搭建Git服务器--失败历程

    参考博客 http://www.51hei.com/bbs/dpj-28077-1.html http://www.linuxidc.com/Linux/2014-06/103885p2.htm ht ...

  9. 第八篇 Integration Services:高级工作流管理

    本篇文章是Integration Services系列的第八篇,详细内容请参考原文. 简介在前面两篇文章,我们创建了一个新的SSIS包,学习了SSIS中的脚本任务和优先约束,并检查包的MaxConcu ...

  10. 从电商平台促销活动看电商app开发趋势

    据亿合科技小编了解到:尽管各大电商平台都进入了品质和品牌时代,但对于消费者来说,低价依然是一个有吸引力的因素.尼尔森<网络购物者趋势研究>报告显示,2016年价格敏感型购物者的比例从15% ...