一、samba服务简介

1、smb协议

smb(Server Messages Block,信息服务块)是一种在局域网上共享文件和打印机的一种通信协议,它为局域网内的不同操作系统的计算机之间提供文件及打印机等资源的共享服务。SMB 协议是客户机/服务器型协议,客户机通过该协议可以访问服务器上的共享文件系统、打印机及其他资源。

2、ftp 服务 与 samba 服务对比

(1)ftp 的优缺点:
优点:文件传输、应用层协议、可跨平台
缺点:只能实现文件传输,无法实现文件系统挂载;无法直接修改服务器端文件

(2)Samba 的特性:
使用 smb/cifs 协议、可跨平台、可实现文件系统挂载、可实现服务器端修改文件

作用:
windows系统共享文件时用到的协议smb
smb是由miscrosoft+sun

Linux 系统用到的是cifs

CIFS 是一个新提出的协议,它使程序可以访问远程Internet计算机上的文件并要求此计算机提供服务。CIFS 使用客户/服务器模式。客户程序请求远在服务器上的服务器程序为它提供服务。服务器获得请求并返回响应。CIFS是公共的或开放的SMB协议版本,并由Microsoft使用。SMB协议在局域网上用于服务器文件访问和打印的协议。像SMB协议一样,CIFS在高层运行,而不像TCP/IP协议那样运行在底层。CIFS可以看做是应用程序协议如文本传输协议和超文本传输协议的一个实现

二、samba基本信息

samba 的基本信息
服务启动脚本 smb.service
主配置目录 /etc/samba
主配置文件 /etc/samba/samba.conf
安全上下文 samba_share_t
端口 139    445  
安装包 samba  samba-common

由于/etc/samba/ samba.conf 中内容较少,配置文件不是很完整所以cp smb.conf.example smb.conf 使配置文件完整

三、samba的安装与启用

samba的安装:
dnf install samba samba-common samba-client -ysamba服务启动:
systemctl enable --now smbsamba服务启用
firewall-cmd --permanent --add-service=samba
firewall-cmd --reload

测试:
smbclient  -L //172.25.254.101    ##当要输入root密码时请直接回车

三、samba用户的建立

1.samba用户必须是本地存在的用户
2.samba用户的建立

smbpasswd -a westos    ##添加用户
pdbedit -L        ##查看用户列表
pdbedit -x westos        ##删除用户

四、samba用户访问加目录

当selinux开启时:
setsebool  -P samba_enable_home_dirs on
(1)windows下:
\\172.25.254.20        ##访问
net use            ##查看访问记录
net use * /del        ##删除访问记录(2)在linux下:
smbclient  //172.25.254.101/westos -U westos

验证:

五、samba服务共享目录

mkdir /westosdir
touch /westosdir/westosfile{1..5}
semanage fcontext -a -t samba_share_t '/westosdir(/.*)?'
restorecon -RvvF /westosdir/
vim /etc/samba/smb.conf
systemctl restart smb

[westos_share]            ##共享名称
    comment = westos dir    ##共享说明
    path = /westosdir    ##共享路径

没有设置安全上下文的情况:

设置安全上下文之后情况:

如果共享目录为系统目录:例如/mnt

[westos_share]
comment = westos dir
path = /mnt


因为系统文件不能随便给权限或者设置其安全上下文,所以需要开启下面这个服务samba_export_all_ro

getsebool -a | grep samba
setsebool -P samba_export_all_ro on

验证:

六、samba的访问控制

hosts allow    172.25.254.1 172.25.254.        ##当写到单独共享时之对此共享生效
hosts deny                    ##当写到【GLOBAL】时对samba整体生效

测试:

七、samba的常用配置参数

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

 测试:(此时的测试可以将这个共享目录挂载之后进行写入)

vim /etc/samba/smb.conf
writable = yes     ##可写
systemctl restart smb.server
chmod 777 /westosdir   为了方便实验,所以给这个目录777权限
mount -o username=westos,password=westos //172.25.254.101/westos_share /mnt

vim /etc/samba/smb.conf
write list = lee   指定lee 可写
systemctl restart smb.service

