存储类型
存储类型分三种
1.直连式存储:DAS
2.存储区域网络:SAN
3.网络附加存储:NAS
FTP文件传输协议
软件要利用协议,协议时通过应用程序实现的
各协议端口
-
ftp :20(数据) 21(命令)
-
ssh:22
-
http:80
-
https:443
-
telnet:23
-
mysql:3306
-
redis:6379
FTP工作原理
-
文件传输协议:File Transfer Protocol 早期的三个应用级协议之一,基于C/S结构
-
数据传输格式:二进制(默认)和文本
-
双通道协议:命令和数据连接 21 命令端口(账号的权限,认证) 20数据端口(真实传数据)
两种模式(从服务器角度)
-
主动(PORT style):服务器主动连接客户端
命令(控制):客户端:随机端口 ---> 服务器:21/tcp
数据:客户端:随机端口 <---服务器:20/tcp
-
-
被动(PASV style):服务器被动等待客户端连接
命令(控制):客户端:随机端口 ---> 服务器:21/tcp
数据:客户端:随机端口 ---> 服务器:随机端口 /tcp
-
三种用户类型:
-
匿名用户:ftp,anonymous,对应Linux用户ftp
-
系统用户:Linux用户,用户/etc/passwd,密码/etc/shadow(可以去任何地方)
-
虚拟用户:特定服务的专用用户,独立的用户/密码文件
FTP相关软件:vsftpd
由 vsftpd 包提供,不再由xinetd管理
用户认证配置文件:/etc/pam.d/vsftpd
配置文件位置:/etc/vsftpd/vsftpd.conf
用户和其共享目录
-
匿名用户(映射为系统用户ftp )共享文件位置:/var/ftp
-
系统用户共享文件位置:用户家目录
-
虚拟用户共享文件位置:为其映射的系统用户的家目录
vsftpd基础操作
安装FTP服务端(服务端和客户端的防火墙都需要关闭)
yum install ftp -y #安装ftp客户端yum install vsftpd -y #安装ftp服务端 systemctl start vsftpd #开启服务
客户端连接服务端
ftp 192.168.116.30(服务端ip地址)
修改默认命令端口
vim /etc/vsftpd/vsftpd.conf 修改配置文件在服务器的配置文件中添加任意一行 llisten_port=233 修改默认端口为233 修改完后保存退出重启服务 systemctl restart vsftpd 修改完之后不加端口号会被拒绝 ftp 192.168.116.40 233 如此才可进入
vsftpd服务常见配置
vim /etc/vsftpd/vsftpd.conf
listen_port=2121 #默认21端口 connect_from_port_20=YES #主动模式端口为20 ftp_data_port=20 #指定主动模式端口为20 pasv_min_port=6000 #被动模式端口为6000 0为随机分配,端口范围会影响客户端的并发数 use_localtime=YES #使用当地时间 chroot_local_user=YES #禁锢系统用户,默认NO,即不禁锢禁锢用户的黑白名单 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中用户禁锢,即黑名单
ftp匿名用户登录
[root@localhost ~]# ftp 192.168.116.40 #连接服务器 Connected to 192.168.116.40 (192.168.116.40). 220 (vsFTPd 3.0.2) Name (192.168.116.40:root): ftp #匿名用户ftp 331 Please specify the password. Password: #默认没有密码直接回车 230 Login successful. Remote system type is UNIX. Using binary mode to transfer files. exit #退出
vim /etc/vsftpd/vsftpd.conf anonymous_enable=YES #支持匿名用户,CentOS8 默认不允许 no_anon_password=YES #匿名用户略过口令检查 , 默认NO anon_upload_enable=YES #匿名上传 注意:文件系统权限 chmod 777 /var/ftp/pub anon_mkdir_write_enable=YES 匿名建目录 匿名用户下删除文件 anon_world_readable_only=NO 只能下载全部读的文件, 默认YES anon_umask=0333 指定匿名上传文件的umask,默认077,注意:0333中的0不能省略 anon_other_write_enable=YES 可删除和修改上传的文件,默认NO 指定匿名用户上传文件的默认所有者和权限 chown_uploads=YES #默认NO chown_username=zhangsan chown_upload_mode=0644
如果你想在网络共享服务种 有上传或者写的权限
-
注意应用程序有没有开发
-
注意该目录有没有开发写的权限
软件包查询、安装、卸载
1.查询软件包
yum list 软件名 yum list httpd
2.安装软件
yum install 软件名 -y yum groupinstall 包组名
3.升级软件
yum update 软件名 yum groupupdate 软件名
4.软件卸载
yum remove 软件名 软件卸载(卸载干净) • 用yum history查看软件的ID • yum history info ID 查看具体的信息 • yum history undo ID删除 • yum history redo ID还原
NFS
服务,端口号不固定
客户端可以访问
NFS工作原理
NFS:是基于内核的文件系统,可以挂载。通过使用 NFS,用户和程序可以像访问本地文件一样访问远端系统上的文件,基于RPC(Remote Procedure Call Protocol 远程过程调用)实现。
-
首先nfs服务端开启后,会在自己的RPC(远程过程调用 端口号111)注册相关信息
-
nfs客户端想要连接nfs服务端,会先去找rpc注册中心,问nfs服务端的端口号是多少
-
rpc会告诉客户端是多少,然后客户端知道端口号后会发起连接
NFS软件介绍
软件包:nfs-utils(包括服务器和客户端相关工具,CentOS8 最小化安装时默认没有安装)
相关软件包:rpcbind(必须),tcp_wrappers
Kernel支持:nfs.ko
端口:之前是2049(nfsd), 其它端口由portmap(111)分配,现在是不固定
NFS服务主要进程:
-
rpc.nfsd 最主要的NFS进程,管理客户端是否可登录
-
rpc.mountd 挂载和卸载NFS文件系统,包括权限管理(模块化)
-
rpc.lockd 非必要,管理文件锁,避免同时写出错
-
rpc.statd 非必要,检查文件一致性,可修复文件
NFS配置文件位置
不需要改动,直接默认
/etc/exports
NFS共享配置文件格式
/dir(本地文件夹) 主机(可以写多个主机)
#文件路径 /etc/eports #文件内容 /dir 主机1(选项) 主机2(选项) 如: vim /etc/exports /data * //允许所有,访问共享目录data 共享文件夹 允许访问的主机(权限) 可以用通配符*表示任意客户机
默认选项:(ro,sync,root_squash,no_all_squash)
-
ro,rw: 只读和读写
-
async:异步,数据变化后不立即写磁盘,先写入到缓冲区中,过一段时间再写入磁盘,性能高,安全性低sync(1.0.0后为默认)同步,数据在请求时立即写入共享存储磁盘,性能低,安全性高
-
root_squash: (默认)远程root映射为nfsnobody,UID为65534,CentOS8 为nobody,CentOS 7以前的版本为nfsnobody
-
no_root_squash: 远程root映射成NFS服务器的root用户
-
all_squash: 所有远程用户(包括root)都变成nfsnobody,CentOS8 为nobody
-
no_all_squash: (默认)保留共享文件的UID和GID
-
anonuid和anongid: 指明匿名用户映射为特定用户UID和组GID,而非nobody,可配合all_squash使用
NFS工具
exportfs
-v 显示本机的共享目录情况
-r 不影响当前使用情况下重新读取共享
showmount
-e 本机ip:显示共享的设备
NFS共享文件过程
在NFS服务端
关闭防火墙
yum install nfs-utils.x86_64 -y #安装ufs服务
systemctl start nfs #启动nfs
vim /etc/exports #只要修改共享的配置文件
共享目录,允许使用共享目录的主机
/opt * #将本机的opt 目录共享出去,允许任何主机使用
exportfs -v #显示本机的共享目录情况
exportfs -e ip #显示共享的设备
在客户端
showmount -e #服务端地址 查看共享情况
yum install nfs-utils -y #安装nfs服务
systemctl start nfs #开启nfs服务
mount 192.168.116.40 :/opt /mnt
mount 服务端地址:共享目录 挂载点
df -h查看是否挂载成功
设置永久挂载:
vim /etc/fstab
192.168.116.40:/opt /mnt nfs defaults,_netdev 0 0
局域网搭建yum仓库(http/ftp)
准备两台服务器:
服务端:提供安装包
客户端:写配置文件
1.用http搭建
在服务端 1.yum install httpd -y 安装httpd 2.systemctl start httpd 开启httpd服务 3.mount /dev/sr0 /var/www/html提供安装包 在客户端 yum install httpd -ycd /etc/yum.repos.d mkdir bak mv *.repo bak vim http.repo [http] name=http baseurl=http://192.168.116.40/ gpgcheck=0 yum clean all yum makecache yum install tree
2.ftp
在服务端 yum install vsftpd -y systemctl start vsftpd cd /var/ftp mkdir ky33 mount /dev/sr0 /var/ftp/ky33 到客户端 yum install vsftpd -y cd /etc/yum.repos.d mkdir bak mv *.repo bak vim ftp.repo [ftp] name=ftp baseurl=ftp://192.168.116.20/ky33 gpgcheck=0 yum clean all yum makecache yum install tree