IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 系统运维 -> Linux系统工程师 3.5 -- 网络文件系统管理 -> 正文阅读

[系统运维]Linux系统工程师 3.5 -- 网络文件系统管理

目录

Samba服务

1.sambia服务简介

2.samba基本信息

3.samba的安装与启用

4.samba中添加用户

5.samba用户访问

6.samba服务共享目录

#目录的访问

#目录建立

#系统级目录

7.samba的访问控制

全局访问控制:

单个目录访问控制及配置参数:

8.匿名用户登录

9.autofs+samba

实验:

配置方式:

10.多用户认证

问题提出

解决

nfs服务

1.nfs服务的启用及测试

2.nfs配置

3.nfs配置参数

不指定用户参数:显示为nobody

指定用户为1000,组为1000:显示为westos

指定root用户挂载不转换身份:显示为root

4.nfs+autofs自动挂载

5.iscsi

服务器端:

客户端:

6.永久挂载和删除设备?

?永久挂载:

?删除设备:


Samba服务

1.sambia服务简介

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

2.samba基本信息

服务启动脚本:?? ?smb.service
主配置目录:?? ?/etc/samba/
主配置文件:?? ?/etc/samba/smb.conf
安全上下文:?? ?samb_share_t
端口:?? ??? ?139?? ?445
安装包:?? ?samba?? ?samba-common.noarch?? ?samba-client.x86_64
?? ??? ?????????服务主体?? ?????????配置文件?????????????????? ??? ?客户端

3.samba的安装与启用

samba的安装:
dnf install samba samba-common.noarch samba-client.x86_64 -y
启用:enable
火墙添加:
firewall-cmd --permanent --add-service=samba

smbclient -L //172.25.254.120

hostnamectl:查看系统版本

4.samba中添加用户

smbpassqd -a westos?? ?westos用户必须在smba服务器中真实存在,smb密码是独立的密码,与westos登陆密码无关
smbpasswd -a lee?? ?当lee用户不存在时显示添加失败

(vim /etc/hosts?? ?172.25.254.120 westosa_storage.westos.org?? ?添加本地解析,使访问更快)

5.samba用户访问

pdbedit?? ?-L?? ?查看smb用户
?? ?-x?? ?删除smb用户

smbclient -L //172.25.254.120 -U westos?? ??? ?登录westos
smbclient //172.25.254.120/westos -U westos?? ?//ip/共享文件夹?? ?-U登录用户
Enter SAMBA\westos's password:
Try "help" to get a list of possible commands.
smb: \> ls
NT_STATUS_ACCESS_DENIED listing \*?? ?selinux影响,smb用户不能访问自己的家目录,需要打开该权限?? ?(在配置文件中有说明 27行)

6.samba服务共享目录

cd /etc/samba/
cp smb.conf.example smb.conf -p?? ??? ?用配置文件模板覆盖主配置文件

#目录的访问

setsebool -P samba_enable_home_dirs on?? ?调整selinux中的smb波尔直,使用户可以访问家目录

#目录建立

mkdir westos_share
touch /westos_share/file{1..3}

vim /etc/samba/smb.conf
[westos_share]?? ??? ?共享名称
comment = westos share?? ?说明
path = /westos_share?? ?制定共享的路径

systemctl restart smb.service?? ??? ?重启服务
smbclient -L /172.25.254.120 -U westos?? ?查看显示共享成功
smbclient //172.25.254.120/westos_share -U westos?? ?当查看文件时又出现selinux报错


查看配置文件30行提示:用户自己建立的目录如需通过smb共享,则需要指定安全上下文samba_share_t
semanage fcontext -a -t samba_share_t '/westos_share(/.*)?'
restorecon -RvvF /westos_share/

#系统级目录

直接在配置文件中添加
[etc]
comment = 系统说明
path = /etc
smbclient -L /172.25.254.120 -U westos?? ?查看显示共享成功
?? ??? ??? ??? ??? ?但当查看文件会出现不同的错误情况
?? ??? ??? ??? ??? ?查看配置文件根据44行提示设置
getsebool -a |grep samba
samba_export_all_ro --> off?? ?设为on 时 selinux将不再对samba服务访问文件时的安全上下文进行限制
samba_export_all_rw --> off?? ?写限制

