【Linux学习笔记24-1】网络文件系统 samba共享设置 + 自动挂卸载 autofs

0-1 实验环境

  • 服务器端:node1===>192.168.43.101
  • 客户端:node2===>192.168.43.111

0-2 Windows与Linux共享文件

  • Windows主机IP:192.168.43.1
  1. 新建文件夹westos
  2. 打开文件属性===>共享===>高级共享===>共享文件夹===>设置共享名称
  3. 文件属性===>共享===>箭头===>选择Everyone===>添加===>共享===>完成

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

  • Linux客户端:node2主机

smbclient -L //192.168.43.1/共享名称 -U administrator

1. samba服务简介

Samba是SMB的一种实现方法,主要用来实现Linux系统的文件和打印服务。Linux用户通过配置使用Samba服务器可以实现与Windows用户的资源共享。

samba 是基于SMB协议(ServerMessage Block,信息服务块)的开源软件,samba也可以是SMB协议的商标。SMB是一种Linux、UNIX系统上可用于共享文件和打印机等资源的协议,这种协议是基于Client\Server型的协议,Client端可以通过SMB访问到Server(服务器)上的共享资源。当Windows是 Client,CentOS是服务器时,通过Samba就可以实现window访问Linux的资源,实现两个系统间的数据交互。

samba是运行于unix/linux的软件。它分为服务器端和客户端,实现了cifs协议描述的功能。用于windows和unix/linux见文件共享

cifs:Windows上的文件共享协议,其前身是SMB协议

2. samba基本信息

  1. 服务启动脚本
    smb.service

  2. 主配置目录
    /etc/samba

  3. 主配置文件
    /etc/samba/smb.conf

  4. 安全上下文
    samba_share_t

  5. 端口 139445

  6. 安装包
    samba
    samba-common:工具包
    samba-client:客户端

3. samba的安装与启用

  1. dnf search samba:查找
  2. dnf install samba -y:服务器端安装
    dnf install samba-common -y:服务器和客户端均需安装
    dnf install samba-client -y:客户端安装
  3. systemctl enable --now smb.service:启动samba服务
  4. 当火墙开启时启用samba:
    firewall-cmd --permanent --add-service=samba:在火墙中永久开启samba
    firewall-cmd --reload:刷新火墙使设定生效

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

  • 测试:

smbclient -L //192.168.43.101:列出指定IP提供的共享文件

(当需要输入root密码时请直接回车)

在这里插入图片描述

4. samba用户的建立

samba用户必须是本地存在的用户

  1. smbpasswd -a 用户名:添加samba用户
  2. pdbedit -L:查看samba用户列表
  3. pdbedit -x 用户名:删除samba用户

在这里插入图片描述

5. samba用户访问家目录

  1. setsebool -P samba_enable_home_dirs on

在这里插入图片描述

  • 在Windows下访问

Windows+R===>输入 \\192.168.43.101运行

在这里插入图片描述
在这里插入图片描述

  • 在Linux下访问

smbclient -L //IP/共享名称 -U 用户名:列出指定IP提供的共享文件

在这里插入图片描述

6. samba服务共享目录

6.1 共享自建目录

  1. mkdir /westosdir:建立共享目录
  2. touch /westosdir/file1:建立文件
  3. semanage fcontext -a -t samba_share_t ‘/westosdir(/.*)?’:修改共享目录的Selinux安全上下文
  4. restorecon -RvvF /westosdir:刷新
  5. cp /etc/samba/smb.conf.example /etc/samba/smb.conf:复制模板文件
  6. vim /etc/samba/smb.conf:添加共享目录
	[LEE]	#共享名称
	comment = westos dir	#共享说明
	path = /westosdir	#共享路径
  1. systemctl restart smb.service:重启服务

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

  • 在客户端访问共享文件:
  1. smbclient //共享文件主机IP/共享名 -U samba用户名:列出指定IP提供的共享文件
  2. mount -o username=samba用户名,password=密码 //共享文件主机IP/共享名 挂载目录:挂载文件系统

在这里插入图片描述
在这里插入图片描述

6.2 共享系统目录(不能直接修改安全上下文)

  1. vim /etc/samba/smb.conf:修改共享目录为系统目录
	[LEE]	#共享名称
	comment = westos dir	#共享说明
	path = /mnt	#共享路径
  1. setsebool -P samba_export_all_ro on:修改bool值(允许读共享)
  2. getsebool -a | grep samba:查询samba的bool值
  3. systemctl restart smb.service:重启服务

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

  • 在客户端访问共享文件:

smbclient //共享文件主机IP/共享名 -U samba用户名:列出指定IP提供的共享文件

在这里插入图片描述

  • 还原服务器端设置

在这里插入图片描述
在这里插入图片描述

7. samba常用配置参数

  1. 服务器端:
    • chmod 777 共享目录:修改共享目录权限
    • vim /etc/samba/smb.conf:添加或修改参数
    • systemctl restart smb.service:重启服务
  2. 客户端测试:
    • mount -o username=sdsnzy1,password=sdsnzy1 //192.168.43.101/LEE /mnt/

7.1 所有用户可写

writable = yes

  • 客户端挂载后建立文件失败!

在这里插入图片描述

  • 服务器端修改权限及配置文件,重启服务

在这里插入图片描述
在这里插入图片描述

  • 客户端测试:重新挂载,可写!

在这里插入图片描述

7.2 指定用户可写

write list = 用户

  • 服务器端修改配置文件,重启服务!

