`

Cent OS 安装vsftp并配置虚拟用户

阅读更多
在网站应用中,有的时候客户需要对自己网站的程序文件进行维护,这时我们就需要提供一个ftp帐号给客户使用并且该账户只能管理对应的程序目录。

本次操作基于centos 6.3 64位 操作系统以及vsftp,为了安全vsftp将采用虚拟用户方式

1、首先安装vsftp,标准的yum。。

yum install vsftp


2、配置vsftp虚拟用户口令库文件,一行用户名一行密码的格式。

新建文件

vi /etc/vsftpd/account.txt


编辑内容,例:用户名:abc 密码:123456    用户名:cde 密码:123456

abc
123456
cde
123456


3、使用db_load命令生成vsftpd虚拟用户的认证文件

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


如果提示命令不存在,请安装db4相关软件

yum install -y db4 db4-utils


生成完毕之后为了安全性,最好设置account.db只允许root用户查看

chmod 600 /etc/vsftpd/account.db


4、建立虚拟用户所需的PAM配置文件

vi /etc/pam.d/vsftpd


插入以下内容。注:如果是32位系统的话将lib64改为lib即可

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


5、建立虚拟用户宿主用户以及宿主目录(就是建立一个系统用户,并且指定网站所在目录为该用户所有)

useradd -d /home/webs ftpuser


接下来编辑vsftp的配置的文件vasftpd.conf

老规矩,编辑之前备份一下

cp /etc/vsftpd/vsftpd.conf /etc/vsftpd/vsftpd.conf.bak


vi /etc/vsftpd/vsftpd.conf


#不允许匿名用户访问,默认是允许。  
anonymous_enable=NO  
#不允许FTP用户离开自己主目录,默认是被注释掉的。  
chroot_list_enable=YES  
#如果开启了chroot_list_enable=YES,那么一定要开启这个,这条是锁定登录用户只能家目录的位置,如果不开启用户登录时就会报500 OOPS的错。  
chroot_list_file=/etc/vsftpd/chroot_list  
#注意:/etc/vsftp/chroot_list本身是不存在的,这要建立vim /etc/vsftp/chroot_list,然后将帐户输入一行一个,保存就可以了  
#会话超时,客户端连接到ftp但未操作,默认被注释掉,可根据个人情况修改 
idle_session_timeout=600  
#支持异步传输功能,默认是注释掉的,去掉注释  
async_abor_enable=YES  
#支持ASCII模式的下载功能,默认是注释掉的,去掉注释  
ascii_upload_enable=YES  
#支持ASCII模式的上传功能,默认是注释掉的,去掉注释  
ascii_download_enable=YES  
#FTP的登录欢迎语,本身是被注释掉的,去不去都行  
ftpd_banner=Welcome to blah FTP service  
#禁止本地用户登出自己的FTP主目录,本身被注释掉,去掉注释  
chroot_local_user=YES  
#新加以下几行  #设定启用虚拟用户功能。  
guest_enable=YES  
#指定虚拟用户的宿主用户,就是之前简历的宿主用户  
guest_username=ftpuser  
# 配置vsftpd使用的PAM模块为vsftpd 
pam_service_name=vsftpd 
# 设置虚拟账户配置文件的主目录为/etc/vsftpd/user_config(后面创建) 
user_config_dir=/etc/vsftpd/user_config 
virtual_use_local_privs=YES 
#最关键的,每个虚拟用户绑定/home/webs下自己的目录,注意:目录名要和虚拟用户名一致 
user_sub_token=$USER


7、建立每个虚拟用户的配置文件,以abc、cde用户为例

mkdir /etc/vsftpd/user_config


vi /etc/vsftpd/user_config/abc


插入以下内容

#用户主目录,该用户将被锁定到该目录 
local_root=/home/webs/$USER  
# 允许用户浏览FTP目录和下载文件  
anon_world_readable_only=NO  
#  
# 允许用户进行文件改名和删除文件的权限  
anon_other_write_enable=YES  
#  
# 表示用户具有建立和删除目录的权利  
anon_mkdir_write_enable=YES  
#  
# 表示用户可以上传文件  
anon_upload_enable=YES  
#  
# 限制传输速度为300KB/s  
anon_max_rate=307200 


vi /etc/vsftpd/user_config/cde


#用户主目录,该用户将被锁定到该目录 
local_root=/home/webs/$USER  
# 允许用户浏览FTP目录和下载文件  
anon_world_readable_only=NO  
#  
# 允许用户进行文件改名和删除文件的权限  
anon_other_write_enable=YES  
#  
# 表示用户具有建立和删除目录的权利  
anon_mkdir_write_enable=YES  
#  
# 表示用户可以上传文件  
anon_upload_enable=YES  
#  
# 限制传输速度为300KB/s  
anon_max_rate=307200 


8、重启vsftp服务使所有配置生效

1 service vsftpd restart 


注意:新加虚拟用户的话需要重新生成认证文件。。。。
0
0
分享到:
评论

相关推荐

    虚拟机上安装Cent-OS全过程,44张截图

    虚拟机上安装 Cent-OS 全过程 本文将指导您在虚拟机上安装 Cent-OS 操作系统,总共包含 44 张截图,涵盖安装的每一个步骤。通过这篇文章,您将了解如何在虚拟机上安装 Cent-OS 操作系统,并掌握相应的安装步骤。 ...

    application(Cent OS安装 + MongoDB安装部署(单节点+副本集+分片) 详细教程)

    在Cent OS系统上安装和部署MongoDB,可以分为几个关键步骤:安装Cent OS、安装MongoDB、配置单节点、设置副本集以及部署分片集群。下面将详细讲解这些过程。 **1. 安装Cent OS** 首先,确保你的计算机上已经安装了...

    Cent OS上 Redis的安装部署(最新详细教程)application

    在本教程中,我们将深入探讨如何在Cent OS操作系统上安装并部署Redis,这是一个高效、开源的内存数据结构存储系统,常被用作数据库、缓存和消息代理。Redis以其高速性能和丰富的数据结构支持而备受青睐。以下是详细...

    Cent OS 下安装oracle 10

    - 创建 Oracle 用户,并将其设置为 `oinstall` 和 `dba` 组的成员。 - 设置密码。 ``` #/usr/sbin/useradd -m -g oinstall -G dba oracle #passwd oracle ``` #### 三、创建必要的目录结构 **3.1 创建安装目录** ...

    cent os

    cent os cent os

    申延超 Cent OS 5 Linux NFS 服务 安装

    申延超 Cent OS 5 Linux NFS 服务 安装

    cent os 6.5 编译hadoop2.6.0源码

    这个过程对于那些希望自定义Hadoop配置、优化性能或解决特定环境下的兼容性问题的用户来说是至关重要的。 首先,让我们了解一下Hadoop。Hadoop是一个开源框架,主要用于处理和存储大量数据。它基于分布式文件系统...

    Cent OS上配置Apache2 + SVN

    Cent OS上配置Apache2 + SVN Cent OS上配置Apache2 + SVN

    Cent OS6.5 安装nodeJS(分分钟搞定)

    ### Cent OS6.5安装Node.js详解 #### 标题:Cent OS6.5 安装nodeJS(分分钟搞定) #### 描述:本文将详细介绍如何在Cent OS6.5系统上快速安装Node.js。 #### 标签:node npm #### 内容概述 在本文中,我们将...

    Cent-OS安装和卸载docker

    Cent-OS安装和卸载docker Cent-OS安装和卸载docker是指在Cent-OS操作系统中安装和卸载docker容器引擎的步骤。docker是一种轻量级的操作系统虚拟化工具,可以在宿主机上运行多个隔离的容器,以提高服务器资源的利用...

    Cent OS 配置日志服务器和配置详解.docx

    本文将详细介绍如何在Cent OS 6.3环境下配置日志服务器,并涵盖Linux、Unix、Windows系统下的客户端日志发送配置。 首先,我们要了解日志系统的基础——Syslog。Syslog是一种标准的日志协议,广泛应用于各种操作...

    Cent OS安装 + MongoDB安装部署(单节点+副本集+分片) 详细教程 MARKDOWN文档

    2. **启动配置服务器**:每个配置服务器都需要在单独的实例上运行,并配置`--configsvr`参数。 3. **启动分片服务器**:每个分片服务器需要配置`--shardsvr`参数。 4. **启动路由服务器**:mongos作为客户端与分片...

    cent OS7无网络安装redis

    然而,通过手动下载所需的依赖包并使用本地安装方式,我们仍然可以完成Redis的安装。以下是详细的步骤和涉及的知识点: 1. **Redis介绍**:Redis是一个开源的内存数据结构存储系统,它可以用作数据库、缓存和消息...

    虚拟机NAT模式网络配置cent os

    本文将详细介绍如何在Windows 10环境下使用VMware Workstation软件安装CentOS操作系统,并采用NAT(Network Address Translation)模式配置虚拟机与宿主机之间的网络连接。 #### 一、NAT模式介绍 NAT模式是虚拟机...

    cent os 5.2 读写ntfs完成安装指导

    配置完成后,执行`make`、`makemodules_install`和`make install`命令,编译并安装新内核。 #### 3.3 验证NTFS支持 重启系统后,通过`cat /proc/filesystems`命令检查是否已成功添加NTFS支持。 ### 四、安装...

    Linux(Cent OS7.2)下启动停止memcached方法及ps命令使用讲解.docx

    本文档主要讲解了在 Linux(Cent OS7.2) 环境下安装、启动和停止 Memcached 服务的方法,并对 ps 命令的使用进行了详细讲解。 一、Memcached 服务安装 在 Linux(Cent OS7.2) 环境下,可以使用 yum 源安装 Memcached...

    Cent OS 7、Nginx 1.6、PHP 5.6、MySQL 5.6开发环境搭建,源码编译安装_v

    Cent OS 7、Nginx 1.6、PHP 5.6、MySQL 5.6开发环境搭建,源码编译安装_vagrant-lnmp

    简单记录Cent OS服务器配置JDK+Tomcat+MySQL

    配置MySQL,包括设置root用户的密码、初始化数据库、启动服务等。 9. **配置数据源**: 如果Java应用需要连接MySQL,需要在Tomcat的`context.xml`或应用的`web.xml`中配置数据源。这包括JDBC驱动的类路径、数据库...

    Cent6.5安装git1.7.1所需所有资源打包下载

    Linux系统CnetOS6.5版本64位操作系统安装git1.7.1所需要的所有资源,包括:epel-release-6-8.1.noarch.rpm,geekery-el6-x86_64.repo,rpmforge-release-0.5.3-1.el6.rf.i686.rpm三个资源文件,直接复制,并且在...

Global site tag (gtag.js) - Google Analytics