转载  http://www.oicto.com/centos-vsftp/?tdsourcetag=s_pcqq_aiomsg

linux下WEB服务器安装、配置VSFTP

admin · 发布日期 2015年03月16日 · 已更新 2016年04月20日

 

服务器环境:CentOS 6.5 64位

#检查系统是否已安装vsftp
命令:rpm -q vsftpd
package vsftpd is not installed #说明系统没有安装vsftpd

一、vsftp安装

# 安装vsftpd
yum -y install vsftpd
# 启动
service vsftpd start
# 开机启动
chkconfig vsftpd on

二、vsftp相关命令
# 启动ftp服务
service vsftpd start
# 查看ftp服务状态
service vsftpd status
# 重启ftp服务
service vsftpd restart
# 关闭ftp服务
service vsftpd stop

三、目录文件说明
/etc/vsftpd/vsftpd.conf vsftpd的核心配置文件
/etc/vsftpd/ftpusers 用于指定哪些用户不能访问FTP服务器
/etc/vsftpd/user_list 指定允许使用vsftpd的用户列表文件
/etc/vsftpd/vsftpd_conf_migrate.sh 是vsftpd操作的一些变量和设置脚本
/var/ftp/ 默认情况下匿名用户的根目录

====基于虚拟账户权限认证====

vsftpd的虚拟用户采用单独的用户名/口令保存方式,与系统账户分离,这大大增强了系统的安全性。vsftpd可以采用数据库文件来保存用户/口令,如hash;也可以将用户/口令保存在数据库服务器中,如MySQL等。vsftpd验证虚拟用户,则采用PAM方式

安装依赖包

yum install -y  db4 db4-utils

创建虚拟用户账号和密码

(奇数行为用户名,偶数行为用户密码)

vi /etc/vsftpd/virtual.users

user1  #虚拟用启名

123     #用户口令

user2

456

生成虚拟用户认证的db文件

db_load -T -t hash -f /etc/vsftpd/virtual.users /etc/vsftpd/vsftpd.login.db

chmod 600 /etc/vsftpd/vsftpd.login.db

配置PAM信息

在/etc/pam.d/创建一个文件,命名为vsftpd.pam(可自定义)

vi /etc/pam.d/vsftpd.pam

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

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

配置vsftpd.conf

配置前先备份
cp /etc/vsftpd/vsftpd.conf /etc/vsftpd/vsftpd.conf.bak

配置如下:

anonymous_enable=NO

local_enable=YES

local_umask=022

anon_umask=022

xferlog_enable=YES

connect_from_port_20=YES

xferlog_std_format=YES

ascii_upload_enable=YES

ascii_download_enable=YES

ftpd_banner=Welcome to blah FTP service.

chroot_local_user=YES

listen=YES

userlist_enable=YES

pam_service_name=vsftpd.pam

guest_username=ftp  #虚拟用户所映射的本地用户。这里也改成与web服务器用户一致的用户名www,这样就可以保持ftp与web具有同等权限。

guest_enable=YES   #这个是开启虚拟用户

user_config_dir=/etc/vsftpd/vsftpd_user_conf

tcp_wrappers=YES

创建用户名的配置文件

mkdir -p /etc/vsftpd/vsftpd_user_conf

cd /etc/vsftpd/vsftpd_user_conf

在conf里创建 刚才用户名的配置文件 配置文件名要与用户名一样

user1要有所有全部权限

vi user1

 
 
local_root=/data0/htdocs/www.site1.com

write_enable=yes

download_enable=yes

anon_upload_enable=yes

anon_mkdir_write_enable=yes

anon_other_write_enable=yes

anon_world_readable_only=no

idle_session_timeout=600

data_connection_timeout=120

max_clients=2

max_per_ip=3

local_max_rate=512000

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
local_root=/data0/htdocs/www.site1.com
 
write_enable=yes
 
download_enable=yes
 
anon_upload_enable=yes
 
anon_mkdir_write_enable=yes
 
anon_other_write_enable=yes
 
anon_world_readable_only=no
 
idle_session_timeout=600
 
data_connection_timeout=120
 
max_clients=2
 
max_per_ip=3
 
local_max_rate=512000

user2只有上传和下载权限

vi user2

 
 
local_root=/data0/htdocs/www.site2.com

write_enable=YES

download_enable=yes

anon_upload_enable=yes

anon_other_write_enable=no

anon_mkdir_write_enable=no

anon_world_readable_only=no

1
2
3
4
5
6
7
8
9
10
11
12
13
local_root=/data0/htdocs/www.site2.com
 
write_enable=YES
 
download_enable=yes
 
anon_upload_enable=yes
 
anon_other_write_enable=no
 
anon_mkdir_write_enable=no
 
anon_world_readable_only=no

# 重启ftp服务
service vsftpd restart

====常见的vsftpd日志解决方案====
配置vsftpd.conf,
# 表明FTP服务器记录上传下载的情况
xferlog_enable=YES
# 表明将记录的上传下载情况写在xferlog_file所指定的文件中,即xferlog_file选项指定的文件中
xferlog_std_format=YES
xferlog_file=/var/log/xferlog
# 启用双份日志。在用xferlog文件记录服务器上传下载情况的同时, vsftpd_log_file所指定的文件,即/var/log/vsftpd.log也将记录登录、上传、下载、删除的情况
dual_log_enable=YES
vsftpd_log_file=/var/log/vsftpd.log

