ICode9

精准搜索请尝试: 精确搜索
首页 > 系统相关> 文章详细

Linux系统vsftpd服务器端搭建

2021-07-15 21:00:25  阅读:148  来源: 互联网

标签:ftp 服务器端 etc 用户 vsftpd 虚拟 Linux YES


概述

       vsftpd 是“very secure FTP daemon”的缩写,是一款在Linux发行版中最受推崇的、完全免费的、开放源代码的ftp文件服务器软件,其支持很多其他的 FTP 服务器所不支持的特征,具有很高的安全性。

安装

       1、安装vsftpd:yum -y install vsftpd

       2、配置vsftpd:

              vsftpd支持匿名用户、系统用户和虚拟用户三类账号登陆, 匿名用户访问存在安全问题,系统用户访问可以解决匿名用户带来的安全问题,但是系统用户使用系统账号和系统密码进行访问,依然存在安全隐患,所以实际工作中大多使用虚拟用户访问ftp服务器:多个虚拟用户映射一个系统用户,虚拟用户和所映射的系统用户均不能登陆linux系统,用户只能通过虚拟用户登陆ftp服务器,这样大大提高了系统安全性,步骤如下:

              a、创建存储虚拟用户账号和密码的文件,并添加虚拟用户账号和密码:

                     i、vim /etc/vsftpd/virtusers.txt

                     ii、添加用户信息,其中第一行为账号,第二行为密码,以此类推,如下所示:

                  

                   iii、保存用户信息。

              b、生成虚拟用户账号和密码认证文件:

              db_load -T -t hash -f /etc/vsftpd/virtusers.txt /etc/vsftpd/virtusers.db #db_load 用于对信息文件进行hash加密,并生成二进制数据库文件,此时加密前的信息文件可以删除
              c、配置pam验证文件

                     i、vim /etc/pam.d/vsftpd

                     ii、注释掉所有原有配置,可以禁止系统用户登陆

                     iii、末尾换行,添加如下配置:

             auth          required     pam_userdb.so db=/etc/vsftpd/virtusers

             account       required     pam_userdb.so db=/etc/vsftpd/virtusers

                 iv、保存配置信息。

              d、创建虚拟用户所映射的系统用户、ftp上传下载根目录:

                     useradd vsftpd -d /home/share -s /sbin/nologin

                     chmod 755 /home/share

 e、修改/etc/vsftpd/vsftpd.conf配置文件,如下所示:

anonymous_enable=NO #关闭匿名用户登录,不影响虚拟用户登陆

write_enable=YES #允许上传文件到FTP服务器

anon_upload_enable=YES #允许上传文件 

anon_mkdir_write_enable=YES #允许创建和删除目录

anon_other_write_enable=YES #允许文件重命名、文件删除和文件覆盖

anon_world_readable_only=NO #允许浏览FTP目录和下载

chroot_local_user=YES #设置系统用户只能访问ftp根目录及其子目录,不能访问该目录的上级目录

pam_service_name=vsftpd #指定pam服务名,该名称为/etc/pam.d/目录下vsfptd文件的文件名

guest_enable=YES #开启虚拟用户

guest_username=vsftpd #指定虚拟用户所映射的系统用户

allow_writeable_chroot=YES#在vsftpd 2.3.5之后,vsftpd增强了安全检查,如果系统用户只能访问ftp根目录及其子目录,则该根目录(/home/share)不能有写权限,如果检查发现还有写权限,则登陆ftp服务器时报错:500 OOPS: vsftpd: refusing to run with writable root inside chroot()

       3、开放端口:

          firewall-cmd --zone=public --add-port=21/tcp --permanent

          firewall-cmd --reload

       4、启动:systemctl start vsftpd.service

       5、开机启动:systemctl enable vsftpd.service

标签:ftp,服务器端,etc,用户,vsftpd,虚拟,Linux,YES
来源: https://blog.csdn.net/qq_50804219/article/details/118768331

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有