网络文件传输协议
Vsftp (非常安全的ftp)  FTP > file transfer protocal (文件传输协议)
ftp:不支持shell
lftp:Linux下的ftp 支持shell 可补全
FTP端口:
20:数据端口 > 控制传输
21:控制端口 > 控制连接
主动:                          
      请求 21
Client  ------- > server
    <--------
      返回 20
    -------->
    >1024(随机)
    <--------
      返回 20
被动:
           请求 21
Client  ------- > server
       < --------
             20
      ---------------- >
     >1024(随机)假设为x
       <--------
          x+1  响应
工作原理
1 -------TCP comection-------- >
<--------------->20-----------------
2 ---------------user name------->
< ---------------响应331------------
3 ------------passwd--------------->
< -----------------230----------------
4 --------pwd(当前路径)---------->
<----------------257----------------
安装:
yum install vsftpd -y
配置文件:/etc/vsftpd/vsftpd.conf
默认参数配置:vsftpd.conf.5
anonymous_enable=YES     #允许匿名访问
local_anable=YES         #允许本地用户登录
write_enable=YES         #写开启
local_umask=022          #创建文件默认权限
#anon_upload_enable=YES   #开启匿名用户写功能
#anon_mkdir_write_enable=YES     #开启FTP匿名用户可以创建新的目录
dirmessage_enable=YES    #开启目录提示功能
xferlog_ebable=YES       #开启上传下载的日志
connect_from_port_20=YES #开主动模式的20号端口
chown_uploads=YES        #指定所属用户
chown_username=whoever   #指定所属用户
xferlog_file=/var/log/xferlog     #日志开启并指定储存
xferlog_std_format=YES   #开启标准的日志格式
idle_session_timeout=300     #默认超时时间,超时就自动断开
ftpd_banner=wecome to linhut     #ftp欢迎信息
listen=NO                #不启动IPv6的侦听,YES是V4.V6都侦听
listen_IPv6=YES          #开启侦听v6
userlist_enable=yes     #支持白名单
默认共享目录是ftp的用户主目录
/var/ftp
修改工作路径
anon_root=/opt/joinlabs     #修改匿名用户的工作目录
系统用户下载
local_anable=YES         #允许本地用户登录
发现ftp用户主目录关闭
打开ftp用户主目录
lftp  192.168.0.43 -u kangwei     #用户登录
#需要给用户主目录读权限
限制下载,以及垮目录
/etc/vsftpd/vsftpd.conf
红帽7需要额外加一条:
allow_writeable_chroot=YES    
限制普通用户工作目录
local_root=/opt/joinlabs
黑白名单
/etc/vsftpd/chroot_list     #跨目录列表
当为NO为白名单
当YES为黑名单,不配置就是默认黑名单
/etc/vftpd/ftpusers     #彻彻底底黑名单
lftp:
lftp 192.168.0.22
cd pob/
ls
#下载
lcd /opt 指定下载目录
get xxx 下载文件
mget xxxxx xxxxxx xxxxx 批量下载
#上传
put /tmp/crontab 上传
mput /tmp/crontab 批量上传

#上传发现,权限拒绝
权限排除,第一个排除大权限然后再排除小用户
selinux    .conf配置文件     
1。解决:
ftp默认关闭匿名用户写功能     #anon_upload_enable=YES
2.selinux权限问题
selinux关闭了匿名用户的写
开启selinux的写功能

 视频分享

链接: https://pan.baidu.com/s/1c2TtIQO 密码: e3jz