usermod -G westos lee
vim /etc/samba/smb.conf
writ list = +westos  westos组可写
systemctl restart smb.service
mount -o username=lee,password=westos //172.25.254.101/westos_share /mnt
touch file1

vim /etc/samba/smb.conf
valid users = lee ##指定访问用户
systemctl restart smb.service
mount -o username=westos,password=westos //172.25.254.101/westos_share /mnt
mount -o username=lee,password=westos //172.25.254.101/westos_share /mn

指定访问组和上面一个道理,这里不进行测试

vim /etc/samba/smb.conf
browseable = yes|no    ##是否隐藏共享systemctl restart smb.service
smbclient  -L //172.25.254.101

map to guest = bad user 写到全局设定中(118行)
guest ok = yes   允许匿名用户访问
admin users = lee 指定此共享的超级用户身份呢
vim /etc/samba/smb.conf
map to guest = bad user    ##写到全局设定中(118)
guest ok = yes     ##允许匿名用户访问
systemctl restart smb.service
mount -o username=guest //172.25.254.101/westos_share /mnt

八、samba的多用户挂载

在客户端如果用普通的挂载方式
没有用过用户验证的人也可以访问samba服务

dnf install cifs-utils -y
vim /root/smbpass
username=westos
password=westos
mount -o credentials=/root/smbpass,sec=ntlmssp,multiuser //172.25.254.101/westos_share /mnt#credentials=/root/smbpass    指定认证文件
#sec=ntlmssp            指定认证类型
#multiuser            支持多用户

root@client ~]# su - westos
[westos@client ~]$ cd /mnt
[westos@client mnt]$ ls              ##客户端主机的westos用户没有通过认证
ls: cannot open directory '.': Permission denied
[westos@client mnt]$ ls
ls: cannot open directory '.': Permission denied
[westos@client mnt]$ cifscreds add  -u westos    172.25.254.101
Password:
[westos@client mnt]$ ls    ##通过认证可以显示
file1  file2  file3

[westos@test /]$ cifscreds add  -u lee   172.25.254.101
Key search failed: Key has expired    ##当遇到此报错信息

[westos@test /]$ cifscreds add  -u lee   -d 172.25.254.101
Password:
[westos@test ~]$ cifscreds clearall    ##执行以上两条命令解决报错

autofs+samba

autofs:在客户端实现自动挂载卸载的软件
下载:dnf install autofs.x86_64
配置方式:
vim /etc/auto.master
最终挂载点的上层目录    自动以子策略文件
/mnt            /etc/auto.sambavim 自动以子策略文件(/etc/auto.samba)
最终挂载点    挂载参数    挂载资源
samba        -fstype=cifs,username=westos,password=westos    ://172.25.254.101/westos_sharesystemctl restart autofs

测试:
cd /mnt/samba
df
cd /root
等待资源闲置超时    ##默认300秒 vim /etc/autofs.conf ---->Timeout=3
df
挂载资源自动卸载

NFS

Net File System

NFS是基于UDP/IP协议的应用,其实现主要是采用远程过程调用RPC机制,RPC提供了一组与机器、操作系统以及低层传送协议无关的存取远程文件的操作。RPC采用了XDR的支持。XDR是一种与机器无关的数据描述编码的协议,他以独立与任意机器体系结构的格式对网上传送的数据进行编码和解码,支持在异构系统之间数据的传送。

工作原理:

NFS的工作原理是使用客户端/服务器架构,由一个客户端程序和服务器程序组成。服务器程序向其他计算机提供对文件系统的访问,其过程称为输出。NFS客户端程序对共享文件系统进行访问时,把它们从NFS服务器中“输送”出来。文件通常以块为单位进行传输。其大小是8KB(虽然它可能会将操作分成更小尺寸的分片)。NFS传输协议用于服务器和客户机之间文件访问和共享的通信,从而使客户机远程地访问保存在存储设备上的数据。

特点:

(1)提供透明文件访问以及文件传输;

(2)容易扩充新的资源或软件,不需要改变现有的工作环境;

(3) 高性能,可灵活配置。

nfs基本信息
nfs-utils ##安装包
nfs-server ##服务脚本
/etc/exports ##共享配置文件

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

测试:

[root@server ~]# showmount -e 172.25.254.101
Export list for 172.25.254.101:

