网络文件系统

1、samba服务简介

作用:
smb = server message block miscrosoft
cifs =common internet file system sum
windows系统共享文件时用到的协议smb
smb是由miscrosoft+sun

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

3、samba的安装与启用

samba的安装
dnf install samba-common.noarch samba.x86_64 samba-client -y
在这里插入图片描述
smbpasswd -a westos
#smb用户必须是本地用户
在这里插入图片描述

pdbedit -L #-L列出用户
在这里插入图片描述
pdbedit -x westos #-x删除samba用户列表中的指定用户
在这里插入图片描述
firewall-cmd --permanent --add-service=samba
firewall-cmd --reload

systemctl enable --now smb #启动
在这里插入图片描述

4、samba服务访问家目录

windows中:
\172.25.254.113
在这里插入图片描述

在linux下:
当selinux开启时,selinux默认不允许用户通过smb访问自己的家目录
getsebool -a | grep samba
在这里插入图片描述
setsebool -P samba_enable_home_dirs on
在这里插入图片描述
smbclient //172.25.254.113/westos -U westos
在这里插入图片描述

5、samba服务共享目录

普通目录
mkdir /westos
在这里插入图片描述
cd /westos
touch file{1…10}
在这里插入图片描述
cd /etc/samba/
mv smb.conf smb.conf.bak
mv smb.conf.example smb.conf
vim smb.conf
在这里插入图片描述

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

在这里插入图片描述
systemctl restart smb.serive

semanage fcontext -a -t samba_share_t ‘/westos(/.*)?’
restorecon -RvvF /westos
在这里插入图片描述

测试:
smbclient //172.25.254.113/WESTOS -U westos
在这里插入图片描述

系统目录
cd /mnt
touch wwww
vim smb.conf
在这里插入图片描述
在这里插入图片描述
systemctl restart smb.serive
在这里插入图片描述
setsebool -P samba_export_all_ro on
在这里插入图片描述

测试
smbclient //172.25.254.113/MNT -U westos
在这里插入图片描述

6、samba的访问控制
vim smb.conf
在这里插入图片描述
hosts allow = 172.25.254.113 #当写到单独共享时只对此共享生效
#当写到GLOBAL时对samba整体生效
host deny
第一种
在这里插入图片描述
第二种
在这里插入图片描述
第三种
在这里插入图片描述
systemctl restart smb.service
在这里插入图片描述

测试:
不被允许的主机无法挂载
第一种
在这里插入图片描述
在这里插入图片描述
第二种
在这里插入图片描述
在这里插入图片描述
第三种
在这里插入图片描述

7、samba的常用配置参数
vim smb.conf
valid user = westos #指定用户可写
在这里插入图片描述
systemctl restart smb.service
在这里插入图片描述

测试:
mount -o username=westos,password=westos //172.25.254.113/MNT /media/ #可以
mount -o username=lee,password=westos //172.25.254.113/MNT /media/ #不可以
在这里插入图片描述

vim smb.conf
valid users = +lee或者@lee #指定组可写
在这里插入图片描述
systemctl restart smb.service
在这里插入图片描述

测试:
groupadd lee
usermod -G lee westos
mount -o username=westos,password=westos //172.25.254.113/MNT /media/ #可以
在这里插入图片描述

vim smb.conf
在这里插入图片描述
writable = yes #允许所有用户写
在这里插入图片描述
systemctl restart smb.service
在这里插入图片描述

测试:
mount -o username=westos,password=westos //172.25.254.113/WESTOS /media/
在这里插入图片描述
touch /media/westosfile #可以
在这里插入图片描述
mount -o username=lee,password=westos //172.25.254.113/WESTOS /media/
touch /media/leefile #可以
在这里插入图片描述

vim smb.conf
write list = lee #允许lee用户写
在这里插入图片描述
systemctl restart smb.service
在这里插入图片描述

测试:
mount -o username=westos,password=westos //172.25.254.113/WESTOS /media/
touch /media/westosfile1 #不成功
在这里插入图片描述
mount -o username=lee,password=westos //172.25.254.113/WESTOS /media/
touch /media/leefile1 #成功
在这里插入图片描述

vim smb.conf
write list = @lee或者+lee #允许lee组用户写
在这里插入图片描述
systemctl restart smb.service

测试:
id westos #westos属于lee组
mount -o username=westos,password=westos //172.25.254.113/WESTOS /media/
touch /media/westosfile1 #成功
在这里插入图片描述

vim smb.conf
browseable =yes #允许查看
在这里插入图片描述
在这里插入图片描述
systemctl restart smb.service
在这里插入图片描述
测试:
当等于yes时可以看到,为no时不可以看到
smbclient -L //172.25.254.113/ -U westos
在这里插入图片描述
在这里插入图片描述
vim smb.conf

