samba服务

article/2025/11/9 9:00:42

目录

一:samba概述

1.1samba简介

1.2samba的监听端口

1.3samba的进程

1.4samba安全级别

二:samba服务的特点

三:samba的主要作用

四:常见文件服务器软件的对比

五:samba配置文件

5.1samba主配置文件

5.2常用配置文件参数

六:搭建samba服务

6.1安装samba服务

6.2启动服务、关闭防火墙

6.3创建用户

6.4pdbebitd的参数说明

6.5修改配置文件

6.6创建共享文件夹

6.7设置samba用户登录密码

七:客户端进行验证

八:总结

一:samba概述

1.1samba简介

Samba 是在 Linux 和 UNIX 系统上实现 SMB 协议的一个免费软件,由服务器及客户端程序构成。

NFS 与 samba 一样,也是在网络中实现文件共享的一种实现,但不幸的是,其不支持 windows 平台,samba 是能够在任何支持 SMB 协议的主机之间共享文件的一种实现,当然也包括 windows。

SMB 是一种在局域网上共享文件和打印机的一种通信协议,它为局域网内的不同计算机之间提供文件及打印机等资源的共享服务。

SMB 协议是 C/S 型协议,客户机通过该协议可以访问服务器上的共享文件系统、打印机及其他资源。

1.2samba的监听端口

TCPUDP
139 | 445137 | 138

tcp 端口相对应的服务是 smbd 服务,其作用是提供对服务器中文件、打印资源的共享访问

udp 端口相对应的服务是 nmbd 服务,其作用是提供基于 NetBIOS 主机名称的解析

1.3samba的进程

进程对应
nmbd对应 netbios
smbd对应 cifs 协议
winbindd + ldap对应 Windows AD 活动目录

1.4samba安全级别

samba服务器的安全级别有三个:user,server,domain

安全级别作用
user基于本地的验证
server由另一台指定的服务器对用户身份进行认证
domain由域控进行身份验证

以前的 samba 版本支持的安全级别有四个,分别是 share,user,server,domain

share 是用来设置匿名访问的,但现在的版本已经不支持 share 了,但是还是可以实现匿名访问的只是配置方式变了

二:samba服务的特点

smaba最大的特点就是可以用于linux和windows之间进行文件共享和打印机共享samba不仅仅可以用于linux和windows之间

samba还可以用于两台linux之间共享

由于linux平台诞生了一个更好的工具,nfs网络文件共享系统,专门用于linux之间文件数据共享●因此samba更多是使用linux和windows之间

三:samba的主要作用

(1)文件共享(最主要作用)

(2)打印服务器

(3)samba登陆时身份验证

(4)由于samba基于Netbios,所以可以进行 windows的主机名解析

四:常见文件服务器软件的对比

服务名称使用范围服务器端客户端局限性
FTP局域网和公网

Windows

Linux

Windows

Linux

无法直接在服务器端修改数据
samba内网

Windows

Linux

Windows

Linux

只能自内网使用
NFS内网和公网LinuxLinux只能在Linux之间使用

五:samba配置文件

5.1samba主配置文件

/etc/samba/smb.conf(主配置文件)

samba三大组成作用
[global]全局配置,此处的设置项对整个 samba 服务器都有效
[homes]宿主目录共享设置,此处用来设置 Linux 用户的默认共享,对应用户的宿主目录。 当用户访问服务器中与自己用户名同名的共享目录时,通过验证后将会自动映射到该用户的宿主目录中
[printers]打印机共享设置

5.2常用配置文件参数

参数作用
workgroup表示设置工作组名称
server string表示描述samba服务器
security表示设置安全级别,其值可为 share、user、server、domain
passdb backend表示设置共享帐户文件的类型,其值可为 tdbsam(tdb数据库文件)、ldapsam(LDAP目录认证)、smbpasswd(兼容旧版本 samba 密码文件)
comment表示设置对应共享目录的注释,说明信息,即文件共享名
browseable表示设置共享是否可见
writable表示设置目录是否可写
path表示共享目录的路径
guest ok表示设置是否所有人均可访问共享目录
public表示设置是否允许匿名用户访问
write list表示设置允许写的用户和组,组要用 @ 表示,例如 write list = root,@root
valid users设置可以访问的用户和组,例如 valid users = root,@root
hosts deny设置拒绝哪台主机访问,例如 hosts deny = 192.168.137.10
hosts allow设置允许哪台主机访问,例如 hosts allow = 192.168.137.15
printable表示设置是否为打印机

