Samba 服务详解

article/2025/11/9 6:59:47

文章目录

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


一、Samba 概述

1. samba 简介

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

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

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

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

2. samba 监听端口

TCPUDP
139 | 445137 | 138
  • tcp 端口相对应的服务是 smbd 服务,其作用是提供对服务器中文件、打印资源的共享访问
  • udp 端口相对应的服务是 nmbd 服务,其作用是提供基于 NetBIOS 主机名称的解析

3. samba 进程

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

4. samba 用户

帐号密码
都是系统用户 /etc/passwdSamba 服务自有密码文件通过 smbpasswd -a USERNAME 命令设置
//smbpasswd 命令:-a Sys_User     //添加系统用户为 samba 用户并为其设置密码-d              //禁用用户帐号-e              //启用用户帐号-x              //删除用户帐号[root@localhost ~]# yum -y install samba-*
[root@localhost ~]# useradd tom
[root@localhost ~]# smbpasswd -a tom
New SMB password:
Retype new SMB password:
Added user tom.

5. samba 安全级别

Samba 服务器的安全级别有三个,分别是 user,server,domain

安全级别作用
user基于本地的验证
server由另一台指定的服务器对用户身份进行认证
domain由域控进行身份验证
  • 以前的 samba 版本支持的安全级别有四个,分别是 share,user,server,domain
  • share 是用来设置匿名访问的,但现在的版本已经不支持 share 了,但是还是可以实现匿名访问的只是配置方式变了

6. samba 配置文件

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

7. 常用配置文件参数

参数作用
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.10.100
hosts allow设置允许哪台主机访问,例如 hosts allow = 192.168.10.200
printable表示设置是否为打印机
#测试配置文件是否有语法错误,以及显示最终生效的配置。使用 testparm 命令
[root@localhost ~]# testparm
Load smb config files from /etc/samba/smb.conf
rlimit_max: increasing rlimit_max (1024) to minimum Windows limit (16384)
Processing section "[homes]"
Processing section "[printers]"
Processing section "[print$]"
Loaded services file OK.
Server role: ROLE_STANDALONE
......

二、搭建匿名用户共享服务器(Linux - Linux)

1. 环境准备

IP主机系统
192.168.10.20serverCentOS7
192.168.10.30clientCentOS7
systemctl stop firewalld && systemctl disable firewalld
setenforce 0
yum -y install ntp && ntpdate ntp.aliyun.com//server
hostnamectl set-hostname server
su
//client
hostnamectl set-hostname client
su

2. 服务端

yum -y install samba-* &> /dev/null
systemctl start smb && systemctl enable smb#添加全局配置
vim /etc/samba/smb.conf
......
[global]workgroup = SAMBAsecurity = usermap to guest = Bad User
......#创建共享文件夹
mkdir -p /opt/yc
chmod 777 /opt/yc/
ll /opt/#配置共享
cat >> /etc/samba/smb.conf << EOF
[yc]
comment = yc
path = /opt/yc
browseable = yes
guest ok = yes
writable = yes
public = yes
EOF#测试配置文件是否有误
testparm#重启服务
systemctl restart smb

3. 客户端

yum -y install samba-* &> /dev/null
systemctl start smb && systemctl enable smb#客户端验证
smbclient -L 192.168.10.20 -U 'Bad User'	#123456
mkdir -p /opt/smb
mount -t cifs //192.168.10.20/yc /opt/smb/ -o username='Bad User'
df -h#在客户端上创建共享目录,文件
cd /opt/smb/ && touch test && mkdir yanchuang
ls

4. 服务端上验证

[root@server ~]#cd /opt/yc
[root@server /opt/yc]#ls
test  yanchuang

三、Windows 访问共享文件

同网段 windows 虚拟机访问
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

不同网段 windows 虚拟机访问

  • 需要认证

在这里插入图片描述


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

相关文章

samba使用指定端口windows访问linux

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

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

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

samba更改端口后用windows访问

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

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

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

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

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

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

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

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

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

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

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

模型预测控制MPC

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

自动驾驶-MPC控制器

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

