详解Linux中网络文件系统

news2024/9/20 23:45:29

目录

前言

一、samba服务简介

1、windos如何共享文件

 2、在linux中访问共享文件

二、samba基本信息 

三、samba的安装与启用

1.服务端

2.客户端

3.服务启用

四、建立samba服务共享目录

五、samba用户的建立

六、 samba用户访问加目录

七、samba的访问控制

八、 samba的常用配置参数

九、samba的多用户挂载

十、NFS(Net File System)


前言

为什么要实现网络文件系统?

我们在企业中涉及到同一工作的服务器是有有台,比方说,我们在操作一台服务器时有可能服务器会挂掉,这样这台服务器的账号就不能登录,怎么解决这个问题呢?

实际上应该把数据存放在远端的存储中,当一台主机挂掉后,可以再登录其他的主机去访问数据,这就是企业中实现存储稳定性的技术,也就是存储分离。

我们在远端把文件的读写权限共享出来,可以创建一个目录,把目录的读写权限共享出去,其他的主机通过网络访问这个目录就可以了,这个目录也就是我们常说的网络文件系统,也可以把设备直接共享出去,叫网络设备。共享这个目录的技术有很多,在windows中常用samba,linux中常用的是nfs,共享设备时常用iscsi。下面就来详细介绍一下这三个技术。

首先需要保证linux可以和本地通信,同时软件仓库需要配置好。

一、samba服务简介

作用:
smb = Server Message Block Sum
cifs = Common Internet File System Miscrosoft
windows系统共享文件时用到的协议smb
smb是由miscrosoft+sun

Linux中共享文件使用的协议是cifs

1、windos如何共享文件

首先账户必选要有密码

win+r,打开控制面板

右键需要共享的文件 

怎么访问共享的文件,win+r,输入ip

 2、在linux中访问共享文件

1、安装客户端

dnf install samba-client -y

2、列出远程主机的共享

smbclient -L //192.168.1.11 -U PC 

3、访问

smbclient //192.168.1.11/hello -U PC

4、上传

put xxxx

!ls可以看到本地的文件

我们也可以上传,只能上传samba执行命令时所在的目录,不可以指定目录。 

上传成功,本地已经有这个文件了

或者直接使用挂载的方式:

mount //192.168.1.11/hello /mnt/ -o username=PC,password=123 

这样我们在/mnt中存储的东西实际上存储到到windows中的hello中,这样也就实现了存储分离

二、samba基本信息 

服务启动脚本smb.service
主配置目录/etc/samba
主配置文件/etc/smb.conf
安全上下文samba_share_t

三、samba的安装与启用

创建共享的时候系统selinux必须为开启状态,因为samba对selinux的要求比较高

1.服务端

2.客户端

3.服务启用

samba服务启动:

systemctl enable --now smb

samba服务启用:

firewall-cmd --permanent --add-service=samba

firewall-cmd --reload

准备工作:

dnf install samba-common samba -y        #安装samba
cd /etc/samba
cp smb.conf smb.conf.backup
cp smb.conf.example smb.conf
mkdir /westos                                #创建需要共享的目录

四、建立samba服务共享目录

chcon -t samba_share_t /westos        #更改共享目录的安全上下文

vim /etc/samba/smb.conf

[westos]         #共享名称

        comment = westos         #共享说明

        path = /westos                #共享路径

systemctl enable --now smb

firewall-cmd --permanent --add-service=samba        #设定火墙
firewall-cmd --reload

测试:

smbclient -L //192.168.1.10

可以展示,证明测试成功

五、samba用户的建立

1.samba用户必须是被地存在的用户
2.samba用户的建立
        smbpasswd -a westos         ##添加用户
        pdbedit -L                            ##查看用户列表
        pdbedit -x westos                ##删除用户

六、 samba用户访问加目录

当selinux开启时:
setsebool -P samba_enable_home_dirs on


windows下
\\192.168.1.10   ##访问
net use ##查看访问记录
net use * /del ##删除访问记录
在linux下:
smbclient //192.168.1.10/westos -U westos

七、samba的访问控制

hosts allow 172.25.254.30 172.25.254.         #当写到单独共享时之对此共享生效,相当于白名单
hosts deny        #当写到【GLOBAL】时对samba整体生,相当于黑名单

写在最上面针对于所有的共享生效

白名单:

vim /etc/samba/smb.conf

黑名单: 

可以写在共享之后

八、 samba的常用配置参数

vim /etc/samba/smb.conf

writable = yes         ##可写
write list = westos         ##指定用户可写
write list = +westos         ##指定组可写
write list = @westos
valid users = lee         ##指定访问用户
valid users = +lee|@lee         ##指定访问组
browseable = yes|no         ##是否隐藏共享


