网络文件系统(smaba+autofs+iscsi)
1.samba1.1. samba 服务简介1.2.samba 基本信息1.3.samba 的安装与启用1.4.samba 用户的建立1.5.samba 用户访问家目录1.6.samba 服务共享及共享目录1.6.1共享时访问的两种方式1.6.2windows中和Linux的共享(linux之间也同样的方式)1.6.2.1在windows下:访问1.6.2.2 在 linux 下:访问1.6.2samba 服务共享目录1.7.samba 的常用配置参数1.8.autofs+samba(共享资源访问时自动挂载)1.8.1autofs:自动挂载1.8.2 配置方式1.9samba 的多用户挂载1.9.1临时设定1.9.2永久设置:自动挂载(nfs+autofs,基于1.8)2.NFS2.1 nfs 基本信息2.2nfs 的 启 用2.3nfs 配置2.4 nfs+autofs2.5nfs 配 置 参 数5.iscsi 设备的共享5.1共享磁盘设备:(通过网络直接进行共享,在客户端可以对服务端共享的磁盘设备进行写入)5.1.1 server端5.1.2服务端5.2删除5.2.1客户端5.2.2客户端共享:存储和系统分离,一个系统发生故障,可以通过另一个系统访问资源、| windows是存储,linux是系统,
1.samba
1.1. samba 服务简介
Samba是在Linux和UNIX系统上实现SMB协议的一个免费软件,由服务器及客户端程序构成。SMB(Server Messages Block,信息服务块)是一种在局域网上共享文件和打印机的一种通信协议,它为局域网内的不同计算机之间提供文件及打印机等资源的共享服务。SMB协议是客户机/服务器型协议,客户机通过该协议可以访问服务器上的共享文件系统、打印机及其他资源。通过设置“NetBIOS over TCP/IP”使得Samba不但能与局域网络主机分享资源,还能与全世界的电脑分享资源。
1.2.samba 基本信息
1.3.samba 的安装与启用
测试:
smbclient -L //170.25.254.111
当要输入 root 密码时请直接回车,有密码的时候需要输入密码
1.4.samba 用户的建立
1samba 用户必须是被地存在的用户,首先useradd 需要建立的samba用户
2samba 用户的建立
1.5.samba 用户访问家目录
当 selinux 开启时:
setsebool -P samba_enable_home_dirs on
windows 下
\172.25.254.20 ##访问
net use ##查看访问记录net use * /del ##删除访问记录
在 linux 下:
smbclient //172.25.254.20/westos -U westos
1.6.samba 服务共享及共享目录
1.6.1共享时访问的两种方式
1. smbclient //172.25.254.254/westos -U westos
可以建立文件,在window中就可以看到
2mount -o username=adminstator,password=westos //172.25.254.254/westos /mnt/
使用挂载的方式,在linux中,切换到cd /mnt/ 建立文件,即在windows中建立每次使用,每次挂载,也可以直接写在/etc/fstab文件中,但资源浪费,可以使用后文的aotofs挂载,
1.6.2windows中和Linux的共享(linux之间也同样的方式)
共享:存储和系统分离,一个系统发生故障,可以通过另一个系统访问资源、| windows是存储,linux是系统,
eg:windows
windows用户 ip
1在windows的D盘中建立一个文件westos,右键属性,选择共享。
2高级共享,点击权限
3如图
4windows用户设置密码
1.6.2.1在windows下:访问
\\172.25.254.20 ##访问 net use ##查看访问记录net use * /del ##删除访问记录
1.6.2.2 在 linux 下:访问
smbclient -L //170.25.254.111 -U administrator
发现,
1. smbclient //170.25.254.111/westos -U westos
可以建立文件,在window中就可以看到
2mount -o username=adminstator,password=westos //170.25.254.111/westos /mnt/
使用挂载的方式,在linux中,切换到cd /mnt/ 建立文件,即在windows中建立
1.6.2samba 服务共享目录
使用的是建立的samba用户
server
1dnf install samba samba-common -y
** (samba-common:samba所有的配置文件) ,开启smb.service**
2firewall-cmd --permanent --add-service=smaba
3mkdir /westos
共享的东西/westos
4vim /etc/samba/smb.conf
修改主配置文件,之后重启服务
[westos] ##共享名称
comment = westos ##共享说明
path = /westos ##共享路径
5默认用户可以访问自己的家目录
client
211:服务端ip
会把建立的samba用户westos的家目录共享出来
smbclient //172.25.254.211/westos -U westos
1.7.samba 的常用配置参数
接着1.6.2实验
semanage fcontext -a -t samba_share_t '/westos(/.*)?'
restorecon -RvvF /westos
修改共享目录的安全上下文
vim /etc/samba/smb.conf
修改主配置文件,之后重启服务
1writable = yes
可写
修改共享目录权限,对samba用户westos可写
测试端只能上传当前目录里面的文件,在登录之后,看当前目录!ls
2write list = lee
指定用户可写(与wtitable冲突,先关掉writeable)
3write list = +westos
指定组可写write list = @westos
只有属于这个组里的人才可写
usermod -G lee westos
更改之后,2中的westos也可以写
4valid users = lee
指定访问用户
client
只有lee用户可以访问
5valid users = +lee|@lee
指定访问组
只有属于指定组的用户可以访问
usermod -G lee westos
更改westos的用户组后,westos也可以访问
6browseable = yes|no
是否隐藏共享
server可浏览=noclient
7````** 设置全局黑白名单**+
局部设置黑白名单
全局黑名单:172.25.254.111
指定此IP无法访问172.25.254.
全网段不能访问对 samba 整体生效
针对于所有的共享
局部黑|白名单:只针对此目录当写到单独共享时之对此共享生效
8map to guest = bad user
写到全局设定中
9guest ok = yes
允许匿名用户访问
server
map to guest=bad user
** 任何没有身份的用户都被映射成用户名称**
client
211:服务端ip
10admin users = westos
指定此用户访问的超级用户身份(westos用户对于共享目录是以超级用户身份进行管理的)(客户端:用westos身份挂载:mount -o username=westos,password=westos //172.25.254.211/westos /mnt/)
10.1在服务端修改主配置文件admin users = westos
指定此共享的超级用户身份以超级用户身份去管理共享文件
10.2在客户端的挂载目录下建立文件(用westos身份去挂载)显示为超级用户的身份,(在配置文件中如果不指定,admin users = westos 则在服务端看到的依然是westos用户身份的文件,用westos身份进行挂载)
10.3在服务端可以看到文件的用户身份是root
1.8.autofs+samba(共享资源访问时自动挂载)
1.8.1autofs:自动挂载
autofs:
在客户端实现自动挂载卸载的软件(一直处于挂载状态会浪费资源)
1.8.2 配置方式
服务端主机ip:172.25.254.254
客户端主机211
1vim /etc/auto.master
最终挂载点的上层目录自动以子策略文件
/mnt
/etc/auto.cifs
2vim 自动以子策略文件(/etc/auto.samba)
最终挂载点挂载参数挂载资源
westos
-fstype=cifs,username=westos,password=lee
://172.25.254.254/westos
3等待资源闲置超时 ##默认 300 秒 vim /etc/autofs.conf >Timeout=3
4systemctl restart autofs
重启服务
5当进入设定的自动挂载目录时,其会实现自动挂载,退出时,会卸载
1.9samba 的多用户挂载
其他用户需要认证
mount -o username=westos,password=westos //172.25.254.211/westos /mnt
客户端root用户使用到服务器的westos账户完成了认证此方式挂载之后,查看历史时可以看到用户的密码,不安全·
客户端的westos用户并没有通过认证,但可以看到 /mnt/下的文件,不合理
在客户端如果用普通的,挂载方式 没有用过用户验证的人也可以访问 samba 服务
1.9.1临时设定
client
1==需要安装插件 dnf search mount dnf install cifs-utils
安装后
客户端
2vim /root/smbpass
username=westos
password=westos
3chmod 600 /root/smbpass
不是超级用户也无法查看此文件
4临时挂载
mount -o credentials=/root/smbpass,sec=ntlmssp,multiuser //172.25.254.211/westos /mnt
credentials=/root/smbpass
指定认证文件(指定本次所使用到的用户和密码所在记录的文件
)
sec=ntlmssp
指定认证类型(其他用户可以用自己持有的samba账号来完成认证
)
multiuser
支持多用户:每个人用自己的身份进行挂载,用自己的samba用户认证 (切换到westos用户,则不能看到/mnt/目录里面的内容)在认证期间,所使用的认证策略
测试
su - westos
[westos@test /]$ ls /mnt
客户端主机的 wetos 用户没有通过认证
ls: cannot access '/mnt': Permission denied
[westos@test ~]$ cifscreds add -u lee
172.25.254.211
Password:
[westos@test ~]$ ls /mnt/
通过认证可以显示file file1111 file2 file22222
[westos@test /]$ cifscreds add -u lee 172.25.254.211
服务端的lee ,输入正确的密码后建立认证
Key search failed: Key has expired ##当遇到此报错信息
[westos@test /]$ cifscreds add -u lee -d 172.25.254.211
Password:
[westos@test ~]$ cifscreds clearall
执行以上两条命令解决报错
1.9.2永久设置:自动挂载(nfs+autofs,基于1.8)
dnf install autofs
vim /etc/auto.nfs
mount -fstype=cifs,credentials=/root/smbpass,sec=ntlmssp,multiuser //172.25.254.211/westos ``
systenctl restart autofs.service
su lee
lee用户没有认证
cd /mnt/ 会自动挂载
[lee@test /]$ cifscreds add -u lee 172.25.254.211
认证后就可以看到/mnt下的信息
2.NFS
Net File System
NFS是基于UDP/IP协议的应用,其实现主要是采用远程过程调用RPC机制,RPC提供了一组与机器、操作系统以及低层传送协议无关的存取远程文件的操作。RPC采用了XDR的支持。XDR是一种与机器无关的数据描述编码的协议,他以独立与任意机器体系结构的格式对网上传送的数据进行编码和解码,支持在异构系统之间数据的传送。
2.1 nfs 基本信息
2.2nfs 的 启 用
server
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
==测试:client中访问服务端
[root@apache ~]# showmount -e 172.25.254.211
2.3nfs 配置
server
vim /etc/exports
##此文件更改后生效
共享目录 共享给谁(共享参数)
/westosdir *(ro)
exportfs -rv
生效上面的文件
测试:
mount 172.25.254.211:/westos /mnt/
cd /mnt/ 就可以看到服务端内容
2.4 nfs+autofs
接1.8所设置
vim /etc/auto.nfs
westos 172.25.254.211:/westos
cd /mnt/westsos df 可以查看到自动挂载
2.5nfs 配 置 参 数
chmod 777 /westos/westos 共享目录
每次进行编辑后都要使其生效
111apache客户端 == 211== loaclhost 服务端
1在编辑配置文件时,共享对象*表示所有人,也可以使用ip指定客户端
server
client挂载之后,建立文件,文件的身份是nobody
2建立客户端访问的用户身份
server
client
3让客户端以root身份挂载
server
client
4
5.iscsi 设备的共享
5.1共享磁盘设备:(通过网络直接进行共享,在客户端可以对服务端共享的磁盘设备进行写入)
5.1.1 server端
1安装targetcli,fdisk /dev/vdb 建立一块可以共享的分区/dev/vdb1
2在火墙策略中添加服务
3
3.1targetcli
:共享设备
3.2backstores/block create westos_storage1 /dev/vdb1
创建共享设备的别名(westos_storage1)针对于真实的物理设备/dev/vdb1
3.3/iscsi create iqn.-.westos:strage1
对外共享,iqn
的格式:全局限定名称有固定的格式:年月域名的反写
strage
:短名称
创建出来3.3之后需要将其与设备关联起来,并且制造访问key,开启某个端口
3.4/iscsi/iqn.-.westos:strage1/tpg1/luns create /backstores/block/westos_storage1
将对外共享与真实设备关联起来。对外共享真实设备/dev/vdb1
3.5/iscsi/iqn.-.westos:strage1/tpg1/acls create iqn.-.westos:westoskey1
通过westoskey进行认证
3.6quit退出
4重启target.service在没有共享东西之前无法开启服务
5.1.2服务端
1安装iscsi-initiator-utils.x86_64
2做认证:指定用户key,重启iscsid
3iscsiadm -m discovery -t st -p 172.25.254.111
-m 动作 -t st :类型 -p ip:发现(不做认证也可以发现)
4iscsiadm -m node -T iqn.-.westos:strage1 -p 172.25.254.111 -l
-l 登陆成功,则表示认证成功
5fdisk -l
可以看到共享过来的设备,分区,格式化设备,挂载设备,
往/dev/sda1里面写东西,就是往对外共享的设备里写,即服务端/dev/vdb1
因为共享过来的设备/dev/sda是一块网络设备,每次开机重启设备会漂移,所以需要在永久挂载文件中以UUID的形式进行编辑。
图片上没有Z,是鼠标点击失误,
且因为挂载的分区/dev/sda1是网络设备,如果在写参数的时候没有写"_netdev",系统将无法重启
在删除的时候也要删除此文件里面的内容
5.2删除
5.2.1客户端
清除共享
5.2.2客户端
1==卸载挂载的共享设备(删除永久挂载文件/etc/fstab中的挂载信息)
2-u 注销
delete 删除数据
可以通过tree的方式进行查看,是否删除完毕
3**重启iscsi **
4查看客户端的分区,可以看到共享的网络设备已经被完全删除
如果觉得《网络文件系统(smaba+nfs+autofs+iscsi)》对你有帮助,请点赞、收藏,并留下你的观点哦!