文件服务器
1.构建NFS远程共享存储 需要用到 rpcbind 这个监听工具,用来传输
文件系统级别共享(是NAS存储) --------- 已经做好了格式化,可以直接用。 速度慢比如:nfs,samba
NFS:一般作为Linux主机之间共享
因为NFS有很多功能,不同的功能需要使用不同的端口。因此NFS无法固定端口。而RPC会记录NFS端口的信息,这样就能够通过RPC实现服务端和客户端的RPC来沟通端口信息。
那RPC和NFS之间又是如何相互通讯的?
首先当NFS启动后,就会随机的使用一些端口,然后NFS就会向RPC去注册这些端口。RPC就会记录下这些端口。并且RPC会开启111端口,等待客户端RPC的请求,如果客户端有请求,那服务端的RPC就会将记录的NFS端口信息告知客户端。
实战 操作关闭防火墙
步骤1:
centos7(服务端和客户端都关闭防火墙和selinux内核防火墙)
#systemctl stop firewalld #关闭防火墙
#systemctl disable firewalld #将firewalld防火墙设置为开机不启动
#setenforce 0 #关闭selinux
步骤2: 下载安装包
NFS-server操作
[root ~]# yum -y install rpcbind #安装rpc协议的包
[root ~]# yum -y install nfs-utils #安装nfs服务,提供文件系统
启动服务
[root ~]# systemctl status rpcbind #查看一运行状态
步骤3:创建目录,编写内容
[root ~]# mkdir /nfs-dir
[root ~]# vim //nfs-dir/index.html
[root ~]# cat /nfs-dir/index.html
2103班 云计算加油
步骤4:编写配置文件以及 参数详解
[root ~]# vim /etc/exports #编写系统的配置文件
[root@mingqing ~]# systemctl restart nfs-server #重启nfs 软件
[root@mingqing ~]# exportfs -v #确认 NFS 服务器启动
参数详解
web1 客户端操作
步骤1:
centos7(服务端和客户端都关闭防火墙和selinux内核防火墙)
#systemctl stop firewalld #关闭防火墙
#systemctl disable firewalld #将firewalld防火墙设置为开机不启动
#setenforce 0 #关闭selinux
步骤2: 下载安装包
NFS-server操作
[root ~]# yum -y install rpcbind #安装rpc协议的包
[root ~]# yum -y install nfs-utils #安装nfs服务,提供文件系统
启动服务
[root ~]# systemctl status rpcbind #查看一运行状态
步骤3:创建挂载点,进行挂载
[root@192 ~]# mkdir /qf #创建 挂载点
[root@192 ~]# mount -t nfs 192.168.6.168:/nfs-dir /qf #挂载
[root@192 ~]# df -TH 查看一下挂载的目录
步骤4:制作开机挂载
[root@192 ~]# vim /etc/fstab
192.168.6.168:/nfs-dir /qf nfs defaults 0 0 制作开机挂载
Ftp 介绍 ftp服务端及lftp客户端
Vsftp 服务器简介
非常安全的FTP服务进程(Very Secure FTP daemon,Vsftpd),Vsftpd在Unix/Linux发行版中最主流的FTP服务器程序,优点小巧轻快,安全易用、稳定高效、满足企业跨部门、多用户的使用(1000用户)等。
-
文件传输协议(File Transfer Protocol,FTP),基于该协议FTP客户端与服务端可以实现共享文件、上传文件、下载文件。 FTP 基于TCP协议生成一个虚拟的连接,用户可以通过客户端向FTP服务器端上传、下载、删除文件,FTP服务器端可以同时提供给多人共享使用。
-
FTP服务是Client/Server(简称C/S)模式,基于FTP协议实现FTP文件对外共享及传输的软件称之为FTP服务器源端,客户端程序基于FTP协议,则称之为FTP客户端,FTP客户端可以向FTP服务器上传、下载文件。
FTP Server
作用:提供文件共享服务,实现上传下载
端口:
21号,建立tcp连接 默认端口
20号:传输数据
一、FTP基础
软件包: vsftpd
FTP端口: 控制端口 command 21/tcp
配置文件: /etc/vsftpd/vsftpd.conf
ftp俩种模式
主动模式
ftp主动模式:客户端开启一个端口N(>1023)向服务端的21端口,建立连接,同时开启一个N+1,告诉服务端,我监听的是N+1端口,服务端接到请求之后,用自己的20端口连接到客户端的N+1端口,进行传输
客户端:1024 -->21: 服务端 建立连接
客户端:1025<–>20: 服务端 传输数据
21端口建立连接
20端口传输数据
端口范围:0-65535
被动模式
ftp被动模式:客户端同时开启两个端口(1024,1025),一个端口(1024)跟服务端的21端口建立连接,并请求,大哥,我连上了,你再开一个端口呗。服务端接到请求之后,随机会开启一个端口(1027)并告诉客户端我开启的是1027端口,客户端用另一个端口(1025)与服务端的(1027)端口进行连接,传输数据
1客户端
1024 1025
1024----21
1025----1027
2客户端
1024 1025
1024----21
1025----1028
vsftpd配置
步骤1:
centos7(服务端和客户端都关闭防火墙和selinux内核防火墙)
#systemctl stop firewalld #关闭防火墙
#systemctl disable firewalld #将firewalld防火墙设置为开机不启动
#setenforce 0 #关闭selinux
步骤2:下载安装包
[root ~]# yum install -y vsftpd 下载安装包
[root ~]# systemctl start vsftpd 启动安装包
步骤3: 默认发布目录 /var/ftp 重点修改属主属组
[root ~]# touch /var/ftp/pub/test.txt #创建文件到共享目录
[rootr ~]# systemctl enable vsftpd #设置ftp开机自启
[root~]# cd /var/ftp/ 进入这个目录
[root ftp]# chown ftp.ftp pub/ -R #修改根目录的属主与属组
[rootr ftp]# ll
drwxr-xr-x. 2 ftp ftp 22 Aug 3 03:15 pub
重点:改变根目录的属主,如果不改变的话,只能访问,其他权限不能生效。因为我们是以ftp用户的身份访问的,而pub默认的属主属组是root。
注意:
- 修改完配置之后需要重启完服务才能生效
- 还需要重新从客户端登陆,否则修改后的配置看不到效果。
步骤4:编辑配置文件
[root ~]# vi /etc/vsftpd/vsftpd.conf----找到29行将下面的注释取消
1;34 anon_other_write_enable=YES
2;anon_umask=000 匿名用户上传下载目录权限掩码
3;anon_upload_enable=YES 允许匿名用户上传文件
4;anon_mkdir_write_enable=YES 允许匿名用户创建目录
5;anon_other_write_enable=YES 允许匿名用户对目录进行操作,为新添加配置
重点 重启一下:
systemctl restart vsftpd
ftp客户端
步骤1:
centos7(服务端和客户端都关闭防火墙和selinux内核防火墙)
#systemctl stop firewalld #关闭防火墙
#systemctl disable firewalld #将firewalld防火墙设置为开机不启动
#setenforce 0 #关闭selinux
步骤2: 下载安装包
[root ~]# yum -y install lftp #安装客户端
get命令(下载,首先要开启下载功能)
[root]# lftp 192.168.6.168 链接服务端的ip地址
步骤3:下载get 上传put 目录mirror-R
案例;下载
lftp 192.168.246.160:/pub> get test.txt #下载
lftp 192.168.246.160:/pub> exit
[root ~]# ls #会下载到当前目录
anaconda-ks.cfg test.txt
案例:创建目录
[root~]# lftp 192.168.246.160
lftp 192.168.246.160:/pub> mkdir dir #也可以创建目录
mkdir ok, `dir’ created
put命令(上传命令,上传之前请在服务端进行配置,将上传功能打开)
案例:上传
lftp mingqing@192.168.6.168:~> put /root/xiaohei/xiaohei.txt 上传文件
lftp mingqing@192.168.6.168:~> ls
-rw-r–r-- 1 0 0 40 Aug 26 16:43 mingq
-rw-r–r-- 1 0 0 26 Aug 26 16:45 mingqing.txt
-rw-r–r-- 1 1000 1000 0 Aug 26 17:37 xiaohei.txt
案例:#上传目录以及目录中的子文件
lftp mingqing@192.168.6.168:~> mirror -R /root/xiaohei/
Total: 1 directory, 2 files, 0 symlinks
New: 2 files, 0 symlinks
26 bytes transferred
lftp mingqing@192.168.6.168:~> ls
-rw-r–r-- 1 0 0 40 Aug 26 16:43 mingq
-rw-r–r-- 1 0 0 26 Aug 26 16:45 mingqing.txt
drwxr-xr-x 2 1000 1000 45 Aug 26 17:40 xiaohei
-rw-r–r-- 1 1000 1000 0 Aug 26 17:37 xiaohei.txt
ftp配置本地用户登录 企业常用
创建测试用户
创建 mingqing、tianqing 密码都设置为 “123456”
步骤:创建用户 修改密码
[root ~]# useradd mingqing
[root ~]# useradd tianqing
[root~]# echo ‘123456’ | passwd --stdin mingqing #设置密码
[root ~]# echo ‘123456’ | passwd --stdin tianqing
配置本地用户ftp配置文件
[root ~]# vim /etc/vsftpd/vsftpd.conf —添加注释并修改
;anonymous_enable=NO #将允许匿名登录关闭
;#anon_umask=022 #匿名用户所上传文件的权限掩码
;#anon_upload_enable=YES #允许匿名用户上传文件
;#anon_mkdir_write_enable=YES #允许匿名用户创建目录
;#anon_other_write_enable=YES #是否允许匿名用户有其他写入权(改名,删除,覆盖)
新添加
local_root=/home/mingqing # 设置本地用户的FTP根目录,一般为用户的家目录
local_max_rate=0 # 限制最大传输速率(字节/秒)0为无限制
重启vsftpd
[root ~]# systemctl restart vsftpd
客户端操作
[root@192 xiaohei]# lftp 192.168.6.168 -u mingqing
口令:
lftp mingqing@192.168.6.168:~> ls
-rw-r–r-- 1 0 0 40 Aug 26 16:43 mingq
-rw-r–r-- 1 0 0 26 Aug 26 16:45 mingqing.txt
drwxr-xr-x 2 1000 1000 45 Aug 26 17:40 xiaohei
-rw-r–r-- 1 1000 1000 0 Aug 26 17:37 xiaohei.txt
lftp mingqing@192.168.6.168:~> mkdir aaa
mkdir 成功, 建立 `aaa’
服务器端查看
[root@mingqing ~]# cd /home/
[root@mingqing home]# ls
mingqing tianqing
[root@mingqing home]# cd mingqing/
[root@mingqing mingqing]# ls
aaa mingq mingqing.txt xiaohei xiaohei.txt
[root@mingqing mingqing]#