linux centos系统搭建samba文件服务器 NetBIOS解析 (超详细)

CSDN 成就一亿技术人!

作者主页:点击!

Linux专栏:点击!

CSDN 成就一亿技术人!

前言————

Samba 是一个开源软件套件,可为 SMB/CIFS 客户端(包括 Windows)提供文件和打印服务。通过设置 Samba 文件服务器,您可以在网络上共享文件和资源,从而实现不同操作系统之间的无缝协作。

在CentOS上搭建Samba文件服务器的过程与通用的Linux设置基本相同。以下是在CentOS上搭建Samba文件服务器的基本步骤:

1.安装samba

通过yum来安装samba 

首先需要ping一下百度 如果ping不通的话 你可以搭建本地YUM仓库 然后在下载

本地YUM源配置具体过程:本地YUM配置icon-default.png?t=N7T8https://blog.csdn.net/jxjdhdnd/article/details/134947879?spm=1001.2014.3001.5501

[root@localhost ~] yum install -y samba

2.创建测试目录和文件

我在/下创建sunshao文件夹里边有1.txt文件 并且赋予权限

[root@localhost ~] mkdir /sunshao
[root@localhost ~] touch /sunshao/1.txt
[root@localhost ~] chmod 777 /sunshao/

3.编辑samba的配置文件

/etc/samba/smb.conf是它的配置文件

[root@localhost ~] vim /etc/samba/smb.conf末尾加入一下内容:
[share]path = /sunshao    public = yeswritable = yessystemctl start smb    如果你未启动就启动samsystecmtl reload smb  如果你已经开启就重新加载一起 或者重启
  • [share] :这是共享名。它将用于访问共享文件夹。

  • path = /sunshao :指定服务器上共享文件夹的路径。在本例中,共享文件夹位于根目录,名称为“sunshao”。

  • public = yes :此选项允许访问共享文件夹而无需用户名和密码。它将共享公开,这适用于您想要开放访问共享资源的情况。

  • writable = yes :此选项表示共享文件夹可写,这意味着用户可以在共享目录中创建、修改和删除文件。

4.创建访问用户

以下我创建两个用户 ssl sll2

[root@localhost ~] useradd ssl[root@localhost ~] useradd sll2

用于将用户名“ssl”的新用户添加到 Samba SAM 数据库。运行此命令时,系统可能会提示您为新用户“ssl”设置密码。提供密码后,用户帐户将被添加到 Samba 系统中。

[root@localhost ~] pdbedit -a -u ssl
new password:
retype new password:
Unix username:        ssl
NT username:          
Account Flags:        [U          ]
User SID:             S-1-5-21-1202113597-2330341868-64012592-1000
Primary Group SID:    S-1-5-21-1202113597-2330341868-64012592-513
Full Name:            
Home Directory:       \\localhost\ssl
HomeDir Drive:        
Logon Script:         
Profile Path:         \\localhost\ssl\profile
Domain:               LOCALHOST
Account desc:         
Workstations:         
Munged dial:          
Logon time:           0
Logoff time:          三, 06 2月 2036 23:06:39 CST
Kickoff time:         三, 06 2月 2036 23:06:39 CST
Password last set:    五, 08 3月 2024 09:48:20 CST
Password can change:  五, 08 3月 2024 09:48:20 CST
Password must change: never
Last bad password   : 0
Bad password count  : 0
Logon hours         : FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF[root@localhost ~] pdbedit -a -u sll2
new password:
retype new password:
Unix username:        sll2
NT username:          
Account Flags:        [U          ]
User SID:             S-1-5-21-1202113597-2330341868-64012592-1001
Primary Group SID:    S-1-5-21-1202113597-2330341868-64012592-513
Full Name:            
Home Directory:       \\localhost\sll2
HomeDir Drive:        
Logon Script:         
Profile Path:         \\localhost\sll2\profile
Domain:               LOCALHOST
Account desc:         
Workstations:         
Munged dial:          
Logon time:           0
Logoff time:          三, 06 2月 2036 23:06:39 CST
Kickoff time:         三, 06 2月 2036 23:06:39 CST
Password last set:    五, 08 3月 2024 09:48:25 CST
Password can change:  五, 08 3月 2024 09:48:25 CST
Password must change: never
Last bad password   : 0
Bad password count  : 0
Logon hours         : FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF

pdbedit -L 命令用于列出 Samba/Windows SAM(安全帐户管理器)数据库中的所有用户。当您运行此命令时,它将显示用户名列表以及有关每个用户的一些附加信息。输出可能包括用户全名、用户 ID (UID) 和组 ID (GID) 等详细信息。

查看是否加入成功

[root@localhost ~] pdbedit -L

5访问服务器

ping服务器

这边我用另外一台centos来访问服务器

首先ping一下服务器如果不通 就需要设置一下网络

关闭防火墙和selinux

systemctl stop firewalld
setenforce 0

访问samba

如果无法使用smbclient客户端 那么使用yum自行下载

[root@master1 ~] smbclient -U ssl //192.168.180.188/share

您正在使用 smbclient 命令连接到 IP 地址为 192.168.180.188 的主机上的 Samba 共享。 //192.168.180.188/share 参数指定 Samba 服务器的地址和您要连接的共享文件夹。

您还指定了 -U ssl 选项,这表明您希望使用用户帐户“ssl”进行连接。系统可能会提示您输入与“ssl”用户关联的密码。

保您的系统上存在目录 /sunshao ,并且已设置必要的权限以允许 Samba 读取和写入该目录

下载和上传

[ get ]

使用get命令来下载 Samba 共享的资源

[put]

使用put来上传资源

首先eixt退出 创建一个csdn.txt的文件夹

在重新登录

上传文件

6.自定义用户权限

如果此刻我想让sll2一个人用户上传下载的权限 只让ssl拥有读取下载功能呢

那么如下所示:

[share]
path = /sunshao
public = no
writable = no
valid users = ssl, sll2
write list = sll2配置完成之后记得重启或重新加载

  • [share] :Samba 共享的节标题。

  • path = /sunshao :指定服务器上共享文件夹的文件系统路径。

  • public = no :将其设置为“no”表示共享不公开,需要身份验证才能访问它。

  • writable = no :设置为“no”表示共享文件夹不可写。用户将能够从共享中读取文件,但无法创建、修改或删除文件。

  • valid users = ssl, sll2 :此选项限制指定用户的访问。仅允许用户“ssl”和“sll2”访问此共享。

  • write list = sll2 :“写入列表”选项指定允许在共享文件夹中写入(创建、修改、删除)文件的用户列表。在这种情况下,只有用户“sll2”具有写入权限。

用ssl登录

只可以访问和下载资源 但是不能 put上传csdn.txt文件

用sll2登录

只可以访问和下载资源 但是不能 put上传csdn.txt文件

7.拒绝IP访问

编辑samba配置文件 加入一下

记得重新加载或者重启

  hosts deny=192.168.180.180

此刻再用192.168.180.180这台centos来访问

显示拒绝访问

1.NetBIOS解析

        nmbd 是 Samba 套件中的一个组件,它主要负责处理 NetBIOS 名称服务(NetBIOS Name Service)。NetBIOS 是一种网络通信协议,最初由 IBM 开发,后来被 Microsoft 扩展和广泛采用。NetBIOS 主要用于在局域网上进行计算机之间的通信和服务发现。

具体而言,nmbd 提供以下功能:

  1. NetBIOS 名称解析: 当计算机需要与另一台计算机通信时,它通常使用对方的 NetBIOS 名称。nmbd 负责将这些 NetBIOS 名称解析为相应的 IP 地址,以便建立连接。

  2. NetBIOS 名称注册: 当一台计算机加入网络时,它需要注册一个唯一的 NetBIOS 名称,以便其他计算机能够找到它。nmbd 处理名称注册的过程。

  3. 服务发现: nmbd 提供 NetBIOS 名称服务,使得其他计算机能够发现网络上提供共享资源的计算机,例如文件共享和打印服务。这对于 Samba 服务器在混合网络环境中与 Windows 系统进行交互非常重要。

nmbd 通常与 smbd(SMB 守护进程)一起使用,smbd 负责提供文件和打印服务。这两个组件协同工作,使得 Samba 能够在混合操作系统环境中实现文件和打印共享。

就相当于解析名称 和解析域名原理大致相似 在早期提高安全性 现在这种方式早已过时 大家了解即可

如图所示

加入别名 sunshaolong ds

编辑配置文件加入

username map =/etc/samba/smbuser

记得重新加载或重启

测试访问

记得把拒绝访问注释掉 不然是无法访问的

这时我用别名访问也是可以的