map to guest = bad user         ##写到全局设定中
guest ok = yes         ##允许匿名用户访问
admin users = lee         ##指定此共享的超级用户身份 

指定用户可写

指定组可写

需要重新挂载更新一下

指定访问用户

是否隐藏共享 默认的就是yes

指定此共享的超级用户身份

允许匿名用户访问 

默认不允许匿名用户访问

写在全局设定中:

开启匿名用户访问

九、samba的多用户挂载

首先需要另一台主机作为客户端

客户端挂载到服务端

 客户端的超级用户使用自己持有的smb账号挂载了samba服务器上的资源

客户端的普通用户是否可以在不使用认证的情况下使用root用户挂载的资源呢?

当客户端用户使用自己持有的smb账号挂载了服务器资源后,其他客户端用户可以直接访问,这是不合理的。 所以使用客户端的多用户挂载限制没有认证的用户不能使用共享。

下来我们来解决这个问题

dnf install cifs-utils -y


vim /root/smbpass
username=westos
password=1


mount -o credentials=~/smbauth,sec=ntlmssp,multiuser //192.168.1.10/westos /mnt


#credentials=~/smbpass 指定认证文件
#sec=ntlmssp 指定认证类型
#multiuser 支持多用户

cifscreds add -u westos 192.168.1.10        添加认证用户身份        密码需要输入正确 

因为写了admin user 所以是root

十、NFS(Net File System)

访问方式:

访问nfs时,首先会访问rpcbind,它会分配一个端口,这个端口会去访问mountd服务,mountd服务会告诉它nfs有没有共享什么东西。

nfs是区别于samba服务的另一种网络文件共享方式,基本信息如下:

nfs-utils安装包
nfs-server服务脚本
/etc/exports

共享配置文件

1.创建一个目录

mkdir /westosnfs

2.安装nfs-utils

3.vim /etc/exports
        /westosnfs    *(rw)        读写权限

nfs的启用:
systemctl start nfs-server
firewall-cmd --permanent --add-service=rpc-bind
firewall-cmd --permanent --add-service=mountd
firewall-cmd --permanent --add-service=nfs
firewall-cmd --reload
访问方法:
showmount  -e 服务器Ip   %出现下述说明时表示访问成功
Export list for 服务器Ip:

nfs配置参数

anonuid=1000,anongid=1000 指定用户身份
sync更改生成后同步数据到服务器
async时时同步数据到服务器
rw读写
ro只读
no_root_squashroot用户挂载不转换身份


 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/196940.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Web(十一)

Request 1. request对象和response对象的原理 1. request和response对象是由服务器创建的。我们来使用它们 2. request对象是来获取请求消息,response对象是来设置响应消息 2. request对象继承体系结构: ServletRequest -- 接…

Kafka知识概况

Kafka知识概况Kafka简介Kafka 生产者Kafka BrokerKafka 消费者Kafka-Eagle 监控Kafka-Kraft 模式集成 SpringBootKafka简介 消息队列简介: 目 前企业中比较常见的消息队列产 品主 要有 Kafka、ActiveMQ 、RabbitMQ 、RocketMQ 等。在大数据场景主要采用 Kafka 作为…

【ElasticSearch8.X】学习笔记(一)

【ElasticSearch8.X】学习笔记一、8.x与7.x的对比二、安装elk8.x2.1、下载2.2、集群规划2.3、安装2.4、配置环境2.5、修改配置文件2.6、启动2.5、安装其他结点三、Kibana 安装3.1、下载3.2、配置环境3.2、修改配置文件3.4、启动一、8.x与7.x的对比 减少内存堆使用,…

JavaScript 进阶--charater2

系列文章目录 提示: JavaScript进阶笔记 ,希望各位看官可以高抬小手一键三连 上一章测试题 答案在最后给出 文章目录系列文章目录前言一、深入对象1.1创建对象三种方式1. 利用对象字面量创建对象2.利用new Object 创建对象3. 利用构造函数创建对象1.2 构…

设计师百度百科词条创建怎么做?

设计分为平面设计、空间设计、工业设计、珠宝设计、游戏设计、家具设计、建筑设计、室内设计、景观设计、服装设计、网页设计、系统设计、剧场设计、动漫设计、品牌设计、造型设计、三维设计师、杂志封面设计师、包装设计师、形象设计师等领域。 设计师是一个提供创意的工作&a…

Hive(8):Hive内、外部表

关键字:EXTERNAL 1 什么是内部表 内部表(Internal table)也称为被Hive拥有和管理的托管表(Managed table)。 默认情况下创建的表就是内部表,Hive拥有该表的结构和文件。换句话说,Hive完全管理…

Hue(2):Hue 的安装

1 上传解压安装包 Hue 的安装支持多种方式,包括 rpm 包的方式进行安装、tar.gz 包的方式进行安装以及 cloudera manager 的方式来进行安装等,我们这里使用 tar.gz 包的方式来进行安装。 Hue 的压缩包的下载地址: http://archive.cloudera.…

