首先我们假定你已经安装了vsftpd,并在/home/vsftpd 目录下建立了以下2个子目录
下面,我们要建2个虚拟用户,密码分别是用户名后加"00"
使得
- 用户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服务器,实现多虚拟用户FTP连接,并同时解决FTP PORT和PASV模式下的问题。 vsftpd简介 vsftpd是非常流行的FTP服务器软件,支持多种操作系统,包括CentOS、Ubuntu、Debian等。...
总之,安装并配置VSFTPD虚拟目录涉及多个步骤,包括安装软件、配置服务、创建虚拟用户、设置数据库和权限,以及验证服务的正确运行。这个过程需要对Linux系统管理、FTP服务原理以及PAM认证机制有一定的理解。一旦...
Proftpd 是一个功能强大且灵活的 FTP 服务器软件,它支持虚拟用户和多个目录的挂载。虚拟用户是指在 FTP 服务器上创建的虚拟用户 account,这些用户 account 不需要实际存在于操作系统中,而是通过配置文件来定义。...
Linux 服务器上建立基于多个 IP 的 vsFTP 站点 本文将指导您在 Linux 服务器上建立基于多个 IP 的 vsFTP 站点,每个站点相互独立,拥有独立的配置文件。该文档将详细介绍安装 vsFTP 包、添加虚拟 IP 地址、添加本地...
在许多企业环境中,FTP服务器需要支持多个用户,并且每个用户可能有不同的访问权限。例如,某些用户可能只能访问特定的目录,而另一些用户则可能拥有更广泛的权限。本文档详细介绍了如何在一个典型的Linux环境下配置...
以下是一个详细的步骤指南,涵盖了从安装依赖库到配置FTP服务以及创建虚拟用户的整个过程。 首先,确保系统安装了必要的库和软件包。你需要`db4-devel`和`db4-utils`来支持vsftpd虚拟用户功能,以及`gcc`用于编译源...
vsftpd软件包具有很多功能,包括支持ipv6、支持虚拟用户、支持SSL / TLS安全传输、支持虚拟用户分配权限、支持文件限速等。因此,它被广泛地用于各种Linux系统的FTP服务器的实现。 使用vsftpd_3.0.3-12_arm64.deb...
Linux FTP 创建虚拟用户归纳 Linux FTP 创建虚拟用户归纳是指在 Linux 服务器上创建虚拟用户,以便用户可以通过 FTP 访问服务器资源...创建虚拟用户需要经过多个步骤,但最终可以实现虚拟用户访问 FTP 服务器的资源。
Linux FTP 创建虚拟用户扫描 一、标题分析 本文的标题是「Linux FTP 创建虚拟用户扫描」,这篇文档的主要内容是讲述如何在 Linux 系统中创建虚拟用户,并对其进行 FTP 服务的配置和管理。该标题明确地表明了文档的...
这里以vsftpd为例,因为它是许多Linux发行版的默认FTP服务器,且支持虚拟用户功能。 1. **安装vsftpd** 在大多数Linux系统中,可以通过包管理器安装vsftpd: ``` sudo apt-get install vsftpd # 对于Debian/...
总的来说,配置Linux下的VSFTPD和虚拟用户涉及到多个步骤,包括设置配置文件、创建账号数据库、建立PAM文件、创建本地用户以及调整权限。这些操作确保了FTP服务的安全性和灵活性,使得管理员可以更有效地管理和控制...
在 Linux 系统中,我们可以通过添加虚拟 IP 地址、创建虚拟 FTP 服务用户、预备虚拟 FTP 服务器的配置文件、修改配置文件和启动虚拟 FTP 服务器来搭建一个虚拟的 FTP 主机。这种配置可以实现多个 FTP 站点的配置,...
也可以批量创建多个虚拟用户: ```bash for i in {1..10}; do useradd -s /sbin/nologin test2user$i && echo "pass$i" | passwd --stdin test2user$i; done ``` 2. **配置虚拟用户认证:** 修改 `/etc/...
vsftpd支持基于IP的虚拟服务器,这意味着可以在同一台物理服务器上运行多个独立的FTP服务,每个服务都绑定到不同的IP地址上,满足不同的业务需求。配置此类虚拟服务器需要在配置文件中为每个虚拟服务器指定独立的...
然后,为每个虚拟用户创建相应的子目录,如 `bob`,`alice`等。使用`chown`和`chgrp`命令设置适当的属主和属组,确保只有该虚拟用户可以访问。 6. **修改`vsftpd`主配置文件**: 编辑 `/etc/vsftpd/vsftpd.conf`,...
- **掌握多个虚拟用户访问(具有各自操作权限)的FTP服务器配置**:学会如何为不同的虚拟用户配置不同的权限。 #### 五、总结 通过本文档的学习,读者将全面掌握vsftpd的基本概念、安装配置流程以及各种高级配置...
接着,创建虚拟用户及其访问的目录,比如`/home/ftpsite`,并设置相应的权限,如`chmod 700 /home/ftpsite`,以限制仅虚拟用户访问。 在`/etc/vsftpd/vsftpd.conf`主配置文件中,我们需要启用虚拟用户支持,设置`...
在IT领域,FTP(File Transfer Protocol)...通过理解其基本配置和安全设置,您可以根据具体需求创建一个定制化的FTP服务器。提供的"vsftpd.pdf"文档可能包含更详细的步骤和高级配置选项,建议仔细阅读以获取更多信息。