setsebool -P samba_export_all_ro on?? ?设置开启

7.samba的访问控制

全局访问控制:

91行 hosts allow = 172.25.254.120?? ?#只允许120号主机访问当前samba服务器hosts deny 表示拒绝(此处设定的是全局访问控制,影响本台smb服务的所有共享)

单个目录访问控制及配置参数:

[westos_share]
comment = westos share
path = /westos_share
hosts allow = 172.25.254.120?? ?#在最后添加表示westos_share 这个共享目录被限制只能被120号主机访问(针对单个目录生效)
browseable = no?? ??? ??? ?#在列出共享资源列表时隐藏共享目录(yes表示显示此目录)
valid users = westos?? ??? ?#此共享只能通过samba用户westos登录
valid users = @westos?? ??? ?# @ 或 + 表示westos组成员可以访问此共享资源目录
writable = yes?? ??? ??? ?#可写
write list = westos?? ??? ?#对westos用户可写
write list = +westos?? ??? ?# + 或 @ 表示对westos组成员可写

mount //172.25.254.120/westos_share /mnt/ -o username=westos,password=westos???????? 将westos_share 挂载到/mnt/下,之后建立的文件将自动归属到该共享目录中

chmod 777 /mnt/??????? ?? #给其读写等权限

touch /mnt/file??????? ?????? #用该方法可以测试该共享目录的写权力是否开放。

8.匿名用户登录

默认情况下匿名用户不能使用samba资源
smbclient //172.25.254.120/westos_share?? ?报错"tree connect failed: NT_STATUS_ACCESS_DENIED"

119行    map to guest = bad user        #将没有身份的用户映射为guest账号
[westos_share]
guest ok = yes                         #此共享目录允许guest用户登录

smbclient //172.25.254.120/westos_share?? ?#没有指定用户登陆成功,为guest匿名登录方式,此处不需要密码,直接回车,可以正常显示。
mount //172.25.254.120/westos_share /mnt/ -o username=guest?? ?#指定为匿名用户挂载


9.autofs+samba

实验:

mount //172.25.254.120/westos_share /westos/samba/ (目的)

在客户端下载dnf install autofs -y
设定使用时自动挂载,不用时自动卸载

配置方式:

vim /etc/auto.master?? ??? ?#编写配置文件
/westos /etc/auto.share
/westos?? ?最终挂载点的上层目录
/etc/auto.share?? ?子挂载策略文件,名称自定义,且在系统中默认不存在
vim /etc/auto.share
samba?? ??? ?-fstype=cifs,username=westos,password=westos?? ?://172.25.254.120/westos_share
最终挂载点的相对路径?? ?挂载参数?? ??? ??? ??? ?挂载服务器ip及资源
?? ??? ??? ?-fstype 挂载资源的文件系统类型

vim /etc/autofs.conf?? ?配置文件
timeout = 5?? ?挂载资源在5秒以上无任何程序使用则自动卸载(默认时间为300秒)
systemctl restart autofs.service

10.多用户认证

问题提出

>root挂载在/mnt/中的共享资源也能被普通用户查看,出现越级漏洞
>用户挂载时要书写账号/密码,可以被查看

解决

dnf install cifs-utils -y?? ?安装多用户插件

vim /root/smbpasswd?? ?将账户密码写入文件并设定安全权限
username=westos?? ??? ?
password=westos
chmod 600 /root/smbpasswd

mount -o credentials=/root/smbpasswd,multiuser,sec=ntlmssp //172.25.254.120/westos_share /mnt/
?? ?credentials?? ?参数指定密码文件后密码被隐藏
?? ?multiuser?? ?多用户认证参数,没有通过认证的用户不可以使用smb上的资源
?? ?sec=ntlmssp?? ?用户使用到的认证方式

su - westos
ls /mnt/?? ?报错
cifscreds --help
cifscreds add -u westos 172.25.254.120?? ?此处如果输错密码也能登进,但仍被禁用
cifscreds clearall?? ?删除所有后重新添加
ls /mnt/?? ?可以正常显示

