一 存储类型
直连式存储DAS
适用于那些数据量不大,对磁盘访问速度要求较高的中小企业
存储区域网络SAN
用来存储非结构化数据,虽然受限于以太网的速度,但是部署灵活,成本低
网络附加存储NAS
适用于大型应用或数据库系统,缺点是成本高、较为复杂
二 FTP工作原理
1 文件传输协议
是典应用层协议, c/s架构
20数据端口 用于建立数据连接,并传输文本数据
21命令端口 建立控制连接,并传输FTP控制命令
2 数据传输格式:二进制 文本
3 双通道协议:命令与数据的连接
从服务器角度
主动模式:服务器主动开启20端口连接客户端传输真实数据
被动摸式:服务器随机开启端口等待客户端连接,客户机通过21命令来获取 服务端的随机端口
数据给客户端
被动(PASV style):服务器被动等待客户端连接
FTP服务状态码
服务器数据端口为:
用户认证:
-  匿名用户:ftp,anonymous,对应Linux用户ftp root,两种协议 
-  一般提供公共文件的下载,如免费文件,学习资料,百度网盘 
-  系统用户: Linux用户,用户/etc/passwd,密码/etc/shadow 
-  虚拟用户: 特定服务的专用用户,独立的用户/密码文件 
常见 FTP 相关软件
vsftpd:
ftp.redhat.com数据
Wu-ftpd
vsftpd 软件介绍
用户认证配置文件: /etc/pam.d/vsftpd
配置文件或子目录: /etc/vsftpd
:/usr/sbin/vsftpd
:/var/log/vsftpd.log
用户和其共享目录
-  匿名用户(映射为系统用户ftp )共享文件位置:/var/ftp 
-  系统用户共享文件位置:用户家目录 
-  虚拟用户共享文件位置:为其映射的系统用户的家目录 
安装服务端
客户端连接服务端
vsftpd服务常见配置
修改默认命令端口
服务端:修改 默认命令端口号
客户端:连接时需要指明 端口号
[root@localhost ~]#vim /etc/vsftpd/vsftpd.conf
listen_port=2121 #默认值为21
[root@localhost ~]#systemctl restart vsftpd
#ss -ntl #查看端口
主动模式端口
 [root@localhost ~]#vim /etc/vsftpd/vsftpd.conf
                               connect_from_port_20=YES                  #主动模式端口为20
                                ftp_data_port=20                                    #指定主动模式的端口,默认为20
 [root@localhost ~]#systemctl restart vsftpd
  
被动模式端口
[root@localhost ~]#vim /etc/vsftpd/vsftpd.conf
                               pasv_min_port=6000    
                               pasv_max_port=6010
 [root@localhost ~]#systemctl restart vsftpd 
#0为随机分配,规定端口范围会影响客户端的并发数
使用当地时间
[root@localhost ~]#vim /etc/vsftpd/vsftpd.conf
use_localtime=YES #使用当地时间 , 默认为NO,使用GMT
[root@localhost ~]#systemctl restart vsftpd
匿名用户登录
 [root@localhost ~]#vim /etc/vsftpd/vsftpd.conf
                                anonymous_enable=YES                           #支持匿名用户,
                                no_anon_password=YES                           #匿名用户略过口令检查 , 默认NO
 [root@localhost ~]#systemctl restart vsftpd 
匿名用户上传
[root@localhost ~]#vim /etc/vsftpd/vsftpd.conf
                             anon_upload_enable=YES 匿名上传,注意:文件系统权限
                              anon_mkdir_write_enable=YES 匿名建目录
还需要开启文件系统访问的权限,不能给FTP根目录写权限否则报如下错误
匿名用户 下载 删除文件
指定匿名用户的上传文件的默认的所有者是ftp用户,这是可以修改的
[root@localhost ~]#vim /etc/vsftpd/vsftpd.conf
 chown_uploads=YES                                           #默认NO
 chown_username=mcb                                       #匿名用户的上传文件的默认的所有者用户
 chown_upload_mode=0644                                #指定上传文件的权限
 [root@localhost ~]#systemctl restart vsftpd  
 
 Linux 系统用户
 
 