map to guest = bad user #这句一定要GLOBAL否则不成功
guest ok = yes #允许匿名用户登陆
在这里插入图片描述
在这里插入图片描述
systemctl restart smb.service
在这里插入图片描述

测试:
mount -o username=guest,password=’’ //172.25.254.113/WESTOS /media/ #可以
在这里插入图片描述

admin users = lee #指定此共享的超级用户身份

8、samba的多用户挂载

服务端:
cd /etc/samba/
vim smb.conf
在这里插入图片描述
在这里插入图片描述
systemctl restart smb.service
在这里插入图片描述

客户端:
mount //172.25.254.113/WESTOS /media/ -o username=lee,password=westos
超级用户持有smb认证,但其他用户没有经过认证,却也可以看到挂载,不安全,需要做一个安全参数
在这里插入图片描述

dnf install cifs-utils -y #在客户端samba认证的安全插件
在这里插入图片描述
man mount.cifs

mount //172.25.254.113/WESTOS /media/ -o credentials=/root/smb_auth,multiuser,sec=ntlmssp #挂载

credentials=/root/smb_auth #为了隐藏密码
multiuser #支持多用户挂载
sec=ntlmssp #指定认证方式
在这里插入图片描述
cifscreds add -u westos 172.25.254.113 #增加认证用户,此时如果密码写错,则仍是无法查看,需要将用户删除再次添加
在这里插入图片描述
cifscreds clear -u westos 172.25.254.113 #删除认证用户
在这里插入图片描述
在这里插入图片描述

NFS
net file system

服务端:
dnf install nfs-utils #安装
在这里插入图片描述
systemctl enable --now nfs-server #开启
在这里插入图片描述
systemctl enable --now firewalld
firewall-cmd --permanent --add-service=rpc-bind
firewall-cmd --permanent --add-service=mountd
firewall-cmd --permanent --add-service=nfs
firewall-cmd --reload
在这里插入图片描述
在这里插入图片描述

vim /etc/exports
在这里插入图片描述

/westos 172.25.254.13(ro) #要共享出去的目录,指定分享给13主机,只读(如果为*那就分享给所有主机)

exportfs -rv #刷新
在这里插入图片描述

客户端:
showmount -e 172.25.254.113
mount 172.25.254.113:/westos /media/
#可以挂载,且能看到,但不能写
在这里插入图片描述
在这里插入图片描述

nfs配置参数
rw #读写,上面的ro改成rw
在这里插入图片描述
在这里插入图片描述

no_root_squash #root用户挂载不转换身份,在客户端root身份建立文件,在服务端看到权限都为root
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

anonuid=1000,anongid=1000 #指定用户身份,比如这里的id=1000指的是用户westos,客户端root建立文件,在服务端看到的拥有者和拥有组都为westos
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

sync #更改生成后同步数据到服务端,为默认
async #时时同步数据到服务端

退出后仍然挂载在13主机,资源浪费,实现自动挂载与卸载
客户端:
dnf install autofs -y
在这里插入图片描述
systemctl enable --now autofs.service #启动后出现/net/目录

cd /net/
cd 172.25.254.113
cd westos #此时df可看到自动挂载上了
在这里插入图片描述
#退出300秒后自动卸载,但可更改

vim /etc/autofs.conf #更改时间为5秒
在这里插入图片描述
在这里插入图片描述
systemctl restart autofs
在这里插入图片描述
#退出目录后5秒后自动卸载
在这里插入图片描述

samba实现自动挂载与卸载
vim /etc/auto.master
在这里插入图片描述

最终挂载点的上层目录        最终挂载点子策略文件
/media                  /etc/auto.samba 

在这里插入图片描述
vim /etc/auto.samba #编辑最终挂载点子策略文件
在这里插入图片描述

最终挂载点   挂载参数                                       挂载资源
samba      -fstype=cifs,username=lee,password=westos   ://172.25.254.113/WESTOS

systemctl restart autofs
在这里插入图片描述

cd /media/
cd samba #此时df可看到samba自动挂载上了
在这里插入图片描述

对samba和nfs均实现自动挂载与自动卸载
vim /etc/auto.master
在这里插入图片描述

最终挂载点的上层目录        最终挂载点子策略文件
/media                  /etc/auto.samba 

vim /etc/auto.samba
在这里插入图片描述

最终挂载点   挂载参数                                       挂载资源
samba    -fstype=cifs,username=lee,password=westos   ://172.25.254.113/WESTOS
nfs						     172.25.254.113:/westos