SSH远程登录RaspberryPi命令行响应缓慢问题

SSH远程登录RaspberryPi命令行响应缓慢问题1. 问题2. 分析3. 解决3.1 去掉PAM部分鉴权模块3.2 去掉sshd的DNS设置3.3 无线WiFi信号优化方法一:ifconfig操作方法二:内核自动检测4. 结果5. 补充资料5.1 [排除wifi网卡功率自管理问题](https://raspberrypi.…

LeetCode刷题---21.合并两个有序链表(双指针)

文章目录一、编程题:19. 删除链表的倒数第 N 个结点(双指针-快慢指针)1.题目描述2.示例1:3.示例2:4.示例3:5.提示:二、解题思路1.思路2.复杂度分析:3.算法图解三、代码实现总结一、编…

【Linux】调试器 gdb 及 ‘\r‘ 的使用

目录 前言 gdb 断点 打断点 查看、删除断点 断点使能 调试 显示数据 其他指令 ‘\r’的使用 行缓冲区 小程序 前言 🥑在 Linux 下我们可以通过 gcc 进行编译,但与 vs 相比若想对代码进行调试,我们还需要学会使用调试器 gdb 。 &am…

Elastic Job学习笔记

目标: 第一章:概述 1、理解任务调度的概念 2、理解分布式任务调度的概念 3、能够说出Elastic-Job是什么 第二章:Elastic-Job快速入门 1、能够搭建Elastic-Job快速入门工程环境 2、能够编写Elastic-Job快速入门的程序 3、理解Elastic-Job整体架…

Studio 3T怎么用mysql语句执行查询

目录说明说明 mongo图形界面 Studio 3T怎么执行mongo的原生语句进行查询 就先说到这\color{#008B8B}{ 就先说到这}就先说到这 在下Apollo\color{#008B8B}{在下Apollo}在下Apollo 一个爱分享Java、生活的小人物,\color{#008B8B}{一个爱分享Java、生活的小人物&…

【前端】Vue项目:旅游App-(20)home:点击跳转至带参数的动态路由

文章目录目标过程与代码详情页detailhome中设置点击跳转效果总代码修改或添加的文件router/indexdetailhome-content参考本项目博客总结:【前端】Vue项目:旅游App-博客总结 目标 点击热门精选的item跳转至对应详情页: 详情页: 路…

什么是HTTPDNS?HTTPDNS有哪些作用?

近几年来,HTTPDNS技术大火,很多大的网站都开始部署自己的HTTDNS服务器,那么什么是HTTPDNS,HTTPDNS和传统的DNS技术相比有哪些区别?HTTPDNS又有哪些作用呢?针对这些问题,本文中科三方做下简单介绍…

【学习】Linux 系统 文件权限表示

学习内容描述:Linux 系统 文件权限格式 重点知识: Linux 系统 文件权限格式是10位,格式例如:-rw-rw-rw-,表示文件所有者、所属组、其他用户都具有读和写的权限 。 (1)第0位确定文件类型 其中: …

计算机组成原理 第三章笔记

视频网址 仅仅是笔记记录,若有错误请指出。 零碎的 存储器的分类 磁表面存储器:磁盘,磁带磁芯存储器半导体存储器 RAM ROM光存储器 看下面这个思维导图 存储器的性能指标 存储容量:存储字数字长单位成本: 每位价格总成本/总容量存储速度:数…

Android Studio Linux系统模拟器启动异常

一、报错:/dev/kvm device permission denied 1、首先检查/dec/kvm的所属关系 命令:ls -al /dev/kvm 可以看到,属于root用户,组也是root用户 2、查看当前用户是否在root组 命令:grep root /etc/group 显然是没有的…

C语言学习笔记-数组

C 数组 C 语言支持数组数据结构,它可以存储一个固定大小的相同类型元素的顺序集合。数组是用来存储一系列数据,但它往往被认为是一系列相同类型的变量。 数组的声明并不是声明一个个单独的变量,比如 runoob0、runoob1、…、runoob99&#x…

Project3:Ants Vs. SomeBees

Ants Vs. SomeBees1. 前言2. Phase 1:Basic gameplay3. Phase 2:More Ants!4. Phase 3: Water and Might5. 测试结果1. 前言 本项目是 CS 61A 的第三个项目,要求是实现一个类似于植物大战僵尸的游戏,这里 Ants 就相当…

【redis】redis的过期策略以及内存淘汰机制

前言 今天我们讨论下redis的过期策略以及内存淘汰机制,如果你想要考察一个人对redis的了解,那吗这个问题是必选的,从他对这个问题的回答中,就可以了解到他的redis深浅。 过期策略 先来介绍下,Redis key 过期删除的策…