在这里插入图片描述

  • 客户端重新挂载测试:

在这里插入图片描述

7.3 指定组可写

write list = @用户+用户

  • 服务器端修改配置文件,重启服务!(添加sdsnzy1为sdsnzy2的附加组,实验完成后还原)

在这里插入图片描述
在这里插入图片描述

  • 客户端重新挂载测试:

在这里插入图片描述
在这里插入图片描述

7.4 指定访问用户

valid users = 用户

  • 服务器端修改配置文件,重启服务!

在这里插入图片描述

  • 客户端重新挂载测试:

在这里插入图片描述

7.5 指定访问组

valid users = @用户+用户

  • 服务器端修改配置文件,重启服务!(添加sdsnzy1为sdsnzy2的附加组,实验完成后还原)

在这里插入图片描述
在这里插入图片描述

  • 客户端重新挂载测试:

在这里插入图片描述

7.6 是否隐藏共享

browseable = no:不显示共享

browseable = yes:显示共享(默认)

  • 服务器端设置不显示共享时,重启服务,客户端测试:

在这里插入图片描述
在这里插入图片描述

  • 服务器端设置显示共享时,重启服务,客户端测试:

在这里插入图片描述
在这里插入图片描述

7.7 允许匿名用户访问

map to guest = bad user :全局设定(在[gloabl]里添加)
guest ok = yes:共享名称里设定

  • 服务器端修改配置文件,重启服务!

在这里插入图片描述
在这里插入图片描述

  • 客户端匿名挂载测试:

mount -o username=guest //192.168.43.101/LEE /mnt:匿名挂载

在这里插入图片描述

7.8 指定主机访问(白名单)

hosts allow = 192.168.43.111:只有该主机能访问(多个主机IP用空格隔开)

hosts allow = 192.168.43.:只有该网段下的主机能访问(例如192.168.43.38;192.168.43.183…等等)

7.9 指定主机访问(黑名单)

hosts deny = 192.168.43.111:只禁止该主机访问(多个主机IP用空格隔开)
hosts allow = 192.168.43.:禁止该网段下的主机访问

8. Samba+autofs 自动挂载卸载

autofs:在客户端实现自动挂载卸载的软件;

mount是用来挂载文件系统的,可以在系统启动的时候挂载也可以在系统启动后挂载。对于本地固定设备,如硬盘可以使用mount挂载;而光盘、软盘、NFS、SMB等文件系统具有动态性,即需要的时候才有必要挂载。光驱和软盘我们一般知道什么时候需要挂载,但NFS和SMB共享等就不一定知道了,即我们一般不能及时知道NFS共享和SMB什么时候可以挂载。而autofs服务就提供这种功能,好像windows中的光驱自动打开功能,能够及时挂载动态加载的文件系统。免去我们手动挂载的麻烦。要实现光驱,软盘等的动态自动挂载,需要进行相关的配置。

8.1 autofs客户端安装

dnf install autofs -y

在这里插入图片描述

8.2 客户端配置

  1. vim /etc/auto.master:编辑配置文件
/mnt    	/etc/auto.samba
最终挂载点的上层目录	自动定义子策略文件

在这里插入图片描述

  1. vim /etc/auto.samba:编辑自动定义子策略文件
samba   -fstype=cifs,username=用户,password=密码      ://服务器端主机IP/共享目录
最终挂载点	挂载参数			挂载资源

在这里插入图片描述

  1. vim /etc/autofs.conf:修改默认卸载时间
timeout = 3	#自动卸载时间默认为300秒
  1. systemctl restart autofs.service:重启服务

8.3 客户端测试

  1. cd /mnt/samba:进入挂载点目录
  2. df:发现已经自动挂载
  3. cd:退出挂载点目录,3s后(等待资源闲置超时,挂载资源自动卸载)
  4. df:3s后发现已经自动取消挂载

在这里插入图片描述
在这里插入图片描述

9. Samba多用户挂载(cifs)

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

通过认证的用户才可以挂载

9.1 客户端安装samba认证工具

dnf search cifs:查询

dnf install cifs-utils.x86_64 -y:安装

在这里插入图片描述

9.2 客户端配置

  1. vim /root/smbauth:创建并编辑挂载用户密码文件(防止每次挂载明文输入密码不安全)
username=sdsnzy1
password=sdsnzy1
  1. vim /etc/auto.master:编辑配置文件
/-      /etc/auto.cifs
最终挂载点的上层目录	自动定义子策略文件
  1. vim /etc/auto.cifs:编辑自动定义子策略文件
/samba	-fstype=cifs,credentials=/root/smbauth,sec=ntlmssp,multiuser	://192.168.43.101/LEE
credentials=/root/smbauth	#指定认证文件(第一步编辑好的密码文件)
sec=ntlmssp	#指定认证类型
multiuser	#支持多用户
  1. systemctl restart autofs.service:重启服务

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

9.3 客户端认证

  • cifscreds add -u Samba用户 服务器端主机IP:添加认证
  • cifscreds clearall:清除所有认证用户
  • cifscreds clear -u Samba用户:清除指定的已认证的用户
  • cifscreds update -u Samba用户:更新认证

实验:

  1. su - kiosk:切换到普通用户
  2. ls -l /mnt:无法查看
  3. cifscreds add -u sdsnzy1 192.168.43.101:添加认证
  4. 可查看,建立文件
  5. 切换到其他普通用户,没认证无法查看,很安全!!!

在这里插入图片描述
在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/weixin_46069582/article/details/110307182
今日推荐