Linux之SMB/CIFS网络文件系统

本文详细介绍了SMB(Server Message Block)文件共享协议及其在Linux中的实现,包括Samba服务的组成部分、SMB用户管理、SMB共享目录及权限控制。文章还涵盖了如何在Linux上挂载SMB共享,包括临时和永久挂载的方法,并讨论了多用户挂载和匿名用户访问的设置。
摘要由CSDN通过智能技术生成

SMB 文件共享

  • 是windows和Unix系统之间共享文件的一种协议
  • 主要用于Windows 和 Linux下的文件共享、打印共享
  • 实现匿名与本地用户文件的共享
  • 支持多节点挂载

Samba 服务的组成部分

软件包:
Samba的支持文件:Samba-common
客户端应用程序:Samba-client
服务器应用程序:Samba
服务名称:smb nmb
服务进程:
1、smbd进程:控制发布共享目录与权限、负责文件传输;TCP 139 445端口
2、nmbd进程:用于名称解析 UDP 137 138
主配置文件:/etc/samba/smb.conf
实验:
准备环境:
1、重置两台虚拟机,作为实验的两台主机
2、配置两台主机的 ip、yum源、主机名
服务端:

[root@server ~]# yum install samba samba-client samba-common #下载smb相关软件
[root@server ~]# systemctl start smb  #开启samba服务
[root@server ~]# systemctl enable smb
[root@server ~]# systemctl stop firewalld   #关闭防火墙
[root@server ~]# systemctl disable firewalld

查看smb的端口:
这里写图片描述

SMB 用户

smbpasswd
如果您没有Samba密码服务器,则必须在本地计算机上创建身份验证数据。使用smbpasswd创建Samba账户和密码
注意:smb用户必须是本地存在的用户
服务端:

[root@server ~]# useradd haha
[root@server ~]# id student
uid=1000(student) gid=1000(student) groups=1000(student),10(wheel)
[root@server ~]# id haha
uid=1001(haha) gid=1001(haha) groups=1001(haha)
[root@server ~]# smbpasswd -a student  #添加用户student并设置密码,这里的用户必须是系统实际存在用户
New SMB password:
Retype new SMB password:
Added user student.
[root@server ~]# smbpasswd -a haha   
New SMB password: 
Retype new SMB password:
Added user haha.
[root@server ~]# pdbedit -L  #查看smb用户
student:1000:Student User
haha:1001:
[root@server ~]# pdbedit -x student   #删除smb用户student
[root@server ~]# pdbedit -L
haha:1001:
[root@server ~]# smbpasswd -a student
New SMB password:
Retype new SMB password:
Added user student.

客户端:

[root@client ~]# yum install samba-client -y
[root@client ~]# smbclient -L //172.25.254.196   #列出196主机的samba服务的文件系统,-L 列出
Enter root's password:    #因为服务器没有添加smb用户,这里直接出车(匿名用户访问),显示的没有具体文件
Anonymous login successful
Domain=[MYGROUP] OS=[Unix] Server=[Samba 4.1.1]

	Sharename       Type      Comment
	---------       ----      -------
	IPC$            IPC       IPC Service (Samba Server Version 4.1.1)
Anonymous login successful
Domain=[MYGROUP] OS=[Unix] Server=[Samba 4.1.1]

	Server               Comment
	---------            -------

	Workgroup            Master
	---------            -------
[root@client ~]# smbclient  //172.25.254.196/student -U student   #指定用户登录访问smb文件系统
Enter student's password: 
Domain=[MYGROUP] OS=[Unix] Server=[Samba 4.1.1]
smb: \> ls
NT_STATUS_ACCESS_DENIED listing \*
smb: \> quit
[root@client ~]# smbclient  //172.25.254.196/student -U student
Enter student's password: 
session setup failed: NT_STATUS_LOGON_FAILURE

保护 smb

布尔值允许本地Linux主目录作为CIFS文件共享导出至其他系统:
samba_enable_home_dirs
布尔值允许挂载远程CIFS文件共享并将其用作本地Linux主目录:
use_samba_ home_dirs
smb共目录的selinux安全上下文: samba_share_t
共享系统目录时要打开:
samba_export_all _ro 和 samba_export_all_rw

服务端:
查看布尔值允许本地目录作为 cifs 文件共享的相关主目录
这里写图片描述

[root@server ~]# setsebool -P samba_enable_home_dirs on   #打开访问samba的布尔值

客户端:

[root@client ~]# smbclient  //172.25.254.196/student -U student   #访问student的文件系统可以查看
Enter student's password: 
Domain=[MYGROUP] OS=[Unix] Server=[Samba 4.1.1]
smb: \> ls
  .                                   D        0  Thu Jul 10 19:06:52 2014
  ..                                  D        0  Tue Jun  5 07:51:50 2018
  .bash_logout                        H       18  Wed Jan 29 07:45:18 2014
  .bash_profile                       H      193  Wed Jan 29 07:45:18 2014
  .bashrc                             H      231  Wed Jan 29 07:45:18 2014
  .ssh                               DH        0  Thu Jul 10 18:19:10 2014
  .config                            DH        0  Thu Jul 10 19:06:53 2014

		40913 blocks of size 262144. 28554 blocks available
smb: \> quit

smb

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值