六:搭建samba服务

实验的目的:在linux虚拟机上(centos7环境)搭建一个samba服务并且在windows客户端访问

6.1安装samba服务

yum install -y samba      #安装samba服务yum list samba            #列出软件包的信息
yum remove samba          #卸载软件包
yum check-update samba    #检查是否有可更新的软件包
yum update samba          #更新samba软件包

6.2启动服务、关闭防火墙

systemctl start smb.service
systemctl enable smb.servicesystemctl stop firewalld
setenforce 0

6.3创建用户

groupadd jiuchang
useradd -M kenan -s /sbin/nologin/ -g jiuchang
useradd -M xiaolan -s /sbin/nologin/ -g jiuchangid kenan
id xiaolan

6.4pdbebitd的参数说明

  -a, --create                       新建samba用户-r, --modify                       修改samba用户-x, --delete                       删除samba用户-L, --list                         列出全部samba用户,读取passdb.tdb数据库文件-v, --verbose                      显示详细信息-c, --account-control=STRING       账户控制值-w, --smbpasswd-style              以smbpasswd格式输出-u, --user=USER                    使用的用户-N, --account-desc=STRING          设置账户描述-f, --fullname=STRING              设置全名-h, --homedir=STRING               设置家目录-D, --drive=STRING                 设置家设备-S, --script=STRING                设置登陆脚本-p, --profile=STRING               设置配置文件路径-I, --domain=STRING                设置用户域名-U, --user SID=STRING              设置用户SID或RID-M, --machine SID=STRING           设置设备SID或RID-m, --machine                      账户是一个设备账户-b, --backend=STRING               使用不同的passdb作为默认后端-i, --import=STRING                指定后段导入用户账户-e, --export=STRING                导出用户账户到指定后端--policies-reset                   恢复默认策略-P, --account-policy=STRING        帐户策略的值(如最大密码有效期)-C, --value=LONG                   设置账号策略值--force-initialized-passwords      强制初始化passdb后端-z, --bad-password-count-reset     重置错误密码-Z, --logon-hours-reset            重置登陆时间--time-format=STRING               时间参数的格式-t, --password-from-stdin          从标准输入获取密码-K, --kickoff-time=STRING          设置开始时间--set-nt-hash=STRING               从nt-hash设置密码-d, --debuglevel=DEBUGLEVEL        设置debug级别-s, --configfile=CONFIGFILE        使用备用配置文件-l, --log-basename=LOGFILEBASE     设置日志文件的基本名称-V, --version                      输出版本号--option=name=value                从命令行设置smb.conf选项-?, --help                         显示帮助信息--usage                            显示简要的使用信息

6.5修改配置文件

编辑配置文件,添加一个以jiuchang作为网络共享文件名的共享目录 

vim /etc/samba/sbm.conf[jiuchang]                 #共享文件名称(也就是客户端访问时可以看到的那个名字)		comment = this is jiuchang        #共享文件夹的描述path = /home/ceshi             #共享文件夹路径public = yes                    #是否允许guest账户访问writable =yes                #是否有写权限directory mask = 0777        #默认创建目录权限create mask = 0777             #默认创建文件权限 valid users = @jiuchang,root  #设置允许访问共享目录的用户@后跟组名,不写此行就对所有用户开放write list = @jiuchang,root        #设置有写权限的用户@后面跟的是组名browseable = yes                 #该指定共享目录可浏览available = yes                      #该指定共享资源可使用
vim /etc/samba/sbm.conf[jiuchang]		comment = this is jiuchangpath = /home/ceshipublic = yeswritable =yesdirectory mask = 0777create mask = 0777valid users = @jiuchang,rootwrite list = @jiuchang,rootbrowseable = yesavailable = yes