nfs服务

1.nfs服务的启用及测试

dnf install nfs-utils.x86_64 -y?? ??? ?电脑中已安装好
systemctl enable --now nfs-server.service
2049?? ?nfs 的端口
less /etc/services?? ??? ??? ?查看所有在etc下服务的端口
netstat -antlupe? | grep 2049?? ??? ?查看端口

nfs的启用:
firewall-cmd --permanent --add-service=nfs
firewall-cmd --permanent --add-service=mountd
firewall-cmd --permanent --add-service=rpc-bind
firewall-cmd --reload
客户端测试:
[root@westosb ~]# showmount -e 172.25.254.120	列出nfs服务器中的共享资源
Export list for 172.25.254.120:

2.nfs配置

vim /etc/exports    共享策略文件
/westosdir      *(ro,sync) 172.25.254.220(rw,sync,no_root_squash)
共享目录              共享参数
exportfs -rv        使共享策略文件生效

3.nfs配置参数

sync				更改成功后同步数据
async				时时同步(更准确,但更占资源)
rw				读写
ro				只读
no_root_squash			root用户挂载不转换身份
anonuid=1000,anongid=1000	指定挂载时使用用户为1000,不是默认的nobody

测试:	在服务器上	创建要共享的目录/westosdir 并给她777权限
			编写共享策略文件 参数自定
			使共享策略文件生效
	在客户端	挂载/westosdir 到 /mnt
                        mount 172.25.254.120:/westosdir /mnt/
			新建/mnt/file文件<F2>
			ls -lR /mnt查看新建文件的信息

不指定用户参数:显示为nobody

指定用户为1000,组为1000:显示为westos

?

指定root用户挂载不转换身份:显示为root

?

4.nfs+autofs自动挂载

参看上一节autofs内容
dnf install autofs -y	安装服务
vim /etc/auto.master	主配置文件
/westos    /etc/auto.nfs
/westos	        最终挂载点的上层目录
/etc/auto.nfs	子挂载策略文件,名称自定义,且在系统中默认不存在 

vim /etc/auto.nfs
nfs		172.25.254.120:/westosdir
最终挂载点的相对路径	挂载服务器ip及资源

vim /etc/autofs.conf	
timeout = 5		5秒自动刷新

注意:当配置文件中写有两个相同的上级挂载目录时,须将另一个注释掉,否则会有冲突

5.iscsi

服务器加一块硬盘5GB
fdisk -l?? ?查看硬盘信息
fdisk /dev/vdb?? ?---> /dev/vdb1 +2GB

?

服务器端:

dnf install targetcli -y	安装服务
targetcli
/> ls
o- / ..................................................................... [...]
  o- backstores .......................................................... [...]
  | o- block .............................................. [Storage Objects: 0]
  | o- fileio ............................................. [Storage Objects: 0]
  | o- pscsi .............................................. [Storage Objects: 0]
  | o- ramdisk ............................................ [Storage Objects: 0]
  o- iscsi ........................................................ [Targets: 0]
  o- loopback ..................................................... [Targets: 0]
/> /backstores/block create westos:storage1 /dev/vdb1
                        软件中设备的别名	/dev/vdb1系统中真实的设备
/> /iscsi create iqn.2021-08.org.westos:storage1
		建立对外的共享名称,iqn的命名方式
		iscsi限定名称  格式iqn.YYYY-MM.域名反写:别名
/> /iscsi/iqn.2021-08.org.westos:storage1/tpg1/luns create /backstores/block/westos:storage1
		把共享名称和内部指定设备关联
/> iscsi/iqn.2021-08.org.westos:storage1/tpg1/acls create iqn.2021-08.org.westos:westoskey
		为共享设定访问key(此处用westoskey代替实验效果,真实情况下需要用命令生成key)加密字符
/> exit
firewall-cmd --permanent --add-port=3260/tcp	开放服务的端口让客户端可以访问
firewall-cmd --reload

ls显示:蓝色的为目录,紫色的为目录中的命令

