CentOS 7.3安装配置Vsftpd文件服务器(3)

Vsftpd匿名用户设置完毕,匿名用户,任何人都可以查看FTP服务器端的文件、目录,甚至可以修改、删除,此方案如适合存放私密文件在FTP服务器端,如何保证文件或者目录专属拥有者呢,Vsftpd系统用户可以实现该需求。

实现Vsftpd系统用户方式验证,只需在Linux系统中创建多个用户即可,创建用户使用useradd,同时给用户设置密码,即可通过用户和密码登录FTP,进行文件上传、下载、删除等操作。Vsftpd系统用户实现方法步骤如下:

(1)   Linux系统中创建系统用户jfedu1、jfedu2,分别设置密码为123456:

useradd  jfedu1

useradd  jfedu2

echo 123456|passwd --stdin  jfedu1

echo 123456|passwd --stdin  jfedu2

 

(2)   修改vsftpd.conf配置文件代码如下:

anonymous_enable=NO

local_enable=YES

write_enable=YES

local_umask=022

dirmessage_enable=YES

xferlog_enable=YES

connect_from_port_20=YES

xferlog_std_format=YES

listen=NO

listen_ipv6=YES

pam_service_name=vsftpd

userlist_enable=YES

tcp_wrappers=YES

 

(3)   通过Windows资源客户端验证,使用jfedu1、jfedu2用户登录FTP服务器,即可上传文件、删除文件、下载文件,jfedu1、jfedu2系统用户上传文件的家目录在/home/jfedu1、/home/jfedu2下,如图1-7(a)、1-7(b)所示:

wKioL1lDWfGRaITZAACAPZMTsqo153.png

图1-7(a) jfedu1用户登录FTP服务器

wKiom1lDWgrRHlQUAACDrFjL9vc896.png

图1-7(b) jfedu1登录FTP服务器上传文件

6、Vsftpd虚拟用户配置

如果基于Vsftpd系统用户访问FTP服务器,系统用户越多越不利于管理,而且不利于系统安全管理,鉴于此,为了能更加的安全使用VSFTPD,需使用Vsftpd虚拟用户方式。

Vsftpd虚拟用户原理:虚拟用户就是没有实际的真实系统用户,而是通过映射到其中一个真实用户以及设置相应的权限来实现访问验证,虚拟用户不能登录Linux系统,从而让系统更加的安全可靠。

Vsftpd虚拟用户企业案例配置步骤如下:

(1)   安装Vsftpd虚拟用户需用到的软件及认证模块:

yum  install   pam*  libdb-utils  libdb*   --skip-broken  -y

 

(2)   创建虚拟用户临时文件/etc/vsftpd/ftpusers.txt,新建虚拟用户和密码,其中jfedu001、jfedu002为虚拟用户名,123456为密码,如果有多个用户,依次格式填写即可:

jfedu001

123456

jfedu002

123456

 

(3)   生成Vsftpd虚拟用户数据库认证文件,设置权限700:

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

chmod  700   /etc/vsftpd/vsftpd_login.db

 

(4)   配置PAM认证文件,/etc/pam.d/vsftpd行首加入如下两行:

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

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

 

(5)   所有Vsftpd虚拟用户需要映射到一个系统用户,该系统用户不需要密码,也不需要登录,主要用于虚拟用户映射使用,创建命令如下:

useradd    -s   /sbin/nologin    ftpuser

 

(6)   完整vsftpd.conf配置文件代码如下:

#global config Vsftpd 2017

anonymous_enable=YES

local_enable=YES

write_enable=YES

local_umask=022

dirmessage_enable=YES

xferlog_enable=YES

connect_from_port_20=YES

xferlog_std_format=YES

listen=NO

listen_ipv6=YES

userlist_enable=YES

tcp_wrappers=YES

#config virtual user FTP

pam_service_name=vsftpd

guest_enable=YES

guest_username=ftpuser

user_config_dir=/etc/vsftpd/vsftpd_user_conf

virtual_use_local_privs=YES

 

如上Vsftpd虚拟用户配置文件参数详解:

#config virtual user FTP

pam_service_name=vsftpd                                     虚拟用户启用pam认证;

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/8a259a212a6004ec9abe16aaa1a15fef.html