CentOS6.5
vsftpd 配置文件为/etc/vsftpd/vsftpd.conf

安装完软件后:
1.默认匿名用户能够登陆,且限制在/pub目录内,
2.本地用户可以登陆但因SElinux而无法登陆。
3.ftpuser内用户无法登陆。(PAM限制)
4.可利用 /etc/hosts.{allow|deny} 来作为基础防火墙;
5.主动式联机的埠口为 port 20
6.使用格林威治时间 (GMT)。『 use_localtime=YES 』可修改成本地时间。

限制用户登陆的文件有两个:
1./etc/vsftpd/ftpusers:就是 /etc/pam.d/vsftpd 这个档案的设定所影响的;(默认拒绝)
2./etc/vsftpd/user_list:由 vsftpd.conf 的 userlist_file 所设定。
 默认为拒绝文件内的用户,如若想设置为允许文件内的用户:userlist_deny=NO

修改配置文件:
一、若想本地用户也能登陆。
方法:关闭SElinux,setenforce=0 ,或查看/var/log/messages内容,根据提示修改SElinux设置。
二、限制用户在家目录,指定用户不限制在家目录。
chroot_local_user=YES-------------------限制所有用户在家目录
chroot_list_enable=YES------------------开启允许的用户列表文件
chroot_list_file=/etc/vsftpd/chroot_list--------用户列表文件
三、禁止上传特定类型的文件
 deny_file={*.txt}

其他参数配置说明:

与服务器环境较相关的设定值:
connect_from_port_20=YES (NO)
listen_port=21
dirmessage_enable=YES (NO)----进入目录显示消息
message_file=.message
listen=YES (NO)---------服务启动方式
pasv_enable=YES (NO)------支持数据流的被动式联机方式
use_localtime=YES (NO)
write_enable=YES (NO)-----允许用户上传
connect_timeout=60-----数据连接主动模式下,服务端连接客户端请求超时时间
accept_timeout=60------被动模式下
data_connection_timeout=300-------数据链路传输超时时间
idle_session_timeout=300--------控制链路待机超时时间
max_clients=0------独立服务模式,同时联机数
max_per_ip=0-------同一IP的联机数
pasv_min_port=0, pasv_max_port=0------被动联机模式端口号设置
ftpd_banner
banner_file=/path/file
与实体用户较相关的设定值:
guest_enable=YES (NO)-----设置所有用户使用guest身份登录
guest_username=ftp------指定guest身份所使用的用户权限
local_enable=YES (NO)
local_max_rate=0-------限制用户传输速度,单位比特每秒
chroot_local_user=YES (NO)-----限制在用户家目录
chroot_list_enable=YES (NO)-------启用chroot_list文件
chroot_list_file=/etc/vsftpd.chroot_list
userlist_enable=YES (NO)------启用userlist文件
userlist_deny=YES (NO)-------拒绝该文件用户登陆
userlist_file=/etc/vsftpd/user_list
匿名者登入的设定值:
anonymous_enable=YES (NO)
anon_world_readable_only=YES (NO)-----仅具有下载可读文件的权限
anon_other_write_enable=YES (NO)-----写权限 ,若此为NO,则下面两个设置无效
anon_mkdir_write_enable=YES (NO)------建立目录的权限
anon_upload_enable=YES (NO)-------上传权限
deny_email_enable=YES (NO)-----特殊email address抵挡
banned_email_file=/etc/vsftpd/banned_emails
no_anon_password=YES (NO)------NO的时候登入时会检查输入的email
anon_max_rate=0-------限制传输速度
anon_umask=077------上传档案的权限
关于系统安全方面的一些设定值:
ascii_download_enable=YES (NO)---优先使用ASCII格式下载文件
ascii_upload_enable=YES (NO)----优先使用ASCII格式上传文件
one_process_model=YES (NO)-----为每个联机创建一个进程,增加效能,消耗资源。硬件要求高,一般建议设置NO
tcp_wrappers=YES (NO)-----支持tcp_wrappers控制
xferlog_enable=YES (NO)-----开启上传下载记录
xferlog_file=/var/log/xferlog-----设置记录文件位置
xferlog_std_format=YES (NO)-----是否设定为 wu ftp 相同的登录档格式,需要使用wu ftp登录文件分析软件查看
dual_log_enable=YES, vsftpd_log_file=/var/log/vsftpd.log-----登录档
nopriv_user=nobody----运行服务的用户
pam_service_name=vsftpd------pam 模块的名称,我们放置在 /etc/pam.d/vsftpd 即是这个

虚拟用户登陆配置:

一、多用户相同访问目录与权限:

1.创建可登陆的账号和密码。

#cat virtual_users.txt

zhangsan