nfs配置

vim /etc/exports        ##此文件更改后生效exportfs -rv共享目录        共享给谁(共享参数)/westosdir        *(ro)

测试:

nfs配置参数

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

测试:

mount 172.25.254.101:/westosdir  /mnt/

nfs+autofs

参看autofs.samba章节内容

vim /etc/auto.master
/mnt    auto.nfs
vim /etc/auto.nfs
nfs    172.25.254.101:/westosdir
systemctl restart autofs.service
cd /mnt/nfs
df

测试:

iscsi

iSCSI(Internet Small Computer System Interface,发音为/ˈаɪskʌzi/),Internet小型计算机系统接口,又称为IP-SAN,是一种基于因特网及SCSI-3协议下的存储技术,由IETF提出,并于2003年2月11日成为正式的标准。与传统的SCSI技术比较起来,iSCSI技术有以下三个革命性的变化:

  1. 把原来只用于本机的SCSI协议透过TCP/IP网络发送,使连接距离可作无限的地域延伸;

  2. 连接的服务器数量无限(原来的SCSI-3的上限是15);

  3. 由于是服务器架构,因此也可以实现在线扩容以至动态部署.

功能:

iSCSI利用了TCP/IP的port 860 和 3260 作为沟通的渠道。透过两部计算机之间利用iSCSI的协议来交换SCSI命令,让计算机可以透过高速的局域网集线来把SAN模拟成为本地的储存装置。

iSCSI使用 TCP/IP 协议(一般使用TCP端口860和3260)。 本质上,iSCSI 让两个主机通过 IP 网络相互协商然后交换SCSI命令。这样一来,iSCSI 就是用广域网仿真了一个常用的高性能本地存储总线,从而创建了一个存储局域网(SAN)。不像某些 SAN 协议,iSCSI 不需要专用的电缆;它可以在已有的交换和 IP 基础架构上运行。然而,如果不使用专用的网络或者子网( LAN 或者 VLAN ),iSCSI SAN 的部署性能可能会严重下降。于是,iSCSI 常常被认为是光纤通道(Fiber Channel)的一个低成本替代方法,而光纤通道是需要专用的基础架构的。但是,基于以太网的光纤通道(FCoE)则不需要专用的基础架构。

1.fdisk /dev/vdb -------> /dev/vdb12.dnf install targetcli  -y
iscsi_server  #服务端配置
targetcli   #进入运行环境
/> /backstores/block create westos_storage1 /dev/vdb1   #将/dev/vdb变成网络磁盘
/> /iscsi create iqn.2020-08.com.westos:storage1   #创建一个人iqn 的表达方式的链
/> /iscsi/iqn.2020-08.com.westos:strage1/tpg1/luns create /backstores/block/westos_storage1    #将网络磁盘和链联系起来
/> /iscsi/iqn.2020-08.com.westos:strage1/tpg1/acls create iqn.2020-08.com.westos:westoskey1    #创建key 密码
/> exit  #退出保存

iscsi_client   #客户端dnf install iscsi-initiator-utils.x86_64 -y  vim /etc/iscsi/initiatorname.iscsi
InitiatorName=iqn.2020-08.com.westos:westoskey1     <----  key checksystemctl restart iscsidiscsiadm -m discovery -t st -p 172.25.254.101
iscsiadm  -m node -T iqn.2020-08.com.westos:strage1 -p 172.25.254.101 -l   ---> /dev/sdafdisk   /dev/sda   ---> /dev/sda1
mkfs.xfs /dev/sda1
mount /dev/sda1    /mntiscsiadm  -m node -T iqn.2020-08.com.westos:strage1 -p 172.25.254.101 -u删除/dev/sda
iscsiadm  -m node -T iqn.2020-08.com.westos:strage1 -p 172.25.254.101 -o delete 删除树文件

