转载  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. js selection对象使用方法

    IE:document.selection FireFox:window.getSelection() document.selection只有IE支持,window.getSelection()也只 ...

  2. EBS R12.2.4 Changing IP

    [root@ebs ~]# vi /etc/hosts 127.0.0.1       localhost.localdomain   localhost ::1     localhost6.loc ...

  3. .Net Core Md5加密整理

    一..Net Core中Md5使用说明 .Net Core中自带Md5加密处理,使用方法和 .Net Framework中相同 所在命名空间 using System.Security.Cryptog ...

  4. 关于#progma comment 中库文件相对路径问题

    最近做一个验证程序的对话框编程,因为里面要要用到静态链接库,所以就稍微的学习了下静态链接库知识,学习的过程中感觉到了自己所了解的东西实在是少的可怜,更加坚定了自己要更加上进的决心,要把以前所丢掉的都给 ...

  5. centos安装memcached和PHP php-pecl-memcached.x86_64

    安装memcached sudo yum install memcached.x86_64 安装php-pecl-memcached php memcache有两个实现类 php-pecl-memca ...

  6. 【ZH奶酪】如何用Python实现编辑距离?

    1. 什么是编辑距离? 编辑距离(Edit Distance),又称Levenshtein距离,是指两个字串之间,由一个转成另一个所需的最少编辑操作次数.许可的编辑操作包括将一个字符替换成另一个字符, ...

  7. WIN8 Metro UI 风格下的微软报表开发与设计 Metro UI SSRS - BIWORK

    开篇介绍 作为 BI 系统前端展现的报表,其重要性不言而喻,我们对于一个好的报表的要求也无非主要包含以下几点: 1. 数据完整和正确,数据质量没有问题 2. 友好的清晰的界面,整洁美观,有得体的格式 ...

  8. Ubuntu 下搭建 Android 开发环境(图文)

    转自 http://dawndiy.com/archives/153/ 1.安装JDK 1.下载JDK 目前最新的JDK版本是:Java SE Development Kit 7u5 下载地址: 查看 ...

  9. 一道简单的HashMap面试题所想到的...

    前言 看到一个JDK1.7和JDK1.8中关于HashMap的一个面试题: JDK1.7和1.8中HashMap中链表的插入的方式有什么不同? 原以为自己对HashMap的源码理解的还算可以了,应该足 ...

  10. Atitit mysql数据库统计信息

    Atitit mysql数据库统计信息 SELECT table_name, table_rows, index_length, data_length, auto_increment, create ...