在网站应用中,有的时候客户需要对自己网站的程序文件进行维护,这时我们就需要提供一个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
注意:新加虚拟用户的话需要重新生成认证文件。。。。
分享到:
相关推荐
虚拟机上安装 Cent-OS 全过程 本文将指导您在虚拟机上安装 Cent-OS 操作系统,总共包含 44 张截图,涵盖安装的每一个步骤。通过这篇文章,您将了解如何在虚拟机上安装 Cent-OS 操作系统,并掌握相应的安装步骤。 ...
在Cent OS系统上安装和部署MongoDB,可以分为几个关键步骤:安装Cent OS、安装MongoDB、配置单节点、设置副本集以及部署分片集群。下面将详细讲解这些过程。 **1. 安装Cent OS** 首先,确保你的计算机上已经安装了...
在本教程中,我们将深入探讨如何在Cent OS操作系统上安装并部署Redis,这是一个高效、开源的内存数据结构存储系统,常被用作数据库、缓存和消息代理。Redis以其高速性能和丰富的数据结构支持而备受青睐。以下是详细...
- 创建 Oracle 用户,并将其设置为 `oinstall` 和 `dba` 组的成员。 - 设置密码。 ``` #/usr/sbin/useradd -m -g oinstall -G dba oracle #passwd oracle ``` #### 三、创建必要的目录结构 **3.1 创建安装目录** ...
cent os cent os
申延超 Cent OS 5 Linux NFS 服务 安装
这个过程对于那些希望自定义Hadoop配置、优化性能或解决特定环境下的兼容性问题的用户来说是至关重要的。 首先,让我们了解一下Hadoop。Hadoop是一个开源框架,主要用于处理和存储大量数据。它基于分布式文件系统...
Cent OS上配置Apache2 + SVN Cent OS上配置Apache2 + SVN
### 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容器引擎的步骤。docker是一种轻量级的操作系统虚拟化工具,可以在宿主机上运行多个隔离的容器,以提高服务器资源的利用...
本文将详细介绍如何在Cent OS 6.3环境下配置日志服务器,并涵盖Linux、Unix、Windows系统下的客户端日志发送配置。 首先,我们要了解日志系统的基础——Syslog。Syslog是一种标准的日志协议,广泛应用于各种操作...
2. **启动配置服务器**:每个配置服务器都需要在单独的实例上运行,并配置`--configsvr`参数。 3. **启动分片服务器**:每个分片服务器需要配置`--shardsvr`参数。 4. **启动路由服务器**:mongos作为客户端与分片...
然而,通过手动下载所需的依赖包并使用本地安装方式,我们仍然可以完成Redis的安装。以下是详细的步骤和涉及的知识点: 1. **Redis介绍**:Redis是一个开源的内存数据结构存储系统,它可以用作数据库、缓存和消息...
本文将详细介绍如何在Windows 10环境下使用VMware Workstation软件安装CentOS操作系统,并采用NAT(Network Address Translation)模式配置虚拟机与宿主机之间的网络连接。 #### 一、NAT模式介绍 NAT模式是虚拟机...
配置完成后,执行`make`、`makemodules_install`和`make install`命令,编译并安装新内核。 #### 3.3 验证NTFS支持 重启系统后,通过`cat /proc/filesystems`命令检查是否已成功添加NTFS支持。 ### 四、安装...
本文档主要讲解了在 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开发环境搭建,源码编译安装_vagrant-lnmp
配置MySQL,包括设置root用户的密码、初始化数据库、启动服务等。 9. **配置数据源**: 如果Java应用需要连接MySQL,需要在Tomcat的`context.xml`或应用的`web.xml`中配置数据源。这包括JDBC驱动的类路径、数据库...
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三个资源文件,直接复制,并且在...