文章目录
前言
常用到的网络文件系统包括:samba、nfs、iscsi;
①samba:windows系统共享文件时用到的协议smb,smb是由miscrosoft+sun联合开发的,在linux中称为 cifs文件系统
在Windows中共享一个文件;
②nfs(Network File System)即网络文件系统,是FreeBSD支持的文件系统中的一种,它允许网络中的计算机之间共享资源;
③iscsi:利用了TCP/IP的port 860 和 3260 作为沟通的渠道,透过两部计算机之间利用iSCSI的协议来交换SCSI命令,让计算机可以透过高速的局域网集线来把SAN模拟成为本地的储存装置
一、samba服务简介
1.作用
smb = Server Message Block Sum
cifs = Common Internet File System Miscrosoft
windows系统共享文件时用到的协议smb
smb是由miscrosoft+sun
Linux cifs ##linux中称为 cifs文件系统
2.samba基本信息
服务启动脚本:smb.service
主配置目录:/etc/samba
主配置文件:/etc/smb.conf
安全上下文:samba_share_t
端口:139 & 445
安装包:samba & samba-common
3.samba的安装与启用
samba的安装:
dnf install samba samba-common samba-client -y
samba服务启动:
systemctl enable --now smb
samba服务启用
firewall-cmd --permanent --add-service=samba
firewall-cmd --reload
测试:
smbclient -L //172.25.254.20 ##当要输入root密码时请直接回车
4.samba用户的建立
1.samba用户必须是被地存在的用户
2.samba用户的建立
smbpasswd -a lee ##添加用户
pdbedit -L ##查看用户列表
pdbedit -x lee ##删除用户
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
6.samba服务共享目录
mkdir /westosdir
touch /westosdir/westosfile{1..5}
semanage fcontext -a -t samba_share_t '/westosdir(/.*)?'
restorecon -RvvF /westosdir/
vim /etc/samba/smb.conf
[westosdir] ##共享名称
comment = westosdir ##共享说明
path = /westosdir ##共享路径
systemctl restart smb
测试:
smbclient //172.25.254.20/westosdir -U westos
7.samba的访问控制
vim /etc/samba/smb.conf
hosts allow 172.25.254.30 172.25.254. ##当写到单独共享时只对此共享生效
hosts deny ##当写到【GLOBAL】(90行左右)时对samba整体生效(可理解为总开关)
8.samba的常用配置参数
vim /etc/samba/smb.conf
writable = yes ##可写
write list = westos ##指定用户可写
write list = +westos ##指定组可写
write list = @westos ##指定组可写(与+同样效果)
valid users = lee ##指定访问用户(lee用户可以登录共享)
valid users = +lee|@lee ##指定访问组
browseable = yes|no ##是否隐藏共享
map to guest = bad user ##写到全局设定中
guest ok = yes ##允许匿名用户访问(可写到指定共享文件后)(和上一条同时使用)
admin users = lee ##指定此共享的超级用户身份(理解:lee为管理员身份)
9.samba的多用户挂载
在客户端如果用普通的挂载方式
没有用过用户验证的人也可以访问samba服务
dnf install cifs-utils -y
vim /root/smbpass
username=westos
password=lee
mount -o credentials=/root/smbpass,sec=ntlmssp,multiuser //172.25.254.20/westosdir /mnt
#credentials=/root/smbpass 指定认证文件
#sec=ntlmssp 指定认证类型
#multiuser 支持多用户
su - westos
[westos@test /]$ ls /mnt ##客户端主机的wetos用户没有通过认证
ls: cannot access '/mnt': Permission denied
[westos@test ~]$ cifscreds add -u lee 172.25.254.20
Password:
[westos@test ~]$ ls /mnt/ ##通过认证可以显示
file file1111 file2 file22222
[westos@test /]$ cifscreds add -u lee 172.25.254.20
Key search failed: Key has expired ##当遇到此报错信息
[westos@test /]$ cifscreds add -u lee -d 172.25.254.20
Password:
[westos@test ~]$ cifscreds clearall ##执行以上两条命令解决报错
二、nfs的启用
Net File System
1.nfs基本信息
nfs-utils ##安装包
nfs-server ##服务脚本
/etc/exports ##共享配置文件
2.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@dns_node1 ~]# showmount -e 172.25.254.20
Export list for 172.25.254.20:
3.nfs配置
vim /etc/exports ##此文件更改后生效exportfs -rv
共享目录 共享给谁(共享参数)
/westosdir *(ro)
测试:
mount 172.25.254.30:/westosdir /mnt/
4.nfs配置参数
vim /etc/exports 后,使用exportfs -rv命令生效
anonuid=1000,anongid=1000 ##指定用户身份
sync ##更改生成后同步数据到服务器
async ##时时同步数据到服务器
rw ##读写
ro ##只读
no_root_squash ##root用户挂载不转换身份
三、iscsi
1.
fdisk /dev/sdb -------> /dev/sdb1 ##服务端分一块设备
2.
dnf install targetcli -y ##服务端
3.
iscsi_server ##服务端
targetcli
/> /backstores/block create westos_storage1 /dev/vdb1
/> /iscsi create iqn.2020-08.com.westos:strage1 ##IQN Iscsi Qualified
Name
/> /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
/> exit
4.
iscsi_client ##客户端
dnf install iscsi-initiator-utils.x86_64 -y
vim /etc/iscsi/initiatorname.iscsi
InitiatorName=iqn.2020-08.com.westos:westoskey1 <---- key check
systemctl restart iscsid
iscsiadm -m discovery -t st -p 172.25.254.100
iscsiadm -m node -T iqn.2020-08.com.westos:strage1 -p 172.25.254.100 -l ---> /dev/sda ##登录
fdisk /dev/sda ---> /dev/sda1
udevadm settle
mkfs.xfs /dev/sda1
mount /dev/sda1 /mnt
1.临时挂载
2.永久挂载
3.永久删除
分别为客服端、服务端数据的删除
四、autofs提供samba、nfs的自动挂载
问题:
在客服端,我们在没有向服务器写入文件的时候
如果手动挂载
这个挂载即使在没有使用或没有数据传输过程中,此挂载依然在使用服务器上的资源
————为解决上述问题,学习autofs服务提供的自动挂载
本实验均在客户端操作
autofs:在客户端实现自动挂载卸载的软件
dnf install autofs -y ##客户端安装此软件
配置方式:
vim /etc/auto.master
最终挂载点的上层目录 自定义策略文件
/mnt /etc/auto.samba
vim 自定义策略文件(/etc/auto.samba)
最终挂载点 挂载参数 挂载资源
samba -fstype=cifs,username=westos,password=lee ://172.25.254.20/westosdir
systemctl restart autofs
测试:
cd /mnt/samba
df
cd /root
等待资源闲置超时 ##默认300秒( vim /etc/autofs.conf ---->Timeout=3默认改为3秒)
df ##超过/etc/autofs.conf内设置时间后,自动取消挂载
挂载资源自动卸载
nfs+autofs
参看autofs章节内容
vim /etc/auto.nfs
nfs 172.25.254.30:/westosdir
samba、nfs自动挂载的建立
samba
nfs
五、Windows共享文件夹
在确定Windows用户有密码的前提下,
1.命令方式增减文件
2.挂载后增删共享文件