系统用户登录:使用普通用户登录默认是在 系统用户的 家目录
将所有系统用户映射为指定的guest用户
[root@localhost ~]#vim /etc/vsftpd/vsftpd.conf
 guest_enable=YES                                #所有系统用户都映射成guest用户
 guest_username=ftp                              #配合上面选项才生效,指定guest用户
 #local_root=/ftproot                                 #注释此行,默认所有用户都在ftp用户的家目录
 user_config_dir=/etc/vsftpd/conf.d/         #每个用户独立的配置文件目录,可自由指定
 [root@localhost ~]#systemctl restart vsftpd 
  
禁锢系统用户
 [root@localhost ~]#vim /etc/vsftpd/vsftpd.conf
 anonymous_enable=NO                           #默认YES
 [root@localhost ~]#systemctl restart vsftpd 
  
禁锢所有系统用户在家目录中
 [root@localhost ~]#vim /etc/vsftpd/vsftpd.conf
 guest_enable=YES                                           #所有系统用户都映射成guest用户
 guest_username=ftp                                        #配合上面选项才生效,指定guest用户
 #local_root=/ftproot                                          #注释此行,默认所有用户都在ftp用户的家目录
 user_config_dir=/etc/vsftpd/conf.d/                  #每个用户独立的配置文件目录,可自由指定
 [root@localhost ~]#systemctl restart vsftpd  
 禁锢用户开启白名单和黑名单
 
[root@localhost ~]#vim /etc/vsftpd/vsftpd.conf
 chroot_list_enable=YES                                      #默认是NO
 chroot_list_file=/etc/vsftpd/chroot_list                  #默认值
  
 当chroot_local_user=YES和chroot_list_enable=YES时,则chroot_list中用户不禁锢,即白名单,只允许名单里的用户登录
 当chroot_local_user=NO和chroot_list_enable=YES时, 则chroot_list中用户禁锢,即黑名单,只有文件里的用户禁锢
 [root@localhost ~]#systemctl restart vsftpd  
  
ftp 默认启动日志
#wu-ftp 日志:默认启用
[root@localhost ~]#vim /etc/vsftpd/vsftpd.conf
 xferlog_enable=YES                                          #启用记录上传下载日志,此为默认值
 xferlog_std_format=YES                                    #使用wu-ftp日志格式,此为默认值
 xferlog_file=/var/log/xferlog                                  #可自动生成, 此为默认值
 [root@localhost ~]#systemctl restart vsftpd 
  
#vsftpd日志:默认不启用
 [root@localhost ~]#vim /etc/vsftpd/vsftpd.conf
 dual_log_enable=YES                    #使用vsftpd日志格式,默认不启用
 vsftpd_log_file=/var/log/vsftpd.log    #可自动生成, 此为默认值
 [root@localhost ~]#systemctl restart vsftpd 
  
提示信息
 [root@localhost ~]#vim /etc/vsftpd/vsftpd.conf
 ftpd_banner="welcome to mcb ftp server"
 banner_file=/etc/vsftpd/ftpbanner.txt  
 [root@localhost ~]#systemctl restart vsftpd 
  
传输速率,单位:字节/秒 百度网盘限速就是这样玩
 [root@localhost ~]#vim /etc/vsftpd/vsftpd.conf
 anon_max_rate=1024000               #1024000表示1MB/(数字随时改)
 local_max_rate=102400
 [root@localhost ~]#systemctl restart vsftpd 
pam模块实现用户访问
在内网环境ftp下,搭建本地yum仓库
①服务端搭建本地yum仓库,并下载vsftp软件
服务端IP 192.168.11.9

客户端搭建yum仓库下载vsftpd软件与ftp协议
客户端192.168.11.5 搭建仓库

 教训
 教训



 在内网环境下http搭建yum仓库
在内网环境下http搭建yum仓库
 
服务端IP192.168.11.9
指令小金刚
1 [root@localhost ~]#sort --help
    sort  -t
sort -n
2 [root@localhost ~]#cut --help
 用法:cut [选项]... [文件]...
   cut  -d  使用指定分界符代替制表符作为区域分界
3 [root@localhost ~]#seq --help
   seq  -s
4 [root@localhost ~]#tr --help 转换 压缩 删除
5 [root@localhost ~]#uniq --help