设置完成后效果如下:

客户端:

dnf search iscsi
dnf install iscsi-initiator-utils.x86_64 -y	客户端软件
systemctl status iscsid				对客户端配置控制服务
systemctl status iscsi				客户端对于资源利用的服务

实验:

iscsiadm -m discovery -t st -p 172.25.254.120	在服务器未设置火墙的情况下连接失败
	-m:mode	
	-t:指定要识别的设备类型
	-p:指定资源ip
设置火墙后显示连接成功,共享信息可以查询:
172.25.254.120:3260,1 iqn.2021-08.org.westos:storage1

iscsiadm -m node -T iqn.2021-08.org.westos:storage1 -p 172.25.254.120 -l
	-T:指定要访问的共享设备名
	-l:登录共享设备
因为在客户端没指定服务端的共享key,所以无法登录
设置:	vim /etc/iscsi/initiatorname.iscsi	在此文件中指定共享key
	InitiatorName=iqn.2021-08.org.westos:westoskey

fdisk -l		正常登录后可以查看到服务器的共享硬盘
fdisk /dev/sda		
mkfs.xfs /dev/sda1	
mount /dev/sda1 /mnt/	

?

?

6.永久挂载和删除设备?

?永久挂载:

[root@westosb ~]# blkid		#查看设备信息,因为网络设备名称因为通信缘故可能会发生变化,所以推荐使用设备id进行设备挂载指定
/dev/vda1: UUID="5640a252-d218-4377-917b-f7857918682a" TYPE="xfs" PARTUUID="34fd8722-01"
/dev/vda2: UUID="e79a5f1b-345e-4f76-be18-3f0a069fc81c" TYPE="swap" PARTUUID="34fd8722-02"
/dev/vda3: UUID="62f69d75-abe0-4c6b-a59c-dd69b6f80965" TYPE="xfs" PARTUUID="34fd8722-03"
/dev/sda1: UUID="a567741a-c336-4cdf-b462-a94b8349706e" TYPE="xfs" PARTUUID="f623607b-01"

vim /etc/fstab			编写开机自动挂载命令
UUID=a567741a-c336-4cdf-b462-a94b8349706e /mnt                  xfs     defaults,_netdev  0 0
--此处若不加 _netdev 参数,系统启动会报错 
(网络设备必须在网络和iscsi服务启动后才能识别,/etc/fstab文件的挂载是优选的,会导致系统启动失败)
解决:在启动报错界面输入超级用户密码,编写策略文件,添加_netdev 参数
_netdev 参数:指定此设备在挂载时先启动网络和iscsi服务后在生效

?删除设备:

客户端
vim /etc/fstab	删除网络设备自动挂载信息
umount /mnt	卸载设备

tree /var/lib/iscsi/	在客户端读取到的服务器所有的数据存放目录
iscsiadm -m node -T iqn.2021-08.org.westos:storage1 -p 172.25.254.120 -u	退出登录(仅退出登录,设备消失但数据还在,重启服务后设备会再次出现)
iscsiadm -m node -T iqn.2021-08.org.westos:storage1 -p 172.25.254.120 -o delete	删除客户端中此网络设备识别的数据
systemctl restart iscsi	重启服务
fdisk -l		查看设备

服务器
targetcli
/> clearconfig confirm=True    清空服务器中iscsi的共享数据
/>ls                查看数据显示恢复到原始状态

  系统运维 最新文章
配置小型公司网络WLAN基本业务(AC通过三层
如何在交付运维过程中建立风险底线意识,提
快速传输大文件,怎么通过网络传大文件给对
从游戏服务端角度分析移动同步(状态同步)
MySQL使用MyCat实现分库分表
如何用DWDM射频光纤技术实现200公里外的站点
国内顺畅下载k8s.gcr.io的镜像
自动化测试appium
ctfshow ssrf
Linux操作系统学习之实用指令(Centos7/8均
上一篇文章      下一篇文章      查看所有文章
加:2021-08-12 17:05:23  更:2021-08-12 17:05:39 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年5日历 -2024/5/26 21:23:45-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码