testparm可以用来检测配置文件中是否有语法错误

6.6创建共享文件夹

mkdir ceshi
cd ceshi/
echo "ming zhen tan ke nan" > 1.txt
mkdir yueguang
chmod -R 777 ceshi/

systemctl restart smb.service   #启动服务
systemctl reload smb.service    #加载配置文件

6.7设置samba用户登录密码

smbpasswd -a kenan        # 将本地用户跟samba用户进行映射
smbpasswd -a xiaolanpdbedit -a -u kenan
pdbedit -a -u xiaolanpdbedit -L            #查看加入samba服务的用户

七:客户端进行验证

 win+R \\192.168.137.15(安装samba服务的虚拟机)

在客户端上创建文件测试

 进行验证

八:总结

Samba是根据SMB协议实现的,主要用于Windows和Linux之间共享资源。139端口是在NBT协议基础上的,关闭NBT协议139就废了。而445端口是在TCP/IP协议基础上,现在网络中应该很少有不使用TCP/IP协议的了。最后如果主机两种协议同时支持的话(比如windowsxp以后的操作系统)那么共享访问时候的端口使用优先级为:445>139,所以现在UNC路径访问ip地址都是使用445端口,而访问主机名形式是使用139端口(现在基本不用了)。
关闭139端口的方法:“网络连接/属性/TCPIP协议/属性/高级/WINS中设置启用或者禁用NBT(NetBIOS over TCP/IP)
关闭445端口的方法:防火墙阻塞445端口或者禁用server服务都可以


http://chatgpt.dhexx.cn/article/UWkGj8F7.shtml

相关文章

Samba配置详解

一、简介 Samba是一个能让Linux系统应用Microsoft网络通讯协议的软件,而SMB是Server Message Block的缩写,即为服务器消息块 ,SMB主要是作为Microsoft的网络通讯协议,后来Samba将SMB通信协议应用到了Linux系统上,就形成…

Windows 10 下修改 smb 连接的默认端口(445)

服务器(samba 共享文件夹所在服务器)上已经frp外网映射445 端口转接4455 windows10 右键开始–powershell(管理员) netsh interface portproxy add v4tov4 listenport445 listenaddress127.0.0.1 connectport4455 connectaddress …

Samba配置与使用

1.安装Samba Centos7系统 yum -y install samba2. 查看安装情况(可选) rpm -qa |grep samba3.设置开机自启 systemctl enable smb.service systemctl enable nmb.service4.启动服务 //启动服务 systemctl start smb.service //查看启动服务的状态 systemctl status smb.se…

Linux——samba服务器配置

实验目的:实现Linux的主机与windows系列主机进行文件的传输 实验环境(保证两台主机能够相互访问): 1、Windows7:客户端 2、centos7: 服务端(文件共享) 实验案例: J…

samba服务2---安装与端口

具体说明 一、安装二、samba的守护进程三、启动samba服务 一、安装 安装简单,centos 8 :dnf -y install samba samba-client就可以了 主要安装的包是这些,我们一一来说。 samba # 主服务包 samba-common # 通用工具包 samba-common-libs # …

在windows系统中映射网络驱动器时,如何通过非455端口远程访问Linux服务器的Samba服务

声明 通常情况下,在windows中通过Linux服务器的Samba服务去映射网络驱动器时候,一般默认就是直接填入内网Linux服务器ip即可,它会默认445端口。若是我的windows并不和Linux服务器在一个网段时,该如何操作呢? 1 用管理…

Winows通过非445端口远程访问公网Samba

一、用管理员账号打开CMD,以下命令查询445端口占用情况 输入命令: netstat -ano | findstr 445可以看出是pid为4的进程进行监听,从任务管理器上看是名叫System,备注"NT Kernel&System"。 二、禁用该服务 本地 …

Samba服务的介绍,安装和使用

一、samba概述 Samba是在Linux和UNIX系统上实现SMB协议的一个免费软件,由服务器及客户端程序构成。SMB(Server Messages Block,信息服务块)是一种在局域网上共享文件和打印机的一种通信协议。SMB协议是客户机/服务器型协议&#…