====日常管理虚拟用户账号和密码====

修改文件
vi /etc/vsftpd/virtual.users

生成虚拟用户认证的db文件
db_load -T -t hash -f /etc/vsftpd/virtual.users /etc/vsftpd/vsftpd.login.db

# 重启ftp服务
service vsftpd restart

jpg 改 rar

Share

0
 
0
 

linux下WEB服务器安装、配置VSFTP的更多相关文章

  1. Linux下Redis服务器安装配置

    说明:操作系统:CentOS1.安装编译工具yum install wget  make gcc gcc-c++ zlib-devel openssl openssl-devel pcre-devel ...

  2. Linux下SVN服务器安装配置及客户端安装说明

    原文地址:http://wenku.baidu.com/link?url=h3dVAMx4azpOXEND5HQEE6nliE8-zc0GSQ03yv4cUs1vXMALXF64UsK7kT7kXm_ ...

  3. linux下svn服务器安装配置与启动

    1. 采用源文件编译安装.源文件共两个,为: subversion-1.6.1.tar.gz  (subversion 源文件) subversion-deps-1.6.1.tar.gz  (subv ...

  4. CentOS下Redis服务器安装配置

    说明: 操作系统:CentOS 1.安装编译工具 yum install wget  make gcc gcc-c++ zlib-devel openssl openssl-devel pcre-de ...

  5. linux下通过acl配置灵活目录文件权限(可用于ftp,web服务器的用户权限控制)

    linux下通过acl配置灵活目录文件权限(可用于ftp,web服务器的用户权限控制) 发表于2012//07由feng linux 本身的ugo rwx的权限,对于精确的权限控制很是力不从心的,ac ...

  6. Linux下PHP安装配置MongoDB数据库连接扩展

    Web服务器: IP地址:192.168.21.127 PHP安装路径:/usr/local/php 实现目的: 安装PHP的MongoDB数据库扩展,通过PHP程序连接MongoDB数据库 具体操作 ...

  7. Linux下PortSentry的配置

    Linux下PortSentry的配置       前年写过<IDS与IPS功能分析>一文,受到广大读者关注,现将近期有关IDS配置的文章和大家分享.    Internet上的服务器一般 ...

  8. Linux下安装和配置JDK与Tomcat(升级版)

    在这个版本 Linux下安装和配置JDK与Tomcat(入门版) 的基础上优化升级 1.下载相关软件 apache-tomcat-6.0.37.tar.gz jdk-6u25-linux-i586-r ...

  9. [Linux]Linux下安装和配置solr/tomcat/IK分词器 详细实例二.

    为了更好的排版, 所以将IK分词器的安装重启了一篇博文,  大家可以接上solr的安装一同查看.[Linux]Linux下安装和配置solr/tomcat/IK分词器 详细实例一: http://ww ...

随机推荐

  1. Linux及MacOSX中使用zsh

    via : http://leochin.com/linux-macosx-shell-zsh/ Linux及MacOSX中使用zsh zsh是另一种Shell,类似bash,tcsh等等,只是多了一 ...

  2. ASP.NET Core -中间件(Middleware)使用

    ASP.NET Core开发,开发并使用中间件(Middleware). 中间件是被组装成一个应用程序管道来处理请求和响应的软件组件. 每个组件选择是否传递给管道中的下一个组件的请求,并能之前和下一组 ...

  3. Std::map too few template arguments

    在上述的代码中,红色波浪线的部分编译的时候报错: error C2976: 'std::map' : too few template arguments 换成std::map<std::str ...

  4. phpBB3.2 自动检测浏览器语言

    这是根据HTTP request header里的Accept-Language信息来处理的. 首先看一下Accept-Language的格式 Accept-Language: <languag ...

  5. mysql复制过程中的server-id的理解

    一.     server-id做什么用的,你知道吗? 1. mysql的同步的数据中是包含server-id的,用于标识该语句最初是从哪个server写入的,所以server-id一定要有的 2. ...

  6. Charles for Mac(HTTP 监视器和网络抓包工具)破解版安装

    1.软件简介    Charles 是在 Mac.Linux 或 Windows 下常用的 http 协议网络包截取工具,在平常的测试与调式过程中,掌握此工具就基本可以不用其他抓包工具了.Charle ...

  7. 阿里云centos安装docker-engine实践

    近日在阿里云ECS服务器(centos系统)中安装docker,参考官方指南 https://docs.docker.com/engine/installation/linux/centos/  大概 ...

  8. 性能测试工具jmeter的安装

    1.mac安装jmeter 参考博客:https://blog.csdn.net/shendezhuti/article/details/77972297

  9. 微信小程序--兼容

    小程序的功能不断的增加,但是旧版本的微信客户端并不支持新功能,所以在使用这些新能力的时候需要做兼容. 文档会在组件,API等页面描述中带上各个功能所支持的版本号. 可以通过 wx.getSystemI ...

  10. 每天一个linux命令(8):scp使用

    不同的Linux之间copy文件常用有3种方法:1.使用ftp,也就是其中一台Linux安装ftp Server,这样可以另外一台使用ftp的client程序来进行文件的copy.2.采用samba服 ...