概述

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、添加用户信息,其中第一行为账号,第二行为密码,以此类推,如下所示:

Linux系统vsftpd服务器端搭建教程

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, etc, ftp, 虚拟, 用户, vsftpd, YES, 服务器端

相关文章推荐

添加新评论,含*的栏目为必填