2.Windows访问过程

cmd 输入 服务器ip地址

输入正确的用户名和密码即可登录 具体权限和linux上面一样

用户的权限具体分配是根据 samba的配置文件来规定

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/521458.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

unicloud 云数据库概念及创建一个云数据库表并添加记录(数据)

云数据库概念 uniCloud提供了一个 JSON 格式的文档型数据库。顾名思义,数据库中的每条记录都是一个 JSON 格式的文档。 它是 nosql 非关系型数据库,如果您之前熟悉 sql 关系型数据库,那么两者概念对应关系如下表: 关系型JSON 文…

Flask python开发篇: 写一个简单的接口

第一步:新建flask项目 参考使用pycharm新建一个项目 打开pycharm,根据下面图中箭头顺序,新建一个flask的项目; 第二步:运行项目, 安装成功以后,会有个app.py文件,打开以后&#…

Rethinking Data Augmentation for Image Super-resolution

文章目录 Rethinking Data Augmentation for Image Super-resolution:1.概述2.一些现有方法的分析3.cutblur4.MOA 各种策略的混合5.降噪6.cutblur 代码 Rethinking Data Augmentation for Image Super-resolution: A Comprehensive Analysis and a New Strategy 1.概述 根据…

springcloud容错机制改进

文章目录 Spring Cloud的容错机制改进常见方案示例 Spring Cloud的容错机制改进常见方案 Spring Cloud的容错机制改进常见方案主要包括以下几个方面: 替换或升级熔断器组件: 从Hystrix迁移到其他高性能的熔断器:由于Hystrix已停止维护&#…

案例研究|辛格林电梯借助DataEase实现数据整合与智能展示

辛格林电梯(SIGLEN)于2012年创立,是电梯领域的领军品牌之一。该公司总部位于广东佛山,是全国首批获得A1级电梯制造资质的企业,拥有省级工程技术研究中心。辛格林电梯专注于研发和生产高品质电梯产品,涵盖别…

手持气象站的优势

【TH-SQ5】手持气象站作为一种便携式的气象监测设备,具有许多显著的优势,主要体现在以下几个方面: 便携性:手持气象站设计精巧,重量轻,易于携带,这使得用户能够轻松地在不同地点进行气象观测&a…

视觉和GPT再碰火花!CVPR`24 | RegionGPT:面向复杂区域理解的VLM(港大英伟达)

文章链接:https://arxiv.org/pdf/2403.02330 视觉语言模型(VLMs)通过将大语言模型(LLMs)与图像文本对集成,经历了快速的发展,但由于视觉编码器的空间意识有限以及使用缺乏详细的区域特定字幕的…

2.1 决策就是为了幸福

传统经济学中,决策是围绕着均衡展开的。 四个均衡 供求均衡 消费者均衡 生产者均衡 厂商均衡 解决的是如何确定产量,能够使厂商利润最大的问题 MR MC 边际收益等于边际成本,此时利润最大;使得边际收益等于边际成本的产量也就成…

Python实现时间序列分析Theta模型(ThetaModel算法)项目实战

说明:这是一个机器学习实战项目(附带数据代码文档视频讲解),如需数据代码文档视频讲解可以直接到文章最后获取。 1.项目背景 时间序列分析中的Theta模型(Theta Model)是由Athanasios Theodoridis在2008年提出的一种统计预测方法&…

K8S之实现业务的金丝雀发布

如何实现金丝雀发布 金丝雀发布简介优缺点在k8s中实现金丝雀发布 金丝雀发布简介 金丝雀发布的由来:17 世纪,英国矿井工人发现,金丝雀对瓦斯这种气体十分敏感。空气中哪怕有极其微量的瓦斯,金丝雀也会停止歌唱;当瓦斯…

【Java】线程池

在编程中经常会使用线程来异步处理任务,但是每个线程的创建和销毁都需要一定的开销。如果每次执行一个任务都需要开一个新线程去执行,则这些线程的创建和销毁将消耗大量的资源;并且线程都是“各自为政”的,很难对其进行控制&#…

或运算的理解

||或运算的含义:至少有一个成立; 根据德.摩根定律, 非(P 且 Q) (非 P) 或 (非 Q) 非(P 或 Q) (非 P) 且 (非 Q) 与运算取非等价于 各自取非,然后再或 例如: !(A&&B) !A||!B 或运算: 否一推一…