123456

lisi

123456

wangwu

123456

2.检查系统是否安装已经安装下列软件包,用于创建数据库文件

#rpm -qa |grep db4

db4-4.7.25-20.el_7.i686

db4-cxx-4.7.25-20.el_7.i686

db4-devel-4.7.25-20.el_7.i686

db4-utils-4.7.25-20.el_7.i686

3.使用db_load命令把virtual_users.txt 文件转换成数据库文件,并更改数据库文件的权限

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

#chmod 600 /etc/vsftpd/virtual_users.db

4.新建一个虚拟用户的PAM文件,内容如下

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

auth required /lib/security/pam_userdb.so db=/etc/vsftpd/virtual_users

account required /lib/security/pam_userdb.so db=/etc/vsftpd/virtual_users

5创建虚拟用户。设置该用户所需要访问的目录,并设置虚拟用户的访问权限

#useradd -d /home/ftpsite virtual_user

#chmod 700 /home/ftpsite

6.编辑vsftpd.conf配置文件:

guest_enable=YES

guest_username=virtual_user

pam_sevice_name=vsftpd.vu

virtual_use_local_privs=YES   虚拟用户和本地用户有相同的权限;

或者:virtual_use_local_privs=NO时,虚拟用户和匿名用户有相同的权限,默认是NO。

虚拟用户要么拥用本地用户权限要么拥有匿名权限,匿名权限对于家目录中的身份为其他用户。

二、多用户不同访问目录与权限。

1、2、3、4、5不变。

6.创建ftp用户配制文件目录:/etc/vsftpd/user_conf

  #mkdir /etc/vsftpd/user_conf

7.在/etc/vsftpd/user_conf目录中创建以用户名命名的配置文件zhangsan、lisi、wangwu

  “zhangsan”内容如下:

    local_root=/home/ftp (当然,你高兴也可以设置成其它,但要注意virtual用户对此目录的权限)

    anon_world_readable_only=NO (使download用户的能下载,也只能下载;写成YES,将不能列出文件和目录)

  “lisi”内容如下:

    local_root=/home/ftp

    anon_world_readable_only=NO

    write_enable=YES (写权限)

    anon_mkdir_write_enable=YES (新建目录权限)

    anon_upload_enable=YES(上传权限)

    anon_other_write_enable=YES(删除/重命名的权限)

   “wangwu”内容如下:

     local_root=/home/virtual_user    

    anon_world_readable_only=NO

    anon_umask=022 (由于web页面的特殊性,故单独设置上传文件权限为755,此掩码值可根据具体情况更改)

    write_enable=YES (写权限)

    anon_mkdir_write_enable=YES (新建目录权限)

    anon_upload_enable=YES(上传权限)

    anon_other_write_enable=YES(删除/重命名的权限)

8.在/etc/vsftpd.conf加入或者更改以下配置语句:

  anonymous_enable=NO

   local_enable=YES

  guest_enable=YES

  guest_username=virtual_user

  pam_service_name=ftp.vu

  user_config_dir=/etc/vsftpd/user_conf

ftps
1.检查 vsftpd 有无支持 ssl 模块:ldd $(which vsftpd) | grep ssl
2.建立专门给 vsftpd 使用的凭证数据:
 cd /etc/pki/tls/certs
 make vsftpd.pem  需要填写证书相关信息
3.修改 vsftpd.conf 的配置文件
 针对 SSL 所加入的特别参数!每个项目都很重要!
 ssl_enable=YES <==启动 SSL 的支持
 allow_anon_ssl=NO <==但是不允许匿名者使用 SSL
 force_local_data_ssl=YES <==强制实体用户数据传输加密
 force_local_logins_ssl=YES <==同上,但连登入时的帐密也加密
 ssl_tlsv1=YES <==支持 TLS 方式即可,底下不用启动
 ssl_sslv2=NO
 ssl_sslv3=NO
 rsa_cert_file=/etc/vsftpd/vsftpd.pem <==预设 RSA 加密的凭证档案所在

限制文件大小?
# cd /usr/local/proftpd/bin/
# ftpquota -create -type=tally -table-path=/usr/local/proftpd/etc/ftpquota.tallytab
# ftpquota -create -type=limit -table-path=/usr/local/proftpd/etc/ftpquota.limittab
# ftpquota --type=limit --table-path=/usr/local/proftpd/etc/ftpquota.limittab --add-record --quota-type=user --name=tom --units=Mb --bytes-

upload=50 --bytes-xfer=1

# (上面意思是:限定tom用户空间大小为50M,上传文件大小为1M)

ftpquota 具体用法参照 ftpquota --help--------------未证实