学习随笔#13 模型预测控制(MPC)

MPC基本概念 模型预测控制&#xff08;MPC&#xff09;是指通过模型来预测系统在某一未来时间段内的表现来进行优化控制。MPC多用于数位控制&#xff0c;因此使用系统的离散型状态空间表达形式&#xff0c;即 x k 1 A x k B u k x_{k1}Ax_kBu_k xk1​Axk​Buk​。MPC一般分为…

MPC控制器学习-NMPC

趁着刚讲明白马上记录一下&#xff0c;不然以后又忘了_(:з」∠)_是一位老师给的现成的mpc小项目&#xff0c;代码写的很仔细能够帮助理解mpc的原理。 场景是一个二维平面的小车(看成一个质点)&#xff0c;要运动到目标点&#xff0c;途中避开圆形范围的障碍物。 小车的矩形边框…

MPC简介

1.引言 在当今过程控制中&#xff0c;PID当然是用的最多的控制方法&#xff0c;但MPC也超过了10%的占有率。MPC是一个总称&#xff0c;有着各种各样的算法。其动态矩阵控制&#xff08;DMC&#xff09;是代表作。DMC采用的是系统的阶跃响应曲线&#xff0c;其突出的特点是解决…

MPC(模型预测控制)-Simulink仿真

文章目录 一、为什么使用MPC控制器?二、什么是MPC控制器?三、MPC控制器的参数如何设置?3.1 采样时间3.2 预测范围、控制范围3.3 约束条件3.4 权重 四、自适应增益调度和非线性MPC五、Simulink仿真MPC控制器5.1 数学分析5.2 实验过程 一、为什么使用MPC控制器? ① MPC可以处…

使用MPC设计控制器

这个例子展示了如何使用MPC设计器设计连续搅拌釜式反应器(CSTR)的模型预测控制器。 一、 CSTR 模型 下面的微分方程表示了涉及放热反应的连续搅拌釜式反应器(CSTR)的线性化模型: 其中 输入为 &#xff1a; CAi -料流中试剂A浓度(kgmol/m3) Tc -反应堆冷却剂温度(℃) 输出为&…

MPC(模型预测控制)控制小车沿轨迹移动——C++实现

任务说明 要求如下图所示&#xff0c;给定一条轨迹&#xff0c;要求控制小车沿这条轨迹移动&#xff0c;同时可以适用于系统带有延时的情况。注意&#xff0c;本篇文章只给出部分C代码参考。 主要流程 首先用运动学自行车模型&#xff08;Kinematic Bicycle Model&#xff09…

mpc模型预测控制原理详解

mpc模型预测控制原理详解 前言mpc算法步骤mpc算法推导 前言 本文是对mpc模型预测控制学习的记录&#xff0c;主要参照了DR_CAN老师的视频进行学习。视频专栏链接&#xff1a;DR_CAN老师mpc视频专栏。在这篇博客中博主也针对DR_CAN老师的讲解做了详尽的笔记和代码实现。读者可以…

模型预测控制(MPC)解析(一):模型

一、MPC简介 1.1 预测控制的日常应用 模型预测控制的设计目标是计算未来控制变量u的轨迹&#xff0c;以优化未来的系统输出y。优化过程在一个有限的时间窗口进行&#xff0c;并且利用优化时间窗口开始时的系统信息进行优化。为了理解预测控制的基本思想&#xff0c;以一个日常…

MPC控制

基于状态空间模型的控制 模型预测控制&#xff08;MPC&#xff09;简介 对基于状态空间模型的控制理解得很到位 在这里我重点讲解一下状态空间模型。那么什么是状态&#xff1f;输出是不是也是状态的一种&#xff1f;对的&#xff0c;输出也是一种状态&#…

MPC模型预测控制

这篇主要讲一下模型预测控制&#xff0c;如果对PID控制了解的同学&#xff0c;那效果更好。如果不了解PID控制&#xff0c;还是熟悉下比较好。 模型预测控制&#xff0c;顾名思义&#xff0c;基于模型&#xff0c;预测未来&#xff0c;进行控制。这个控制是基于模型的&#xf…