1.什么是ftp
ftp时internet上仍常用的最老的网络协议之一,它为系统提供了通过网络与远程服务器进行传输的简单方法

2.安装ftp

yum install vsftpd  -y

firewall-config           打开ftp服务,并且重新加载

linux云自动化系统运维20(vsftpd服务)_linux

vim  /etc/sysconfig/selinux         将其设置为disable后重新启动
systemctl start vsftpd

systemctl enable vsftpd   设置自启

linux云自动化系统运维20(vsftpd服务)_linux_02


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

linux云自动化系统运维20(vsftpd服务)_linux_033.vsftpd文件信息
/var/ftp/        ##默认发布目录
/etc/vsftpd        ##配置目录

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

linux云自动化系统运维20(vsftpd服务)_Linux_04linux云自动化系统运维20(vsftpd服务)_linux_05#<匿名用户上传>
vim /etc/vsftpd/vsftpd.conf
write_enable=YES                       匿名用户的写权限
anon_upload_enable=YES        匿名用户的上传权限
chgrp ftp /var/ftp/pub                   将pub的组改为ftp
chmod 775 /var/ftp/pub    

linux云自动化系统运维20(vsftpd服务)_Linux_06

linux云自动化系统运维20(vsftpd服务)_linux_07

linux云自动化系统运维20(vsftpd服务)_Linux_08

         

#<匿名用户家目录修改>
anon_root=/direcotry                  设置匿名用户的家目录
linux云自动化系统运维20(vsftpd服务)_linux_09

#<匿名用户上传文件默认权限修改>    
anon_umask=xxx

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

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

linux云自动化系统运维20(vsftpd服务)_linux_10

linux云自动化系统运维20(vsftpd服务)_linux_11


#<匿名用户删除>
anon_other_write_enable=YES|NO         匿名用户的可删除权限
linux云自动化系统运维20(vsftpd服务)_Linux_12#<匿名用户使用的用户身份修改>
chown_uploads=YES                       开启使用身份的权限
chown_username=student              允许使用的身份

linux云自动化系统运维20(vsftpd服务)_linux_13


#<最大上传速率>
anon_max_rate=102400

linux云自动化系统运维20(vsftpd服务)_Linux_14

linux云自动化系统运维20(vsftpd服务)_Linux_15


#<最大链接数>
max_clients=2                服务器同时最多主机可以连接数

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

linux云自动化系统运维20(vsftpd服务)_linux_16

linux云自动化系统运维20(vsftpd服务)_Linux_17

linux云自动化系统运维20(vsftpd服务)_Linux_18


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

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

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

linux云自动化系统运维20(vsftpd服务)_linux_19
用户黑名单建立
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
/etc/vsftpd/user_list            ##参数设定,此文件变成用户白名单,只在名单中出现的用户可以登陆ftp



#<ftp虚拟用户的设定>
创建虚拟帐号身份)

vim /etc/vsftpd/loginusers    ##文件名称任意
ftpuser1
123
ftpuser2
123
ftpuser3
123

db_load -T -t hash -f /etc/vsftpd/loginusers loginusers.db     对虚拟帐号存储文件进行哈希加密

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

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

linux云自动化系统运维20(vsftpd服务)_linux_20

linux云自动化系统运维20(vsftpd服务)_Linux_21

linux云自动化系统运维20(vsftpd服务)_linux_22

linux云自动化系统运维20(vsftpd服务)_linux_23



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

虚拟帐号家目录独立设定)
vim /etc/vsftpd/vsftpd.conf
local_root=/ftpuserhome/$USER
user_sub_token=$USER            声明配置文件中的$USER就是shell中的变量

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

linux云自动化系统运维20(vsftpd服务)_linux_24

linux云自动化系统运维20(vsftpd服务)_linux_25

linux云自动化系统运维20(vsftpd服务)_Linux_26



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

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