NFS(Netbook File System)即网络文件系统,它允许网络中的计算机之间通过tcp/ip网络共享资源。主要功能是通过网络让不同的服务器之间可以共享文件或目录。NFS客户端一般是应用服务器,可以通过挂载的方式将NFS服务器端共享的目录挂在到NFS客户端本地的目录下。
工作原理:启动RPC(远程过程调用)服务 -->> 启动NFS服务 -->> 客户端请求NFS服务 -->> RPC把端口和ip地址给客户端
RPC的主要功能是就是指定每个NFS功能所对应的端口号,并且通知客户端,即客户端可以连接到正常端口上去
NFS端口:tcp 111 2049
NFS协议:NFS在文件传送过程中依赖与RPC(远程过程调用)协议。
NFS本身是没有提供信息传送的协议和功能的,但是能够用过网络进行图片,视频,附件等分享功能。只要用到NFS的地方都需要启动RPC服务,不论是NFS的服务端还是客户端。
NFS体系的组成:主要由两部分组成,一台服务器和若干台客户端
1.关闭防火墙&Selin
2.安装NFS服务器(NFS服务端rcpbind,rfc为nfs-utils)
yum install rpcbind nfs-utils -y
3.配置NFS服务
ro | 只读 |
---|---|
rw | 只写 |
root_squash | 当NFS客户端以root管理员访问时,映射为NFS服务器的匿名用户 |
no_root_squash | 当NFS客户端以root管理员访问时,映射为NFS服务器的root管理员 |
all_squas | 无论NFS客户端使用什么账户访问,均映射为NFS服务器的匿名用户 |
sync | 同时将数据写入到内存与硬盘中,保证不丢失数据 |
async | 优先将数据保存到内存,然后再写入硬盘;这样效率更高,但可能会丢失数据 |
systemctl restart rpcbind
systemctl enable rpcbind
systemctl start nfs-server
systemctl enable nfs-server
mount -t nfs 192.168.5.167:/nfs_dir /mnt
mount 命令的 -t参数用来指定文件系统的类型
NFS的好处:
节省本地存储空间,将常用的数据存放在一台NFS服务器上且可以通过网络访问,那么本地终端将可以减少自身存储空间的使用。
用户不需要在网络中的每个机器上都建有Home目录,Home目录可以放在NFS服务器上且可以在网络上被访问使用。
一些存储设备如软驱、CDROM和Zip(一种高储存密度的磁盘驱动器与磁盘)等都可以在网络上被别的机器使用。这可以减少整个网络上可移动介质设备的数量。
FTP 是File Transfer Protocol(文件传输协议),用于在网络上进行文件传输的一套标准协议,使用客户/服务器模式。专门用来传输文件的协议。用于Internet上的控制文件的双向传输。同时,它也是一个应用程序。
FTP 端口:默认使用20、21号端口,其中端口20(数据端口)用于进行数据传输,端口21(命令端口)用于接受客户端发出的相关FTP命令与参数
FTP服务器协议:FTP服务器是按照FTP协议在互联网上提供文件存储和访问服务的主机,求,以建立数据传输链路的主机。
FTP协议有下面两种工作模式
主动模式:FTP服务器主动向客户端发起连接请求
被动模式:FTP服务器等待客户端发起连接请求(FTP的默认工作模式)
常见的FTP服务器软件:
Serv-U #Windows
FileZilla #Windows
VsFTP #Linux
常见的FTP的客户端:
FileZilla
WinScp
FlashFTP
SecureCRT
CuteFTP
(vsftpd是一款在Linux发行版中最受推崇的FTP服务器程序)
1.关闭防火墙&Selinux
2.安装VsFTP服务器及客户端(客户端为ftp,vsftpd服务器端)
yum install vsftpd ftp -y
3.匿名访问模式
编辑vsftpd主配置文件
开放匿名用户的上传、下载文件的权限,以及让匿名用户创建、删除、更名文件的权限
vi /etc/vsftpd/vsftpd.conf
anon_upload_enable=YES
anon_mkdir_write_enable=YES
anon_other_write_enable=YES
修改权限
ls -ld /var/ftp/pub
chown -Rf ftp /var/ftp/pub
重启服务
systemctl restart vsftpd
systemctl enable vsftpd
4.本地用户模式
编辑vsftpd主配置文件
vi /etc/vsftpd/vsftpd.conf
anonymous_enable=NO
重启服务
systemctl restart vsftpd
vsftpd服务所在目录中存放着两个用户名单ftpusers,user_list,出于安全原因,root默认不允许登录,编辑这两个文件注释root即可。
vi /etc/vsftpd/ftpusers
vi /etc/vsftpd/user_list
本地用户:用户在FTP服务器拥有账号,且该账号为本地用户的账号,可以通过自己的账号和口令进行授权登录,登录目录为自己的home目录
虚拟用户:用户在FTP服务器上拥有账号,但该账号只能用于文件传输服务。登录目录为某一特定的目录,通常可以上传和下载
匿名用户:用户在FTP服务器上没有账号,登录目录为/var/ftp
Samba是在Linux和UNIX系统上实现SMB协议的一个免费软件,由服务器及客户端程序构成。SMB(Server Messages Block,信息服务块)是一种在局域网上共享文件和打印机的一种通信协议,它为局域网内的不同计算机之间提供文件及打印机等资源的共享服务。SMB协议是客户机/服务器型协议,客户机通过该协议可以访问服务器上的共享文件系统、打印机及其他资源。
SAMBA端口:TCP 139/445,UDP 137/138
SAMBA服务安装及配置
1.关闭防火墙&Selinux
systemctl stop firewalld
setenforce 0
getenforce
2.安装SAMBA服务器及客户端(samba服务器,samba-client客户端)
yum install samba
yum install samba-client -y
3.配置共享
mkdir /home/share
chown -Rf alice:alice /home/share/
vi /etc/samba/smb.conf
[global] #全局配置名称
workgroup = MYGROUP #工作组名称
server string = Samba Server Version %v #samba信息,参数%v为显示SMB版本号
log file = /var/log/samba/log.%m #日志存放位置与名称,%m为来访的主机名
max log size = 50 #日志最大容量50kb
security = user #安全验证方式,见下介绍
passdb backend = tdbsam #用户后台的类型,见下介绍
load printers = yes #共享打印机设备
cups options = raw #打印机的选项
[share] #局部共享
comment = share info... #提示信息
path = /home/share #共享目录
public = no #
writable = yes #可写
重启服务
systemctl restart smb
systemctl enable smb