1.什么时ftp
  当客户端访问主机时  主机需安装ftp 这样客户端才可以用lftp命令进行访问

2.安装ftp
主机操作
yum install vsftpd  -y
systemctl start vsftpd
systemctl stop firewalld
systemctl enable vsftpd
客户端操作
lftp ip    ##能登陆并且显示,表示安装成功


3.vsftpd文件信息
/var/ftp  ##默认发布目录【客户端访问时的目录】
/etc/vsftpd/vsftpd.conf # ftp服务的配置文件

 

4.vsftpd服务的配置参数
1)匿名用户设定【匿名用户有上传和下载的功能,都是以服务端的ftp用户身份去执行的;
                  上传:ftp必须对目录有w的权限;
                  下载: ftp必须对下载的文件或者目录有r的权限;】


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

24d98936fad1c294ec2c43e58ccffe4f.png-wh_

#<匿名用户上传>
vim /etc/vsftpd/vsftpd.conf
write_enable=YES
anon_upload_enable=YES
chgrp ftp /var/ftp/pub
chmod 775 /var/ftp/pub

 

#<匿名用户家目录修改>
anon_root=/direcotry  【匿名用户直接会进入/ftpub】

a5d624cbe091b1968f57ea9c01a534be.png-wh_

#<匿名用户上传文件默认权限修改>
anon_umask=xxx3d48ebe89be5d59a270f65f9be38015a.png-wh_

74c97a92070d4b4e39d78968eeac2608.png-wh_

#<匿名用户建立目录>
anon_mkdir_write_enable=YES|NO

5e6a71bd21f85ce9268c8259ebd2b0e9.png-wh_

d7a4bab326593d8d471efb0fe31d8e2b.png-wh_

#<匿名用户下载>
anon_world_readable_only=YES|NO  

【注意 】 * YES: ftp用户有r权限时,是不能下载的; 如果说想下载,那么其他人other必须也有读的权限;
                     * NO: ftp有r的权限即可下载;

#<匿名用户删除>

2f293e08034efde2410554c9b24d84ed.png-wh_

ef4fab377918ad187a09ce78f5e32378.png-wh_

anon_other_write_enable=YES|NO 

#<匿名用户使用的用户身份修改>
chown_uploads=YES
chown_username=student
chown_uploads_mode=0644  【匿名用户将用student用户jinru】
8a8de37fbe2aa70da4a0f57d7088cdf4.png-wh_8e3846a1cce99a870dde6f0c50074c1d.png-wh_

#<最大上传速率>
anon_max_rate=102400
#<最大链接数>
max_clients=2

2)本地用户设定
local_enable=YES|NO  ##本地用户登陆限制
write_enable=YES|NO  ##本地用户写权限限制

限制客户端以主机用户访问的权力限定

#<本地用户家目录修改>
local_root=/directory

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

#<限制本地用户浏览/目录>
所有用户被锁定到自己的家目录中
chroot_local_user=YES
chmod u-w /home/*

用户黑名单建立
chroot_local_user=NO
chroot_list_enable=YES
chroot_list_file=/etc/vsftpd/chroot_list
用户白名单建立
chroot_local_user=YES
chroot_list_enable=YES
chroot_list_file=/etc/vsftpd/chroot_list
 

dac1f0d698c3c01b537f90bf7b96052d.png-wh_

a5c6233ca0f341d85c00309915b83359.png-wh_


6b0b5d0fc928f69590a9b4690c561ef2.png-wh_【补充】

# 所有的用户不能切换到/目录;【白名单】
chroot_local_user=YES
chroot_list_enable=YES
# (default follows)
chroot_list_file=/etc/vsftpd/chroot_list

* 指定文件里面的用户不能切换到/目录;【黑名单】
chroot_local_user=NO
chroot_list_enable=YES
# (default follows)
chroot_list_file=/etc/vsftpd/chroot_list

 

#<限制本地用户登陆>
vim /etc/vsftpd/ftpusers         ##用户黑名单
vim /etc/vsftpd/user_list  ##用户临时黑名单

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

 

a0b6b1e0dd8d5c5d75628ac8d49ce043.png-wh_

e967f4551d5932652fc520ad3d0c279b.png-wh_

1a1ac9af95b60e06211208a3adc2edcc.png-wh_

 

#<ftp虚拟用户的设定>
1      【创建虚拟帐号身份】
vim /etc/vsftpd/loginusers    ##文件名称任意
ftpuser1
123
ftpuser2
123
ftpuser3
123

20e225908acc4d31b885ffe58912d141.png-wh_

8e0b538a612cf6a0288a7d24d1ed30fe.png-wh_

2    【把loginusers翻译成系统文件  让系统可以识别】
db_load -T -t hash -f /etc/vsftpd/loginusers loginusers.db

f006449da4e3ecd37d3fb9495bf7d26e.png-wh_

3
vim /etc/pam.d/ckvsftpd  ##文件名称任意
account  required pam_userdb.so db=/etc/vsftpd/loginusers
auth        required pam_userdb.so db=/etc/vsftpd/loginusers

a3f992ba1490bac83e1cfeb6ec8d51d7.png-wh_4
vim /etc/vsftpd/vsftpd.conf

[开启虚拟用户]
pam_service_name=ckvsftpd
guest_enable=YES
userlist_enable=YES
tcp_weappers=YES
虚拟帐号身份指定)
guest_username=ftpuser
  出来更该权限
 chmod u-w /home/ftpuser
然后重起系统 
  客户端就可以使用ftpuser用户lfpt主机

05c1ebf0dbd80a2b8e6c9493e5064dff.png-wh_

93aeda8f3d0b8cdec71fdfc199a71842.png-wh_

 

 

66fdebff5b9c3f92b5c4261dad9d3edc.png-wh_

830a591292448c95a1e843d23930e92f.png-wh_

00f252cc453c39eabf023dac4d943a8a.png-wh_

 

虚拟帐号家目录独立设定)
vim /etc/vsftpd/vsftpd.conf
 local_root=/ftpuserhome/$USER
  user_sub_token=$USER
5bbe6a43d4f1259224ce88524a1ad19b.png-wh_然后重启系统 

mkdir /ftpuserhome
chgrp ftpuser /ftpuserhome
chmod g+s /ftpuserhome
mkdir /ftpuserhome/ftpuser{1..3}


***完成后当客户端用ftpuser用户lftp时  就直接进入ftpuser的家目录 

 

虚拟帐号配置独立)
vim /etc/vsftpd/vsftpd.conf
user_config_dir=/etc/vsftpd/userconf
mkdir -p /etc/vsftpd/userconf

vim /etc/vsftpd/userconf/ftpuser1
在此文件中设定配置文件中的所有参数,此文件的优先级搞