CentOS6.5 vsftpd 配置的更多相关文章

  1. centos6 安装vsftpd

    centos6 安装vsftpd vsftpd一般选择yum安装,以下是安装和配置过程 如果是centos6想要安装的话一般是编译安装 1.安装 yum安装 yum install vsftpd 编译 ...

  2. CentOS6安装vsftpd

    练习:完成vsftpd配置 (1) 禁锢系统用户于家目录 [root@node3 ~]# yum -y install vsftpd [root@node3 ~]# vim /etc/vsftpd/v ...

  3. linux vsftpd 配置

    linux 使用vsftpd 实现ftp上传 安装 vsftpd yum install -y vsftpd 配置vsftpd 备份配置文件后 将/etc/vsftpd/vsftpd.conf内容替换 ...

  4. Ubuntu 用vsftpd 配置FTP服务器

    网上的文章好难懂啊..只想要简单粗暴,弄好能用就行啊,复杂的以后研究不行吗...折腾好久,其实弄出来能用不就这么点内容吗... 本文在Ubuntu Server 14.04 amd64系统测试. Ma ...

  5. [转]CentOS-6.3安装配置cmake

    CentOS-6.3安装配置cmake   zhoulf 2013-02-03 原创 安装说明 安装环境:CentOS-6.3安装方式:源码编译安装 软件:cmake-2.8.10.2.tar.gz下 ...

  6. 运维之Centos apache vsftpd配置

    安装Apache yum install httpd -y chkconfig httpd on service httpd start 配置一下iptables iptables -I INPUT ...

  7. [转]Ubuntu 用vsftpd 配置FTP服务器

    FROM : http://www.cnblogs.com/CSGrandeur/p/3754126.html 网上的文章好难懂啊..只想要简单粗暴,弄好能用就行啊,复杂的以后研究不行吗...折腾好久 ...

  8. vsftpd配置参数详细整理

    vsftpd配置参数详细整理  -|白王斧三又干一 vsftpd配置参数详细整理     -|白王斧三又干一 发表于 2005-10-23 20:30:00   1.vsftpd配置参数详细整理#接受 ...

  9. centos6.4安装配置vpn服务器步骤详解

      centos6.4安装配置vpn服务器步骤详解,从安装VPN到配置VPN服务器.配置VPN服务器的路由转发功能,每一步都很详细   一.VPN服务器环境说明 操作系统:CentOS release ...

随机推荐

  1. 转:C# 中 MSCHART 饼状图显示百分比

    转自:http://blog.sina.com.cn/s/blog_51beaf0e0100yffo.html 1)显示百分比 Chart1.Series["Series1"].L ...

  2. flash builder4.7 for Mac升级AIRSDK详解

    使用flash builder 打包ANE时或者打包ipa时候常常会遇到AIRSDK版本低的问题,然而flash builder4.7默认使用的AIRSDK是3.4而flash builder4.7 ...

  3. 用 pyvenv 创建几个不相互影响的python虚拟环境

    IN MY UBUNTU python2的环境控制: sudo apt-get install virtualenv 创建: virtualenv --no-site-packages  [环境搭建目 ...

  4. C++中输入输出的重定向

    重定向,就是: 把 原来的 cin 从键盘输入 改为从文件输入. 把 原来的 cout 向屏幕输出 改为输出到文件. 例如: cin>>line; 原来要从键盘拍入.现在自动到某文件读取, ...

  5. Linux:cacti环境部署

    一.监控端安装1)基础软件:安装配置cacti前,需要安装:httpd.php.mysqld.php-mysql.net-snmp.rrdtool以上均可使用yum安装:yum install -y ...

  6. CS 231n----Assignment1 记录

    记录下在完成cs231n的Assignment1过程中的一些东西. 1. scores是一个N*C的array,N是训练样本个数,C是标签.y是(N,)的数组,取出每一个样本对应的score,可以用以 ...

  7. HttpClient Get/Post方式调用Http接口

    本节摘要:本节主要分别介绍如何用get方式.post方式向http接口发送数据. preparation 1. 项目环境如下: myeclipse6.5 .tomcat5.0.system:xp.JD ...

  8. cache-contro页面缓存处理设置

    <meta http-equiv="pragma" content="no-cache">,pragma与no-cache用于定义页面缓存,不缓存页 ...

  9. 【转】如何在Mac系统中安装R的rattle包

    [转自知乎]:https://www.zhihu.com/question/28944497 1. 安装 xquartz (http://xquartz.macosforge.org)2. 安装 GT ...

  10. Apache 配置 WebSocket 协议

    本文使用 http proxy 方式 实现 apache 支持  WebSocket 请求(JK 使用的 ajp 协议不能支持websocket) 通过 apache 访问 后端 tomcat上的 w ...