Linux系统vsftpd服务器端搭建

2021/7/16 7:06:34

本文主要是介绍Linux系统vsftpd服务器端搭建,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

概述

       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



这篇关于Linux系统vsftpd服务器端搭建的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!


扫一扫关注最新编程教程