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

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

前言


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


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

1.安装samba

通过yum来安装samba

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



本地YUM源配置具体过程:

本地YUM配置

https://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 = yes
   writable = yes
 
systemctl start smb    如果你未启动就启动sam
 
systecmtl 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 提供以下功能:


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


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


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


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


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


如图所示

加入别名 sunshaolong ds

编辑配置文件加入

username map =/etc/samba/smbuser

记得重新加载或重启

测试访问

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


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

2.Windows访问过程

cmd 输入 服务器ip地址

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

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

相关文章
|
10月前
|
Ubuntu Linux Anolis
Linux系统禁用swap
本文介绍了在新版本Linux系统(如Ubuntu 20.04+、CentOS Stream、openEuler等)中禁用swap的两种方法。传统通过注释/etc/fstab中swap行的方式已失效,现需使用systemd管理swap.target服务或在/etc/fstab中添加noauto参数实现禁用。方法1通过屏蔽swap.target适用于新版系统,方法2通过修改fstab挂载选项更通用,兼容所有系统。
884 3
Linux系统禁用swap
|
10月前
|
Linux
Linux系统修改网卡名为eth0、eth1
在Linux系统中,可通过修改GRUB配置和创建Udev规则或使用systemd链接文件,将网卡名改为`eth0`、`eth1`等传统命名方式,适用于多种发行版并支持多网卡配置。
1464 3
|
Ubuntu Linux 网络安全
Linux系统初始化脚本
一款支持Rocky、CentOS、Ubuntu、Debian、openEuler等主流Linux发行版的系统初始化Shell脚本,涵盖网络配置、主机名设置、镜像源更换、安全加固等多项功能,适配单/双网卡环境,支持UEFI引导,提供多版本下载与持续更新。
952 3
Linux系统初始化脚本
|
11月前
|
运维 Linux 开发者
Linux系统中使用Python的ping3库进行网络连通性测试
以上步骤展示了如何利用 Python 的 `ping3` 库来检测网络连通性,并且提供了基本错误处理方法以确保程序能够优雅地处理各种意外情形。通过简洁明快、易读易懂、实操性强等特点使得该方法非常适合开发者或系统管理员快速集成至自动化工具链之内进行日常运维任务之需求满足。
679 18
|
10月前
|
存储 域名解析 弹性计算
阿里云上云流程参考:云服务器+域名+备案+域名解析绑定,全流程图文详解
对于初次通过阿里云完成上云的企业和个人用户来说,很多用户不仅是需要选购云服务器,同时还需要注册域名以及完成备案和域名的解析相关流程,从而实现网站的上线。本文将以上云操作流程为核心,结合阿里云的活动政策与用户系统梳理云服务器选购、域名注册、备案申请及域名绑定四大关键环节,以供用户完成线上业务部署做出参考。
|
10月前
|
安全 Linux Shell
Linux系统提权方式全面总结:从基础到高级攻防技术
本文全面总结Linux系统提权技术,涵盖权限体系、配置错误、漏洞利用、密码攻击等方法,帮助安全研究人员掌握攻防技术,提升系统防护能力。
1094 1
|
10月前
|
监控 安全 Linux
Linux系统提权之计划任务(Cron Jobs)提权
在Linux系统中,计划任务(Cron Jobs)常用于定时执行脚本或命令。若配置不当,攻击者可利用其提权至root权限。常见漏洞包括可写的Cron脚本、目录、通配符注入及PATH变量劫持。攻击者通过修改脚本、创建恶意任务或注入命令实现提权。系统管理员应遵循最小权限原则、使用绝对路径、避免通配符、设置安全PATH并定期审计,以防范此类攻击。
1380 1
|
11月前
|
缓存 监控 Linux
Linux系统清理缓存(buff/cache)的有效方法。
总结而言,在大多数情形下你不必担心Linux中buffer与cache占用过多内存在影响到其他程序运行;因为当程序请求更多内存在没有足够可用资源时,Linux会自行调整其占有量。只有当你明确知道当前环境与需求并希望立即回收这部分资源给即将运行重负载任务之前才考虑上述方法去主动干预。
2562 10
|
11月前
|
安全 Linux 数据安全/隐私保护
为Linux系统的普通账户授予sudo访问权限的过程
完成上述步骤后,你提升的用户就能够使用 `sudo`命令来执行管理员级别的操作,而无需切换到root用户。这是一种更加安全和便捷的权限管理方式,因为它能够留下完整的权限使用记录,并以最小权限的方式工作。需要注意的是,随意授予sudo权限可能会使系统暴露在风险之中,尤其是在用户不了解其所执行命令可能带来的后果的情况下。所以在配置sudo权限时,必须谨慎行事。
1804 0
|
11月前
|
Ubuntu Linux 开发者
国产 Linux 发行版再添新成员,CutefishOS 系统简单体验
当然,系统生态构建过程并不简单,不过为了帮助国产操作系统优化生态圈,部分企业也开始用国产操作系统替代 Windows,我们相信肯定会有越来越多的精品软件登录 Linux 平台。
849 0