RHEL6.3配置FTP服务器(3) 虚拟用户下载和上传

简介:

除了匿名用户和本地用户之外,我们还可以设置虚拟用户来访问FTP。所谓虚拟用户是指存放于独立数据库文件中的FTP用户账号,可以将他们映射到某个不能登录的系统用户账号上,以进一步增强FTP服务器的安全性。


(1)创建虚拟用户数据库文件
vsftpd服务的虚拟用户数据库是使用Berkeley DB格式的数据库文件,建立数据库文件需要用到db_load命令工具,db_load工具是由db4-utils软件包提供的,所以首先我们需要确认系统中已经安装好了db4-utils组件。
081137848.jpg

然后我们先建立一个文本格式的用户名/密码列表文件,用于存放虚拟用户账号。文件名可以随意,文件一般是保存在/etc/vsftpd目录中。
# vim /etc/vsftpd/logins.txt
081352743.jpg

文件中的奇数行表示用户名,偶数行为上一行用户所对用的密码。如上图就表示创建了2个虚拟用户:harry和natasha,密码都是123.
有了文本格式的用户名/密码列表文件以后,还要以此文件为数据源通过db_load工具创建出Berkeley DB格式的数据库文件。
081440936.jpg

上图中所执行的db_load命令是一种固定用法,其中的“-T”选项表示允许非Berkeley DB的应用程序使用从文本格式转换的DB数据库文件,“-t hash”选项指定读取数据文件的基本方法,“-f”选项用于指定数据的源文件。
最后为了提高虚拟用户账号的安全性,最好将这两个存放虚拟用户账号的文件的权限都设为600,即只有root用户具有读取和写入权限。

081531627.jpg


(2)创建虚拟用户的映射账号
vsftpd服务对虚拟用户其实是采用了映射的控制方式,把所有的虚拟用户账号都对应到了同一个系统用户账号上,并将这个系统用户的主目录作为所有虚拟用户登录后共用的FTP根目录。
所以我们还必须要创建一个系统用户账号,当然这个用户是无需设置密码并且不允许登录系统。
081629848.jpg

在useradd命令中,利用-d选项指定了用户的主目录,利用-s选项禁止用户登录。然后再修改目录权限,使得其他用户可以访问。


 

(3)创建PAM认证文件
对虚拟用户的身份认证是通过PAM机制来实现的,PAM是Linux系统中的一个独立API(应用程序接口),它提供了各种验证模块以供其它程序调用。当这些程序需要进行用户身份验证的操作时,就可以直接调用PAM的相应模块,而无需由自己来提供验证功能。所以PAM在Linux系统中提供了统一的身份验证机制。
PAM的认证文件都统一存放在/etc/pam.d/目录中,下面我们在这个目录中创建一个FTP虚拟用户的认证文件:
# vim /etc/pam.d/vsftpd.vu
081822602.jpg

在文件中,通过“db=/etc/vaftpd/logins”参数指定了要使用的虚拟用户数据库文件的位置,注意这里不需要写“.db”的扩展名。


 

(4)修改vsftpd配置,添加虚拟用户支持
在vsftpd.conf配置文件中需要添加相应配置项,以支持虚拟用户。
081945273.jpg

上图中上半部分的设置项是原有的设置,下半部分(红框部分)的设置项是我们这里所要添加的。

  •  guest_enable=YES ,表示启用虚拟用户映射功能;

  •  guest_username=virtual ,表示指定所映射的系统用户名称;

  •  pam_service_name=vsftpd.vu ,表示指定PAM认证文件。

  •  user_config_dir=/etc/vsftpd/vuser ,表示虚拟用户配置文件的存放目录。关于虚拟用户配置文件将在下面介绍。

另外,其它原有的一些设置项目也必须要正确设置:

  •  local_enable=YES ,由于需要映射本地用户,所以此项必须启用;

  •  anon_umask=022 ,在vsftpd服务中,虚拟用户被默认作为匿名用户进行处理以降低权限,因此对应的配置项通常以anon_开头。

  •  write_enable=YES ,表示允许写入。


     

(5)创建虚拟用户配置文件
经过前面的设置之后,将vsftpd服务重启,便可以使用虚拟用户访问FTP了,但此时所有的虚拟用户都只具有下载的权限而无法上传。当然,如果在vsftpd.conf配置文件中添加配置项“aono_upload_enable=YES”和“anon_mkdir_write_enable=YES”,便可以使虚拟用户具备上传权限,但这样一来,所有的虚拟用户又都可以上传了。所以,为了对虚拟用户进行精确控制,实现不同用户拥有不同的权限,我们还需要为每个虚拟用户建立独立的配置文件,在vsftpd.conf配置文件中我们已经指定了虚拟用户配置文件的存放位置/etc/vsftpd/vuser。
下面我们首先创建虚拟用户配置文件存放目录,然后为harry用户创建配置文件,文件名即是用户名:

082316906.jpg

然后设置允许harry用户上传,设置方法同匿名用户:

082402644.jpg

然后我们再为natasha也创建一个配置文件,如果natasha只允许下载,那么只需要有一个配置文件即可,文件内容保持空白。
root@localhost ~ ] # touch natasha
重启服务:
# service vsftpd restart
这样虚拟用户便全部设置好了,harry用户具有下载和上传的权限,而natasha只能下载不能上传。 

 最后需要注意的是,如果在vsftpd.conf配置文件中设置了“userlist_enable=YES   userlist_deny=NO”,即只允许userlist列表中的用户访问FTP,那么还需要将virtual用户加入到/etc/vsftpd/user_list列表中去。

 

 

 本文转自 yttitan 51CTO博客,原文链接:http://blog.51cto.com/yttitan/1219381

 



相关文章
|
7天前
|
消息中间件 安全 Unix
SSH配置多台服务器之间的免密登陆以及登陆别名
SSH配置多台服务器之间的免密登陆以及登陆别名
18 1
|
22天前
|
弹性计算
2024年阿里云服务器不同实例规格与配置实时优惠价格整理与分享
2024年阿里云服务器的优惠价格新鲜出炉,有特惠云服务器也有普通优惠价格,本文为大家整理汇总了2024年阿里云服务器的优惠价格,包含特惠云服务器和其他配置云服务器的优惠价格。以便大家了解自己想购买的云服务器选择不同实例规格和带宽情况下的价格,仅供参考。
2024年阿里云服务器不同实例规格与配置实时优惠价格整理与分享
|
4天前
|
存储 弹性计算 安全
阿里云服务器2核2G、2核4G配置最新租用收费标准及活动价格参考
2核2G、2核4G配置是很多个人和企业建站以及部署中小型的web应用等场景时首选的云服务器配置,这些配置的租用价格也是用户非常关心的问题,本文为大家整理汇总了2024年阿里云服务器2核2G、2核4G配置不同实例规格及地域之间的收费标准,同时整理了这些配置最新活动价格,以供大家参考和选择。
阿里云服务器2核2G、2核4G配置最新租用收费标准及活动价格参考
|
7天前
|
域名解析 网络协议 应用服务中间件
阿里云服务器配置免费https服务
阿里云服务器配置免费https服务
|
10天前
|
数据采集
robots.txt配置 减小服务器压力
robots.txt配置 减小服务器压力
13 0
|
13天前
|
Ubuntu 网络安全 数据安全/隐私保护
ubuntu篇-配置FTP服务,本机和docker安装
通过以上步骤,你可以在Ubuntu上配置FTP服务,无论是本机安装还是Docker内安装,都可以提供FTP文件传输服务。 买CN2云服务器,免备案服务器,高防服务器,就选蓝易云。百度搜索:蓝易云
20 1
|
21天前
|
网络协议 Linux 网络安全
Linux服务器DNS服务器配置实现bind的正向解释和反向解释
Linux服务器DNS服务器配置实现bind的正向解释和反向解释
17 0
|
22天前
|
弹性计算 网络安全 虚拟化
ECS数据问题之升级配置预防数据丢失如何解决
ECS(Elastic Compute Service,弹性计算服务)是云计算服务提供商提供的一种基础云服务,允许用户在云端获取和配置虚拟服务器。以下是ECS服务使用中的一些常见问题及其解答的合集:
|
25天前
|
Ubuntu JavaScript 关系型数据库
在阿里云Ubuntu 20.04服务器中搭建一个 Ghost 博客
在阿里云Ubuntu 20.04服务器上部署Ghost博客的步骤包括创建新用户、安装Nginx、MySQL和Node.js 18.x。首先,通过`adduser`命令创建非root用户,然后安装Nginx和MySQL。接着,设置Node.js环境,下载Nodesource GPG密钥并安装Node.js 18.x。之后,使用`npm`安装Ghost-CLI,创建Ghost安装目录并进行安装。配置过程中需提供博客URL、数据库连接信息等。最后,测试访问前台首页和后台管理页面。确保DNS设置正确,并根据提示完成Ghost博客的配置。
在阿里云Ubuntu 20.04服务器中搭建一个 Ghost 博客
|
28天前
|
存储 弹性计算 数据可视化
要将ECS中的文件直接传输到阿里云网盘与相册(
【2月更文挑战第31天】要将ECS中的文件直接传输到阿里云网盘与相册(
415 4

热门文章

最新文章