###unit.9 vsftpd服务###

1.什么是ftp


2.安装ftp
yum install vsftpd -y
systemctl start vsftpd
firewall-cmd --permanent --add-server=ftp
firewall-cmd --reload
firewall-cmd --list-all
public (default, active)
  interfaces: eth0
  sources:
  services: dhcpv6-client ftp ssh
  ports:
  masquerade: no
  forward-ports:
  icmp-blocks:
  rich rules:

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

3.vsftpd文件信息
/var/ftp            ##默认发布目录
/etc/vsftpd            ##配置目录

4.vsftpd服务的配置参数
1)匿名用户设定
anonymous_enable=YES|NO        ##匿名用户登陆的限制

匿名用户上传
vim /etc/vaftpd/vsftpd.conf
write_enable=YES
anon_upload_enable=YES
chgrp ftp /var/ftp/pub
chmod 775 /var/ftp/pub
setenforce 0    

匿名用户家目录修改
anon_root=/direcotry

匿名用户上传文件默认权限修改
anon_umask=XXX

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

匿名用户下载
anon_world_readable_only=YES|NO

匿名用户删除
anon_other_write_enable=YES|NO

匿名用户使用的用户身份修改
chown_uploads=YES
chown_username=student

最大上传速率
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

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

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


ftp虚拟用户的设定
创建虚拟帐号身份
vim /etc/vsftpd/userfile    ##文件名称任意
westos1
123
westos2
123
westos3
123

db_load -T -t hash -f /etc/vsftpd/userfile userfile.db        ##(-T表示转换,-t表示加密格式,-f表示指定文件)

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

vim /etc/vsftpd/vsftpd.conf
pam_service_name=westos
guest_enable=YES

虚拟帐号身份指定
guest_username=ftpuser
chmod u-w /home/ftpuser

虚拟帐号家目录独立设定
vim /etc/vsftpd/vsftpd.conf
local_root=/ftpuserhome/$USER
user_sub_token=$USER