samba更改其他端口,如何与windows共享文件夹

这个需求来自于腾讯云之类的运营商将445 139之类的端口封禁,samba不能使用455端口 网上的解决办法是几乎都是进行端口转发将445端口的进出都转发到其他端口 我自己想出了一种新的办法,就是有点慢,但是不需要去对到本地计算机的445端口进行…

Samba 服务详解

文章目录 一、Samba 概述1. samba 简介2. samba 监听端口3. samba 进程4. samba 用户5. samba 安全级别6. samba 配置文件7. 常用配置文件参数 二、搭建匿名用户共享服务器(Linux - Linux)1. 环境准备2. 服务端3. 客户端4. 服务端上验证 三、Windows 访问…

samba使用指定端口windows访问linux

samba使用指定端口 背景 公司因为感染病毒,所以直接把共享文件的端口给封了!!!然后造成写代码特别特别不方便,这几天用ftp想吐,跟公司相关人员理论了半天,居然还跟我说用git同步更好&#xff…

SMB服务搭建及各端非标端口连接配置

写在前面 目前有个pc(win10)同步文件到ipad的需求,代替使用微信带来的数据空间占用问题。 初始阶段的方案是pc端共享文件夹,ipad使用“文件”app接入,每到次日这个同步就会失效ipad无法连接到共享目录。起初以为是重启…

samba更改端口后用windows访问

前言 有时候我们需要在服务器上使用samba服务,然后在windows端访问共享目录。但是samba使用的是139和455端口,这两个端口由于勒索病毒之类的安全问题可能被运营商直接封了,所以没办法,只能使用更改端口,但是更改端口后…

samba 445端口被运营商禁用解决方法

问题: 云服务器部署samba服务无法访问 原因: 因为永恒之蓝的攻击,现在运营商将445端口拦截了。445端口是Samba使用的端口,通过修改Samba的端口映射实现Windows和Linux共享目录。所以在云服务器上配置samba服务不能直接使用! 解决…

自动驾驶——模型预测控制(MPC)理解与实践

当时在做路径跟踪、路径规划时,使用了MPC,通过项目的应用,对于MPC建立了一定的认识,但是一段时间过去后,认知又渐渐模糊了,当时学习过程中也是看了许多人的blog及代码才弄清楚,这里试图从理论到…

MATLAB模型预测控制(MPC)示例

MPC matlab demo 前言一、模型预测控制的理论(MPC)二、实例代码2.simulink模型 总结 前言 本文是基于matlab/simulink中的模型预测控制例子的学习记录 提示:以下是本篇文章正文内容 一、模型预测控制的理论(MPC) 模…

模型预测控制(Model predictive control,MPC)

模型预测控制( MPC ) 是一种先进的过程控制方法,用于在满足一组约束条件的同时控制过程。自 1980 年代以来,它一直在化工厂和炼油厂的加工工业中使用。近年来,它还被用于电力系统平衡模型[1]和电力电子学中。[2]模型预测控制器依赖于过程的动…

MPC(模型预测控制)_附matlab例程

写在前面:   本文为科研理论笔记的第二篇,其余笔记目录传送门: 理论笔记专栏目录 介绍结束下面开始进入正题: 1 基本概念 1.1 最优控制 ​   最优控制(optimal control):在约束条件下的最优表现,约束…

模型预测控制MPC

模型预测控制MPC 因本人刚开始写博客,学识经验有限,如有不正之处望读者指正,不胜感激;也望借此平台留下学习笔记以温故而知新。这一篇文章介绍的是控制理论中的模型预测控制算法。 模型预测控制简介 模型预测控制MPC是指&#x…

自动驾驶-MPC控制器

上节介绍了使用PID控制器控制车辆,PID控制器的优点是实现简单,处理速度快,但是缺点是不能处理有延迟的系统。本章介绍的MPC(modle predictive control)控制器能够很好的解决延迟的问题。 MPC控制器的和PID控制器一样&…