Linux下vsftp虚拟用户配置与主动模式被动模式_Ubuntu_青云站长教程网
欢迎来到站长教程网!
  • 秒到短信接口 免费试用
  • 微信支付宝接口 秒结算
  • 中文网站排名|申请加入
  • 搜索引擎全站查询
  • 查询移动网站权重数据
  • 海外主机 台湾公司直销
  • Ubuntu

    当前位置:主页 > 服务器教程 > Ubuntu >

    Linux下vsftp虚拟用户配置与主动模式被动模式

    时间:2019-08-12|栏目:Ubuntu|点击:
  • VSFTP是一个在UNIX/Linux操作系统上运行的FTP服务器,安全性是它的一个最大的特点。它可以运行在诸如Linux、BSD、Solaris、 HP-UNIX等系统上面,是一个完全免费的、开发源代码的FTP服务器软件,支持很多其他的FTP服务器所不支持的特征。比如:非常高的安全性需求、带宽限制、良好的可伸缩性、可创建虚拟用户、支持IPv6、速率高等。

    本文所有配置是在CentOS 5.8-64位系统上进行,配置的是vsftp虚拟用户模式,虚拟用户的特点是只能访问服务器为其提供的FTP服务,而不能访问系统的其它资源。所以,如果想让用户对FTP服务器站内具有写权限,但又不允许访问系统其它资源,可以使用虚拟用户来提高系统的安全性。

    VSFTP安装与配置 安装

    使用yum命令来安装vsftpd和DB软件包:

    yum -y install vsftpd db4-utils 建立口令库文件

    建立虚拟用户口令库文件,使用文本编辑器创建一个文本文件,第一行写:用户名;第二行写:密码,依此类推:

    vim logins.txt sunkai <--虚拟用户名 123456 <--密码 生成认证文件

    使用db_load命令生成vsftpd的认证文件,将用户信息文件转换为数据库并使用hash加密:

    db_load -T -t hash -f logins.txt /etc/vsftpd/vsftpd_login.db

    赋权:

    chmod 600 /etc/vsftpd/vsftpd_login.db

    数据库生成后最好清空该文本文件,并在安全的地方记录用户名和密码:

    rm -f logins.txt

    db_load参数解释:

    选项-T允许应用程序能够将文本文件转译载入进数据库。由于我们之后是将虚拟用户的信息以文件方式存储在文件里的,为了让Vsftpd这个应用程序能够通过文本来载入用户数据,必须要使用这个选项。如果指定了选项-T,那么一定要追跟子选项-t。

    子选项-t,追加在在-T选项后,用来指定转译载入的数据库类型。扩展介绍下,-t可以指定的数据类型有Btree、Hash、Queue和Recon数据库。

    选项-f的参数是包含用户名和密码的文本文件,文件的内容是:奇数行用户名、偶数行密码。

    建立PAM配置文件

    建立虚拟用户所需的PAM配置文件,目的是对虚拟用户的安全和账户权限进行验证。

    auth是对用户密码进行验证。

    accout是对用户的权限进行验证。

    vim /etc/pam.d/vsftpd 加入下面内容,其他行全部注释: auth required /lib/security/pam_userdb.so db=/etc/vsftpd/vsftpd_login account required /lib/security/pam_userdb.so db=/etc/vsftpd/vsftpd_login 64位系统: auth required /lib64/security/pam_userdb.so db=/etc/vsftpd/vsftpd_login account required /lib64/security/pam_userdb.so db=/etc/vsftpd/vsftpd_login 创建账户和设置权限 创建虚拟用户

    创建一个不能登录系统的用户ftpuser用于映射虚拟用户,用户名ftpuser可以随意设置:

    useradd -d /home/ftpsite -s /sbin/nologin ftpuser chmod 700 /home/ftpsite/

    在vsftpd.conf中添加配置项:

    guest_enable=YES guest_username=ftpuser

    当guest_enable激活(YES)时,guest_username是定义了虚拟用户在系统中的用户名。

    创建宿主目录,也可以指定系统其他目录:

    mkdir /home/ftpsite/sunkai 设置权限

    对不同虚拟用户设置不同权限,创建虚拟用户配置文件存放位置:

    mkdir /etc/vsftpd/vsftpd_user_conf vim /etc/vsftpd/vsftpd_user_conf/sunkai #建立用户单独配置文件,文件名就是虚拟用户名。 local_root=/home/ftpsite/sunkai #这里的目录可以是系统中其他目录,根据用途定义。 file_open_mode=0777 write_enable=YES virtual_use_local_privs=YES #配置虚拟用户具有写权限(上传、下载、删除、重命名)

    在vsftpd.conf添加配置项:

    user_config_dir=/etc/vsftpd/vsftpd_user_conf 禁锢FTP用户在宿主目录

    将需要禁锢的用户名写入chroot_list文件,将用户固定在local_root定义的目录内。当chroot_list_enable激活(YES)时,在chroot_list_file指定文件中的用户将会禁锢在宿主目录中。

    vim /etc/vsftpd/chroot_list chroot_list_enable=YES chroot_list_file=/etc/vsftpd/chroot_list #每一行写一个用户名。 其他权限配置方案 虚拟用户和本地用户有相同的权限 virtual_use_local_privs=YES 虚拟用户和匿名用户有相同的权限,默认是NO virtual_use_local_privs=NO 虚拟用户具有写权限(上传、下载、删除、重命名) virtual_use_local_privs=YES write_enable=YES 虚拟用户不能浏览目录,只能上传文件,无其他权限 virtual_use_local_privs=NO write_enable=YES anon_world_readable_only=YES anon_upload_enable=YES 虚拟用户只能下载文件,无其他权限 virtual_use_local_privs=NO write_enable=YES anon_world_readable_only=NO anon_upload_enable=NO 虚拟用户只能上传和下载文件,无其他权限 virtual_use_local_privs=NO write_enable=YES anon_world_readable_only=NO anon_upload_enable=YES 虚拟用户只能下载文件和创建文件夹,无其他权限 virtual_use_local_privs=NO write_enable=YES anon_world_readable_only=NO anon_mkdir_write_enable=YES 虚拟用户只能下载、删除和重命名文件,无其他权限 virtual_use_local_privs=NO write_enable=YES anon_world_readable_only=NO anon_other_write_enable=YES FTP的主动端口与被动端口配置

    上一篇:Nginx + Tomcat 负载均衡实现实例

    栏    目:Ubuntu

    下一篇:自动化运维工具Ansible使用教程

    本文标题:Linux下vsftp虚拟用户配置与主动模式被动模式

    本文地址:http://www.jh-floor.com/fuwuqijiaocheng/Ubuntu/20005.html

    您可能感兴趣的文章

    广告投放 | 联系我们 | 版权申明

    重要申明:本站所有的文章、图片、评论等,均由网友发表或上传并维护或收集自网络,属个人行为,与本站立场无关。

    如果侵犯了您的权利,请与我们联系,我们将在24小时内进行处理、任何非本站因素导致的法律后果,本站均不负任何责任。

    联系QQ:888888 | 邮箱:888888#qq.com(#换成@)

    Copyright © 2002-2017 青云站长教程网 版权所有 琼ICP备xxxxxxxx号