`
luckliu521
  • 浏览: 258992 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

Vsftpd虚拟用户设置

阅读更多
Vsftpd虚拟用户设置
出自Ubuntu中文

本文作者:dbzhang800

授权许可:创作共享协议

适用版本:

文章状态:完成
目录
[隐藏]

    * 1 目标
    * 2 创建虚拟用户数据库
          o 2.1 创建文本文件loguser.txt
          o 2.2 生成数据库
    * 3 配置PAM文件
    * 4 为虚拟用户创建本地系统用户
    * 5 /etc/vsftpd.conf
    * 6 /etc/vsftpd_user_conf
    * 7 能成?

[编辑] 目标

首先我们假定你已经安装了vsftpd,并在/home/ftp目录下建立了以下3个子目录

    * dbzh1
    * dbzh2
    * dbzh3

下面,我们要建3个虚拟用户,密码分别是用户名后加"00"

    * db1
    * db2
    * db3

使得

    * 用户db1 的主目录为 dbzh1 ,在该目录下只有只读权限
    * 用户db2 的主目录为 dbzh2,在该目录下只有只读权限
    * 用户db3 的主目录为 dbzh3 ,在该目录下拥有所有权限

[编辑] 创建虚拟用户数据库
[编辑] 创建文本文件loguser.txt

格式如下:

user_id
password



于是,我们/home/loguser.txt文件的内容为


db1
db100
db2
db200
db3
db300

[编辑] 生成数据库

如果你以前没装过libdb4.6-util 或者你不清楚装没装,需先执行下面的命令

sudo apt-get install db4.6-util

然后,我们执行

sudo db4.6_load -T -t hash -f /home/loguser.txt /etc/vsftpd_login.db


最后设置一下数据库文件的访问权限

sudo chmod 600 /etc/vsftpd_login.db

[编辑] 配置PAM文件

新建/etc/pam.d/vsftpd.vu 内容如下:

auth required /lib/security/pam_userdb.so db=/etc/vsftpd_login
account required /lib/security/pam_userdb.so db=/etc/vsftpd_login

    * 我们上一步建立的数据库 vsftpd_login 在此处被使用
    * 我们建立的虚拟用户将采用PAM进行验证,这是通过/etc/vsftpd.conf文件中的 语句pam_service_name=vsftpd.vu来启用的,稍后你将发现。

[编辑] 为虚拟用户创建本地系统用户

新建一个系统用户virtual,用户家目录为/home/ftp, 用户登录终端设为/bin/false(即使之不能登录系统)


sudo useradd virtual -d /home/ftp -s /bin/false
sudo chown virtual:virtual /home/ftp

/etc/vsftpd.conf

根据需要创建/etc/vsftpd.conf,一般要确保含有以下设置:



listen=YES
anonymous_enable=NO
dirmessage_enable=YES
xferlog_enable=YES
xferlog_file=/var/log/vsftpd.log
xferlog_std_format=YES
chroot_local_user=YES
guest_enable=YES
guest_username=virtual
user_config_dir=/etc/vsftpd_user_conf
pam_service_name=vsftpd.vu
local_enable=YES
secure_chroot_dir=/var/run/vsftpd


现在为止,我们的3个用户都可以工作了,可是它们的根目录现在都是/home/ftp,权限也都一样。 那么怎么才能完成我们预定的目标呢?
[编辑] /etc/vsftpd_user_conf

在上面的配置中,有这么一行

user_config_dir=/etc/vsftpd_user_conf

现在,我们要把各个用户的配置文件放到目录/etc/vsftpd_user_conf中


sudo mkdir /etc/vsftpd_user_conf
cd /etc/vsftpd_user_conf
sudo touch db1 db2 db3

db1文件中的内容如下

local_root=/home/ftp/dbzh1

同样,db2文件中的内容

local_root=/home/ftp/dbzh2

那么,db3的内容呢? 其实也很简单


write_enable=YES
anon_world_readable_only=NO
anon_upload_enable=YES
anon_mkdir_write_enable=YES
anon_other_write_enable=YES
local_root=/home/ftp/dbzh3

这里要注意不能有空格,不然登录的时候会提示出错。我的这里面也有问题,
[编辑] 能成?

重启vsftpd我们就可以看到效果了^_^

/etc/init.d/vsftpd start|restart


500 OOPS: cannot change directory:

linux打开ftp遇到的问题 500 OOPS: cannot change directory:

google好多都是 执行这个就OK setsebool ftpd_disable_trans 1 service vsftpd restart

但是执行的时候遇到这个问题  Could not change active booleans: Invalid boolean

搜了好久终于解决

   setsebool -P ftp_home_dir=1
分享到:
评论

相关推荐

    vsftpd虚拟用户设置权限

    vsftpd 虚拟用户设置权限 vsftpd 虚拟用户设置权限是指在 vsftpd 服务器中,如何设置虚拟用户的权限,以满足不同的用户需求。本文将详细介绍如何设置虚拟用户的权限,包括普通用户、管理员用户和网站管理员用户的...

    vsftpd虚拟用户的配置

    ### vsftpd虚拟用户的配置详解 #### 一、虚拟用户概念 在介绍具体的配置步骤之前,我们先来了解一下什么是虚拟用户。虚拟用户是指在FTP服务器上使用的非真实系统账户,通常用于提高安全性以及方便管理和控制。 **...

    vsftpd虚拟用户建立,无错版

    VSFTPD 虚拟用户建立需要安装和配置 VSFTPD 服务,建立虚拟用户帐户,调整配置文件,设置上传权限,设置日志记录功能,设置目录标语功能和设置 PORT 过渡连接。通过这些步骤,可以实现虚拟用户的 FTP 访问。

    建立Vsftpd虚拟用户

    ### 建立Vsftpd虚拟用户 #### 1. FTP登录方式概述 FTP(File Transfer Protocol)是一种用于在网络上进行文件传输的标准协议。通过FTP,用户可以上传、下载以及管理远程服务器上的文件。根据登录方式的不同,FTP...

    两种方式建立Vsftpd虚拟用户.pdf

    两种方式建立Vsftpd虚拟用户 Vsftpd虚拟用户是FTP服务器的专有用户,使用虚拟用户登录FTP,只能访问FTP服务器提供的资源,大大增强了系统的安全。本文将介绍两种方式建立Vsftpd虚拟用户:本地数据文件方式和数据库...

    vsftpd虚拟目录安装

    总之,安装并配置VSFTPD虚拟目录涉及多个步骤,包括安装软件、配置服务、创建虚拟用户、设置数据库和权限,以及验证服务的正确运行。这个过程需要对Linux系统管理、FTP服务原理以及PAM认证机制有一定的理解。一旦...

    Centos 8 vsftpd多用户FTP服务器配置完美方案——同时解决PORT和PASV模式

    为了实现多用户虚拟用户方式,需要在vsftpd.conf文件中设置virtual_use_local_privs=YES和virtual_users=ftp-test1,ftp-test2等参数。 结论 本文介绍了CentOS 8系统中配置vsftpd多用户FTP服务器的详细步骤,包括...

    Centos7下安装vsftpd并启用虚拟用户访问

    ### Centos7下安装vsftpd并启用虚拟用户访问 #### 一、环境搭建与软件安装 在CentOS 7环境中部署vsftpd并实现虚拟用户登录,首先需要完成vsftpd服务的基本安装。 1. **安装vsftpd及其客户端**: ```bash yum ...

    CentOS 7中vsftpd服务安全部署(匿名用户、本地用户、虚拟用户管理).docx

    3. 设置 pam 认证:编辑 `/etc/pam.d/vsftpd`,添加针对虚拟用户的 pam 配置。 4. 修改 vsftpd 配置:启用虚拟用户模式(`virtual_use_local_users=YES`),配置 pam 模块认证。 5. 权限设定:为虚拟用户指定家目录...

    Centos中Vsftpd安装与虚拟用户设置.txt

    在IT领域,特别是服务器管理与网络服务配置方面,掌握如何在CentOS系统中安装与配置Vsftpd(Very Secure FTP Daemon)以及设置虚拟用户是一项关键技能。本文将深入解析这一主题,涵盖Vsftpd的基本概念、安装过程、...

    vsftpd_ftp服务器Linux虚拟用户配置(超详细)

    本教程将详细讲解如何在Linux环境下配置VSFTPD,实现FTP服务器的虚拟用户功能,以便为不同的用户提供独立的权限和目录访问。虚拟用户允许我们通过用户名和密码认证,而这些信息并不直接与系统的实际用户账户对应,...

    centos ftp虚拟用户设置全解

    CentOS FTP 虚拟用户设置全解 本文将详细介绍如何在 CentOS 操作系统中设置 FTP 虚拟用户。FTP(File Transfer Protocol,文件传输协议)是一种常用的文件传输协议,广泛应用于文件上传、下载等场景。CentOS 是一个...

    vsftpd 虚拟用户配置步骤

    下一步,我们需要建立虚拟用户访问目录,并设置 virtual 用户访问的权限。 #useradd -d /var/ftp/share -s /sbin/nologin virtual #chmod 700 /var/ftp/share 配置 VSFTPD 现在,我们需要配置 VSFTPD,以便使用...

    Vsftpd服务器虚拟用户配置.docx

    这里,`user_config_dir`设置为`/etc/vsftpd/user_config`,意味着每个虚拟用户都可以有自己的个性化配置文件。虚拟用户登录时,Vsftpd会查找`/etc/vsftpd/user_config/用户名.conf`文件,以应用特定的权限和限制。 ...

    linux下配置vsftpd和虚拟用户[文].pdf

    本文将详细介绍如何在Linux环境下配置VSFTPD以及设置虚拟用户。 首先,VSFTPD的主要配置文件位于`/etc/vsftpd/vsftpd.conf`。这个文件包含了所有VSFTPD服务的参数和设置,可以根据需求进行调整。例如,关闭匿名用户...

    Ubuntu Linux上安装SSH和Vsftpd的方法

    您可以编辑该文件以配置 Vsftpd 服务器的设置。例如,想要禁用匿名 FTP 登录,可以将以下行修改为: anonymous_enable=NO 想要允许本地系统用户登录 FTP 服务器,可以将以下行反注释: local_enable=YES 想要...

    linux下配置vsftpd和虚拟用户.pdf

    在Linux环境中配置VSFTPD(Very Secure File Transfer Protocol Daemon)服务并设置虚拟用户,是为了实现更安全、可控的FTP(File Transfer Protocol)访问。VSFTPD是一个开源的FTP服务器软件,因其安全性高而受到...

    vsftpd虚拟

    同时,为每个虚拟用户创建一个自定义配置文件,比如`/etc/vsftpd_user_conf/admin`,并设置相应的权限和功能: ``` anon_world_readable_only=NO write_enable=YES anon_upload_enable=YES anon_mkdir_write_enable...

Global site tag (gtag.js) - Google Analytics