systemctl restart autofs
在这里插入图片描述
cd nfs #df可看到nfs也自动挂载成功
在这里插入图片描述
#不可以在一个主策略文件中写两个同样的上层目录,若是同一上层文件,可以在子策略文件中写两个

iscsi

服务端:
添加一块硬盘
fdisk -l
在这里插入图片描述
fdisk /dev/vdb
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
udevadm settle
在这里插入图片描述

dnf install targetcli -y
在这里插入图片描述
systemctl enable --now target.service
在这里插入图片描述

targetcli #进入target设定
在这里插入图片描述
/backstores/block create westos_storage /dev/vdb1 #在/dev/vdb1上创建westos_storage
/iscsi create iqn.2021-02.org.westos:storage #建立共享链接 年月域名反写 共享名
/iscsi/iqn.2021-02.org.westos:storage/tpg1/luns create /backstores/block/westos_storage #关联共享与设备
/iscsi/iqn.2021-02.org.westos:storage/tpg1/acls create iqn.2021-02.org.westos:westoskey #设定认证密码为iqn.2021-02.org.westos:westoskey
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
firewall-cmd --permanent --add-port=3260/tcp #开启3260端口
firewall-cmd --reload
在这里插入图片描述

服务端:

dnf install iscsi-initiator-utils.x86_64 -y
在这里插入图片描述
在这里插入图片描述
vim /etc/iscsi/initiatorname.iscsi #编辑密码文件
在这里插入图片描述
InitiatorName=iqn.2021-02.org.westos:westoskey #使之等于你所设定的认证密码
在这里插入图片描述
systemctl restart iscsid #重启服务
在这里插入图片描述
iscsiadm -m discovery -t st -p 172.25.254.113 #查看共享设备,-m为模式,-t为设备类型,-p设备所在ip
iscsiadm -m node -T iqn.2021-02.org.westos:storage -p 172.25.254.113 -l #node为登陆,-T目标设备名称,-l为登陆
在这里插入图片描述
fdisk -l #可以看到你所共享的设备
在这里插入图片描述
fdisk /dev/sdb #对设备进行划分
在这里插入图片描述
udevadm settle #同步数据表
在这里插入图片描述
mkfs.xfs /dev/sdb1 #格式化
在这里插入图片描述
mount /dev/sdb1 /mnt/ #可以挂载,说明共享成功
在这里插入图片描述

让iscsid服务开机自启
systemctl enable --now iscsid.service
在这里插入图片描述
在这里插入图片描述

客户端:
卸载设备
umount /mnt/
在这里插入图片描述
iscsiadm -m node -T iqn.2021-02.org.westos:storage -p 172.25.254.113 -u
#-u登出
在这里插入图片描述
systemctl restart iscsi
在这里插入图片描述
此时用fdisk -l 看到设备仍存在
在这里插入图片描述
tree /var/lib/iscsi/ #仍能看到结构
在这里插入图片描述
iscsiadm -m node -T iqn.2021-02.org.westos:storage -p 172.25.254.113 -o delete #删除设备
tree /var/lib/iscsi/ #设备彻底被删除
在这里插入图片描述

服务端:
targetcli
在这里插入图片描述
在这里插入图片描述
/iscsi delete iqn.2021-02.org.westos:storage #删除设备
在这里插入图片描述
clearconfig confirm=True #删除所有的设定
在这里插入图片描述
#这里如果不会,可以直接输入help求助

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
NFS(Network File System)是一种允许网络中的计算机通过TCP/IP网络共享资源的文件系统。在NFS的应用中,客户端可以透明地读写位于远端NFS服务器上的文件,就像访问本地文件一样。使用NFS可以方便地将文件从PC复制到开发板上进行调试,省去了频繁插拔U盘的麻烦。要实现NFS文件系统,需要在PC的Ubuntu系统上搭建NFS服务器,并设置共享目录,然后在开发板上挂载该共享目录,实现文件传输的功能。具体步骤如下: 1. 在PC上配置NFS服务器。可以按照引用\[2\]中提供的相关简介进行配置,设置共享目录。 2. 在开发板上配置NFS客户端。可以按照引用\[3\]中提供的配置命令进行设置,包括打开网卡、分配IP和挂载NFS共享目录。 3. 完成配置后,就可以在虚拟机中编译C文件,并将编译好的文件拷贝到共享目录中。 4. 在开发板上挂载共享目录,并将文件从共享目录拷贝到开发板目录中运行。 这样就完成了NFS网络文件系统的搭建,可以实现文件在PC和开发板之间的传输和共享。 #### 引用[.reference_title] - *1* *2* *3* [【Linux】新唐NUC977挂载NFS实现网络文件传输](https://blog.csdn.net/qq_43581670/article/details/124859735)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control_2,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值