.vsftpd服务

1.什么是ftp

答:ftp是一个客户机/服务器系统,用户通过一个支持ftp协议的客户机程序,连接到远程主机上的ftp服务器程序。用户通过客户机程序向服务器程序发出命令。服务器程序执行客户所发出的命令,并将执行的结果反馈给客户机。

 

.安装ftp

yum install vsftpd lftp -y##安装两个服务

systemctl start vsftpd

systemctl stop firewalld

systemctl enable vsftpd

setenforce 0##关闭selinux

结果测试:

lftp ip##能登陆并且显示,表示安装成功

 wKiom1grNr3Bz8hAAAGuoAy_Tso410.png-wh_50

.vsftpd文件信息

/var/ftp##默认发布目录

/etc/vstfpd##配置目录

/etc/vsftpd/vsftpd.conf##主配置文件

 

.服务配置参数,即功能设置

1.匿名用户设定

 

a.匿名用户登陆限制

vim /etc/vsftpd/vsftpd.conf

anonymous_enable=YES|NO##匿名用户登陆限制()

然后重新启动服务

 wKioL1grN2XhaIjaAAE2f-EF7bk035.png-wh_50



b.匿名用户上传

vim /etc/vsftpd/vsftpd.conf

write_enable=YES

anon_upload_enable=YES

chgrp ftp /var/ftp/pub ##将pub目录所有组改为ftp

chmod 775 /var/ftp/pub##设置权限775

最后测试:

wKiom1grN_ngTSAaAAGZ-_0QB8o587.png-wh_50

wKiom1grOHzz7Wp7AAKD04wi6Ms201.png-wh_50


 

c.匿名用户家目录的修改

anon_root=/direcotry

 

d.#<匿名用户建立目录>

anon_mkdir_write_enable=YES|NO

 

#<匿名用户下载>

anon_world_readable_only=YES|NO ##设定参数值为no表示匿名用户可以下载

 

#<匿名用户删除>

anon_other_write_enable=YES|NO

wKioL1grOKXABpmWAALIPTIeJ7w949.png-wh_50


 

e.#<最大上传速率>

anon_max_rate=102400

#<最大链接数>

max_clients=1

 wKioL1grOM2xipMYAAHqF2-AQNA663.png-wh_50

wKioL1grOO6xlb4PAADgrb8yx9Y237.png-wh_50

2.本地用户的设定

local_enable=YES|NO##本地用户登陆限制

write_enable=YES|NO##本地用户写权限限制

 

#<本地用户家目录修改>

local_root=/directory

 

#<本地用户上传文件权限>

local_umask=xxx

 

#<限制本地用户浏览/目

所有用户被锁定到自己的家目录中

chroot_local_user=YES

chmod u-w /home/*

wKiom1grORPz_ufEAAIHGlf_fkA751.png-wh_50

wKiom1grOSrQVDv2AAE1wGQfsnM017.png-wh_50

 

用户黑名单建立

chroot_local_user=NO

chroot_list_enable=YES

chroot_list_file=/etc/vsftpd/chroot_list

 

 touch  /etc/vsftpd/chroot_list

在文件输入一个本地用户名

如:test

wKioL1grOWKBG_wJAAHamW_YQdI875.png-wh_50


wKioL1grObGBo9LIAAKa8rerKoo575.png-wh_50

用户白名单建立

chroot_local_user=YES

chroot_list_enable=YES

chroot_list_file=/etc/vsftpd/chroot_list

 wKiom1grOc_DiPjSAAGGuE4otwk194.png-wh_50



#<限制本地用户登陆>

vim /etc/vsftpd/ftpusers##用户黑名单

vim /etc/vsftpd/user_list##用户临时黑名单

wKiom1grOfTTk5rAAAFHQDLSyjw605.png-wh_50

 

用户白名单设定

userlist_deny=NO

/etc/vsftpd/user_list##参数设定,此文件变成用户白名单,只在名单中出现的用户可以登陆ftp

 

#<ftp虚拟用户的设定>

创建虚拟帐号

vim /etc/vsftpd/loginusers##这个名字是任意设定的

在文件内编写你自己定义的虚拟帐号

xijinping##虚拟用户名

111##密码

baoyeye

111

wKioL1grOg-S0OW5AABaGeI2Rfo124.png-wh_50

 

将文件加密设置

db_load   -T -t hash -f  /etc/vsftpd/loginusers /etc/vsftpd/loginusers.db

rm -fr /etc/vsftpd/loginusers

说明:-T 表示转换

-t 表示加密方式 哈希加密

-f 表示需要加密文件的位置 后面为加密后的文件,该文件必须要在/etc/vsftpd/下

wKiom1grOj6BOO9wAABl0N_eQgs593.png-wh_50

然后再在/etc/pam.d/目录下进行编译

vim /etc/pam.d/linux##此文件名字是自定义的

编写内容如下:

account  requiredpam_userdb.sodb=/etc/vsftpd/loginusers

auth     requiredpam_userdb.sodb=/etc/vsftpd/loginusers

说明:db=/etc/vsftpd/loginusers这里的loginusers文件就是之前生成的loginusers.db文件。这里要把db这个后缀去掉

wKioL1grOm3w5-q8AACx2X5epRc698.png-wh_50

最后编译vstfpd配置文件

vim /etc/vsftpd/vsftpd.conf

pam_service_name=ckvsftpd

guest_enable=YES

guest_username=ftp

保存退出

测试:

 wKiom1grOoaDFvKdAAI4Q6C3Es4286.png-wh_50

虚拟帐号家目录独立设定)

a.创建用户家目录

 wKioL1grOp_ywi2IAAD-JHGqzZc412.png-wh_50

b.家目录的设定

vim /etc/vsftpd/vsftpd.conf

local_root=/ftpdir/$USER

user_sub_token=$USER

保存退出

wKiom1grOsKjuRjSAAFi7NEgMb8422.png-wh_50

最后测试:

wKioL1grOtmgF9moAAJFHMtdHTY556.png-wh_50