`
wangrl
  • 浏览: 148882 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

vsFTPd建立多个虚拟用户支持ftp不同访问

 
阅读更多

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

  • dcp_temp
  • dcp_bak

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

  • mrsuser
  • mrsadmin

使得

  • 用户mrsuser 的主目录为 dcp_temp,在该目录下只有只读权限
  • 用户mrsadmin 的主目录为 vsftpd,在该目录下拥有所有权限

创建虚拟用户数据库

创建文本文件loguser.txt

格式如下:

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

生成数据库

保存虚拟帐号和密码的文本文件无法被系统帐号直接调用哈~我们需要使用db_load命令生成db口令数据库文件.

[root@redhat home]# db_load -T -t hash -f /home/loguser.txt /etc/vsftpd/account.db

[root@redhat home]# ll /etc/vsftpd/

总计 20
-rw------- 1 root root 4449 12-25 20:34 vsftpd.conf
-rw-r--r-- 1 root root 12288 12-25 23:12 account.db 生成数据库成功

数据库文件中保存着虚拟帐号的密码信息,为了防止非法用户盗取哈,我们可以修改该文件的访问权限。生成的认证文件的权限应设置为只对 root 用户可读可写,即 600

[root@redhat home]# chmod 600 /etc/vsftpd/account.db

[root@redhat home]# ll /etc/vsftpd/account.db
-rw------- 1 root root 12288 12-25 23:12 /etc/vsftpd/account.db

配置PAM文件

为了使服务器能够使用数据库文件,对客户端进行身份验证,需要调用系统的PAM模块.PAM(Plugable Authentication Module)为可插拔认证模块,不必重新安装应用系统,通过修改指定的配置文件,调整对该程序的认证方式。PAM模块配置文件路径为/etc/pam.d/目录,此目录下保存着大量与认证有关的配置文件,并以服务名称命名。

[root@redhat home]#vi /etc/pam.d/vsftpd //修改vsftpd对应的PAM配置文件/etc/pam.d/vsftpd,将默认配置使用“#”全部注释,添加相应字段

#%PAM-1.0
#session optional pam_keyinit.so force revoke
#auth required pam_listfile.so item=user sense=deny file=/etc/vsftpd/ftpusers onerr=succeed
#auth required pam_shells.so
#auth include system-auth
#account include system-auth
#session include system-auth
#session required pam_loginuid.so
authrequired /lib/security/pam_userdb.sodb=/etc/vsftpd/account

accountrequired /lib/security/pam_userdb.sodb=/etc/vsftpd/account

注意 我们上一步建立的数据库account.db在此处被使用: db=/etc/vsftpd/account 格式是这样的,去掉.db后缀
我们建立的虚拟用户将采用PAM进行验证,这是通过/etc/vsftpd.conf文件中的 语句pam_service_name=vsftpd来启用的,稍后你将发现。

为虚拟用户创建本地系统用户

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

[root@redhat home]# useradd vsftpd -d /home/vsftpd -s /bin/false

[root@redhat home]# chown vsftpd:vsftpd /home/vsftpd

/etc/vsftpd.conf

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

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

/etc/vsftpd/vsftpd_user_conf

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

user_config_dir=/etc/vsftpd/vsftpd_user_conf

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

[root@redhat home]# mkdir /etc/vsftpd/vsftpd_user_conf

[root@redhat home]# cd /etc/vsftpd/vsftpd_user_conf

[root@redhat vsftpd_user_conf ]# touch mrsuser mrsadmin

mrsuser文件中的内容如下


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


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

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

参考: http://www.phpfans.net/article/htmls/201008/Mjk0MTU4.html

在拥有上传或创建文件的权限下,若出现 553 Could not create file

若vsftpd用户都使用同一个主目录 ,假设是/home/vsftpd

这个目录的权限应该是770,owner是root,group是vsftpd

chmod 770 /home/vsftpd

chown root:vsftpd /home/vsftpd


分享到:
评论

相关推荐

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

    Centos 8 FTP服务器完美配置方案,实现多虚拟用户FTP连接,同时解决FTP PORT和PASV模式下,存在的问题。

    Linux FTP服务配置

    anonymous_enable=yes/no 是否允许匿名用户访问 anon_upload_enable=yes/no 是否允许匿名用户上传文件 anon_mkdir_write_enable=yes/no 是否允许匿名用户创建目录 anon_other_write_enable=yes/no 匿名用户和虚拟...

    vsftpd最新版3.0.3.tar.zip

    vsftpd 是一个 UNIX 类操作系统上运行的服务器的名字,它可以运行在诸如 Linux、BSD、Solaris、 HP-UNIX等系统上面,是一个完全免费的、开发源代码的ftp服务器软件,支持很多其他的 FTP 服务器所不支持的特征。...

    vsftpd-3.0.3-12-arm64.deb

    vsftpd软件包具有很多功能,包括支持ipv6、支持虚拟用户、支持SSL / TLS安全传输、支持虚拟用户分配权限、支持文件限速等。因此,它被广泛地用于各种Linux系统的FTP服务器的实现。 使用vsftpd_3.0.3-12_arm64.deb...

    浅析Linux中vsftpd服务配置(匿名,用户,虚拟用户)

    vsftpd 是一个 UNIX 类操作系统上运行的服务器的名字,它可以运行在诸如 Linux、BSD、Solaris、 HP-UNIX等系统上面,是一个完全免费的、开放源代码的ftp服务器软件,支持很多其他的 FTP 服务器所不支持的特征。...

    vsftp建立虚拟用户不同目录分配不同权限操作步骤详解

    1、在/etc/vsftpd/vsftpd.conf加入或者更改以下配置语句: 代码如下:anonymous_enable=NO (当然你也可以设成YES,同时允许匿名用户登陆)local_enable=YES (必须置YES,因为虚拟用户是映射到virtual这个本地用户来...

    vsftpd-3.0.5

    vsftpd 是一个 UNIX 类操作系统上运行的服务器的名字,它可以运行在诸如 Linux、BSD、Solaris、 HP-UNIX等系统上面,是一个完全免费的、开放源代码的ftp服务器软件,支持很多其他的 FTP 服务器所不支持的特征。...

    FTP虚拟用户的使用方法

    如果想多个用户同时访问某一个目录,同时对同一目录下有着不同的权限,比如部分用户只能看,不修改,或者有的用户只能下载不能上传这些权限,这些设定只能通过vsftp中的虚拟用户来进行设定,普通的用户无法达到这样...

    安全的FTP服务器 vsftpd简介

    创建虚拟用户的可能性 IPv6支持 中等偏上的性能 分配虚拟 IP 的可能性 高速 vsftpd 的名字代表”very secure FTP daemon”, 安全是它的开发者 Chris Evans 考虑的首要问题之一。在这个 FTP 服务器设计开发的最开始的...

    CentOS7搭设FTP服务器的方法步骤

    Linux 中文件都有对应的所有者,虚拟用户认证指的是,创建一个或多个 FTP 用户,并将这些 FTP 用户与 Linux 本地的某个用户(如 vftpuser )进行映射,这样完成映射的用户在对 FTP 目录进行操作时等同于用户 ...

    linux下vsftpd的安装及配置使用详细步骤(推荐)

    vsftpd 是一个 UNIX 类操作系统上运行的服务器的名字,它可以运行在诸如 Linux、BSD、Solaris、 HP-UNIX等系统上面,是一个完全免费的、开放源代码的ftp服务器软件,支持很多其他的 FTP 服务器所不支持的特征。...

    通信与网络中的玩转vsftpd服务器的四大高级配置

    该服务器支持很多其他传统的FTP服务器不支持的良好特征,本文将介绍该服务使用的一些高级配置方式。  1、虚拟用户使用vsftpd服务器  虚拟用户是指在FTP服务器上拥有账号,并且该账号只能用于文件传输服务的用户...

    vsftpd用户禁止ssh登陆的实现方法

    vsftp 是一款使用方便,且安全的ftp服务器端的软件。可以使用系统用户登陆,也可以使用虚拟用户登陆,进行登陆。 如果使用系统用户登陆的时候,默认情况,该用户可以登陆到系统中。意思是,可以登陆ftp服务器,也可以...

    RedHat_Enterprise_Linux6_上安装及配置vsftp

    最近在学Linux,很多问题也是参考了网上很多的资料,自己也是亲自测试了很多东西。 我现在用的虚拟机VM8,安装Linux6的时候默认使用了一个easy install。。让我没法选了,也不知道是不是有办法不实用,也没选项什么...

    Ubuntu权威指南(2/2)

    5.15.3 使用grep检索多个文件 128 5.15.4 检索不包含特定字符 ??串的文本行 129 5.15.5 在grep中使用正则 ??表达式 129 5.15.6 检索元字符本身 131 5.15.7 在命令行中使用引号 131 5.16 排序 132 第6章 编辑文件 133...

    Ubuntu权威指南(1/2)

    5.15.3 使用grep检索多个文件 128 5.15.4 检索不包含特定字符 ??串的文本行 129 5.15.5 在grep中使用正则 ??表达式 129 5.15.6 检索元字符本身 131 5.15.7 在命令行中使用引号 131 5.16 排序 132 第6章 编辑文件 133...

    LNMP一键安装包 0.5 完整版/下载版.gz

     1、添加虚拟主机,执行如下命令:./vhost.sh 根据提示输入要绑定的域名,回车,如果需要添加更多的域名,输入y,再输入要另外绑定的域名,多个域名可以用空格隔开。再输入域名绑定的目录(绝对目录,如/home/...

Global site tag (gtag.js) - Google Analytics