网络文件系统(samba、nfs、iscsi)相关推荐

  1. 网络文件系统---nfs

    文件系统 nfs--案例 1.文件系统 1.1 本地文件系统 Linux:  xfs    ext win~  :   ntfs     fat 1.2网络文件系统 nfs    是Linux  与L ...

  2. Linux下NFS(网络文件系统)的建立与配置方法

    网络文件系统( NFS ,Network File System)是一种将远程主机上的分区(目录)经网络挂载到本地系统的一种机制,通过对网络文件系统的支持,用户可以在本地系统上像操作本地分区一样来对远 ...

  3. NFS(网络文件系统)简介及搭建

    NFS简介及搭建 网络文件系统 定义 演化 特点 工作原理 网络文件系统架构 网络文件系统协议 网络文件系统中的创新 网络文件系统的替代物 部署NFS 实验环境 安装nfs.rpcbind服务 在no ...

  4. NFS(网络文件系统)配置(Ubunut/Deepin等系统)

    NFS(网络文件系统)配置(Ubunut/Deepin等系统) 网络文件系统(NFS)是一种分布式文件系统协议,最初由Sun Microsystems于1984年开发,允许客户端计算机上的用户通过计算 ...

  5. Linux系统工程师--(4)网络文件系统

    Linux系统工程师 实验所用系统为Redhat-rhel8.2. 目录 Linux系统工程师 Linux系统工程师--网络文件系统 一.samba服务简介 二.samba基本信息 三.samba的安 ...

  6. LinuxProbe 0x15 SAMBA文件共享服务、NFS网络文件系统、AutoFs自动挂载服务、DNS域名解析服务

    配置网络文件系统(Network File System,NFS)服务来简化Linux系统之间的文件共享工作, 通过部署NFS服务在多台Linux系统之间挂载并使用资源. 在管理设备挂载信息时,使用a ...

  7. 网络文件系统(NFS)简介

    网络文件系统(Network File System, NFS)是一种分布式文件系统协议,最初由Sun Microsystems公司开发,并于1984年发布.其功能旨在允许客户端主机可以像访问本地存储 ...

  8. Linux运维笔记-文档总结-NFS文件共享(网络文件系统)

    转自:http://m.blog.csdn.net/blog/index?username=Ningdaxing1994 觉得这个写得不错哈哈~ 以下所有操作都是在Red-hat 7.0上 1.NFS ...

  9. NFS 网络文件系统

    CentOS下搭建NFS和windows挂载 NFS(Network File System)即网络文件系统,是FreeBSD支持的文件系统中的一种,它允许网络中的计算机之间通过TCP/IP网络共享资 ...

最新文章

  1. C# 36进制转10进制
  2. php跨平台总结 常用预定义常量
  3. 网卡的7种bond模式
  4. VC++ error C2248: “CObject::CObject”: 无法访问 private 成员(在“CObject”类中声明)
  5. 微软宣布下一代集成开发环境 — Visual Studio 2019
  6. 为Tueri.io构建React图像优化组件
  7. 分析一天1000万北京地铁客流,我们发现...
  8. 消息称《绝地求生》开发商Krafton将启动IPO 腾讯是大股东
  9. 【自用】手工编译lnmp环境
  10. paper 134:结构张量structure tensor(二)
  11. 关于最近打断点的总结
  12. python和其它语言混合编程_C++和Python混合编程 - python嵌入C++
  13. 十五秒破解“还原卡”
  14. 邯郸php,邯郸php程序员培训,邯郸php程序员培训费用,邯郸php程序员培训完工作好找吗...
  15. unity shader 入门 全透明与半透明效果实现
  16. 【IMP】IMP导入表的时候,如果表存在怎么办
  17. 关于移动硬盘突然变成RAW格式数据该怎么恢复
  18. LVDS、FPD-Link/GMSL、MIPI的区别
  19. 关于TypeError: threshold must be numeric解决办法
  20. rabbitMQ集群异常

热门文章

  1. crashdumpandroid_Android 中Crash时如何获取异常信息详解及实例
  2. linux cfs,朴素的UNIX之-Linux CFS一个注释
  3. foxtable制作管理系统实例_某河道治理工程实例
  4. Spark SQL 1.x之SQL Context使用
  5. springcloud @EnableDiscoveryClient注解作用
  6. 下载kaggle数据集的小妙招
  7. 讲真!朋友圈别设置三天可见!
  8. 卷积云神经网络_2018.10
  9. java解密方法,java加密,解密方法
  10. python的进程模块