Linux服务管理--SAMBA服务

2023-10-28

Linux网络服务-SAMBA

1. Samba 概述

SMB(Server Messages Block,信息服务块)是一种在局域网上共享文件和打印机的一种通信协议,它为局域网内的不同操作系统的计算机之间提供文件及打印机等资源的共享服务。SMB 协议是客户机/服务器型协议,客户机通过该协议可以访问服务器上的共享文件系统、打印机及其他资源。如图:

为什么要讲 SAMBA

ftp 的优缺点:

优点:文件传输、应用层协议、可跨平台

缺点:只能实现文件传输,无法实现文件系统挂载;无法直接修改服务器端文件

Samba 的特性:

使用 smb/cifs 协议、可跨平台、可实现文件系统挂载、可实现服务器端修改文件

 注意:

ftp和Samba用的用户都是来自passwd(/etc/passwd),ftp用的密码是shadow(/etc/shadow),Samba用的密码是passdb.tdb(/var/lib/samba/private/passdb.tdb)。

smb 协议和 cifs 之间的关系

随着 Internet 的流行,Microsoft 希望将这个协议扩展到 Internet 上去,成为 Internet 上计算机之间相互共享数据的一种标准。因此它将原有的几乎没有多少技术文档的 SMB协议进行整理,重新命名为 CIFS(Common Internet FileSystem),它使程序可以访问远程 Internet 计算机上的文件并要求此计算机提供服务。客户程序请求远在服务器上的服务器程序为它提供服务。服务器获得请求并返回响应。CIFS 是公共的或开放的 SMB 协议版本,并由 Microsoft 使用。

SMB 协议在局域网上用于服务器文件访问和打印的协议。

 

2. Samba 服务详解

Samba 软件相关信息

1. 协议:SMB/CIFS

2. 服务:

smb 实现资源共享、权限验证   TCP 139 445

3. 配置文件(/etc/samba/)

smb.conf  主配置文件

smbusers  别名配置文件

登录验证模式(安全级别)

◆ share 匿名验证

◆ user 本地用户验证(Samba服务器默认的安全级别,用户在访问共享资源之前必须提供用户名和密码进行验证)

拓展:tdbsam:该方式是使用一个数据库文件来验证。数据库文件叫passdb.tdb。可以通过pdbedit -a 向数据库中添加新用户,不过要建立的Samba用户必须先是系统用户。也可以理解为我们使用pdbedit -a 将系统用户转化为了samba用户。pdbedit命令的参数很多,列出几个主要的。

pdbedit -a username:新建Samba账户(将系统用户转化为samba用户,并设置密码)

pdbedit -x usern

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Linux服务管理--SAMBA服务 的相关文章

  • Linux:通过网络进行屏幕桌面视频捕获和 VNC 帧速率

    抱歉 文字墙很长 TL DR VNC 连接的帧速率是多少 以帧 秒为单位 或者更确切地说 由谁决定 客户端还是服务器 对于桌面屏幕捕获的任何其他建议 但 正确的时间编码 具有不抖动的帧速率 具有稳定的周期 并有可能将其作为未压缩 或无损 图
  • 在 C 中使用 sqrtf():“未定义对‘sqrtf’的引用”

    我正在使用Linux Ubuntu 12 04 https en wikipedia org wiki Ubuntu version history Ubuntu 12 04 LTS 28Precise Pangolin 29 Precis
  • 当存在点和下划线时,使用 sed 搜索并替换

    我该如何更换foo with foo sed 只需运行 sed s foo foo g file php 不起作用 逃离 sed s foo foo g file php Example cat test txt foo bar sed s
  • 如何从脚本向 sudo 提供密码?

    请注意 这是在我的本地计算机上运行的来宾虚拟机 VBox 我不担心安全性 我正在编写一个将在 Linux Ubuntu VM 上执行的脚本myuser用户 该脚本将在下面创建一个非常大的目录树 etc myapp 目前我必须手动完成所有这些
  • 操作系统崩溃的常见原因[关闭]

    Closed 这个问题需要多问focused help closed questions 目前不接受答案 我有兴趣了解 操作系统崩溃 不限于Windows崩溃 最常见的技术原因 从操作系统编程的角度 有哪些 我正在寻找一个不像 打开太多应用
  • Linux下的C#,Process.Start()异常“没有这样的文件或目录”

    我在使用 Process 类调用程序来启动程序时遇到问题 可执行文件的层次结构位于 bin 目录下 而当前工作目录需要位于 lib 目录下 project bin a out this is what I need to call lib
  • 在键盘热插拔上加载模块

    我正在尝试学习如何为 Linux 系统编写模块和驱动程序 类似于this https unix stackexchange com questions 120839 usb kernel module does not load on de
  • 如何删除树莓派的相机预览

    我在我的 raspberryPi 上安装了 SimpleCv 并安装了用于使用相机板的驱动程序 uv4l 驱动程序 现在我想使用它 当我在 simpleCV shell Camera 0 getImage save foo jpg 上键入时
  • 为什么使用Python的os模块方法而不是直接执行shell命令?

    我试图了解使用Python的库函数执行特定于操作系统的任务 例如创建文件 目录 更改文件属性等 背后的动机是什么 而不是仅仅通过执行这些命令os system or subprocess call 例如 我为什么要使用os chmod而不是
  • 对 sf:: 的未定义引用

    我想用 C 制作 GUI 应用程序 发现 SFML 是一个不错的选择 幸运的是 我使用的是 Linux 所以 SFML 2 4 已经安装在我的系统上 所以我开始搜索一些教程并找到了一个制作简单窗口的教程 但是当我运行代码时 出现错误 提示未
  • 变量作为 bash 数组索引?

    bin bash set x array counter 0 array value 1 array 0 0 0 for number in array do array array counter array value array co
  • 如何阅读shell命令的源代码?

    我想阅读编写linux命令的实际源代码 我已经获得了一些使用它们的经验 现在我认为是时候与我的机器进行更深层次的交互了 我在这里找到了一些命令http directory fsf org wiki GNU http directory fs
  • Xenomai 中的周期性线程实时失败

    我正在创建一个周期性线程 它在模拟输出上输出方波信号 我正在使用 Xenomai API 中的 Posix Skin 和 Analogy 我使用示波器测试了代码的实时性能 并查看了方波信号 频率为 1kHz 的延迟 我应该实现 250us
  • 如何仅将整个嵌套目录中的头文件复制到另一个目录,在复制到新文件夹后保持相同的层次结构

    我有一个目录 其中有很多头文件 h 和其他 o 和 c 文件以及其他文件 这个目录里面有很多嵌套的目录 我只想将头文件复制到一个单独的目录 并在新目录中保留相同的结构 cp rf oldDirectory newDirectory将复制所有
  • sqlite 插入需要很长时间

    我正在将不到 200 000 行插入到 sqlite 数据库表中 我只是在终端中通过 sqlite3 使用一个非常简单的 sql 文件 我打赌它已经运行了至少 30 分钟 这是正常现象还是我应该关闭该过程并尝试不同的方法 sqlite中的插
  • Windows 与 Linux 文本文件读取

    问题是 我最近从 Windows 切换到 Ubuntu 我的一些用于分析数据文件的 python 脚本给了我错误 我不确定如何正确解决 我当前仪器的数据文件输出如下 Header 有关仪器等的各种信息 Data 状态 代码 温度 字段等 0
  • linux下如何获取昨天和前天?

    我想在变量中获取 sysdate 1 和 sysdate 2 并回显它 我正在使用下面的查询 它将今天的日期作为输出 bin bash tm date Y d m echo tm 如何获取昨天和前天的日期 这是另一种方法 对于昨天来说 da
  • Gradle 1.3:build.gradle 不构建类

    这里有一个新问题 我有一个 build gradle 文件apply plugin java在其中 并与 java 项目 包关联 当我跑步时gradle build从命令行我得到 compileJava UP TO DATE process
  • Linux命令列出所有可用命令和别名

    是否有一个 Linux 命令可以列出该终端会话的所有可用命令和别名 就好像您输入 a 并按下 Tab 键一样 但针对的是字母表中的每个字母 或者运行 别名 但也返回命令 为什么 我想运行以下命令并查看命令是否可用 ListAllComman
  • 进程名称长度的最大允许限制是多少?

    进程名称允许的最大长度是多少 我正在读取进程名称 proc pid stat文件 我想知道我需要的最大缓冲区 我很确定有一个可配置的限制 但就是找不到它在哪里 根据man 2 prctl http man7 org linux man pa

随机推荐

  • 数值分析——LU分解(LU Factorization)

    本系列整理自博主21年秋季学期本科课程 数值分析I 的编程作业 内容相对基础 参考书 David Kincaid Ward Cheney Numerical Analysis Mathematics of Scientific Comput
  • Python 多线程 start()和run()方法的区别(三)

    在实例调用的函数中加入打印当前线程的名字 分别用start 方法和run 方法启动线程检查有什么区别 start 方法 import threading import time def worker count 1 while True i
  • Linux epoll 与 Windows IOCP比较

    前言 epoll 和 IOCP IO Completion Ports 分别是 Linux 和 Windows 系统上的高效网络模型 相比其他网络模型 同样是 polling 方式 这两种模型有如下特点 在系统资源允许下 监控的文件描述符没
  • pandas中to_datetime()时间处理

    pandas to datetime arg errors raise utc None format None unit None pandas通常用于处理成组日期 不管这些日期是DataFrame的轴索引还是列 to datetime方
  • 入职字节外包一个月,我离职了····

    有一种打工人的羡慕 叫做 大厂 真是年少不知大厂香 错把青春插稻秧 但是 在深圳有一群比大厂员工更庞大的群体 他们顶着大厂的 名 做着大厂的工作 还可以享受大厂的伙食 却没有大厂的 命 他们就是大厂的 外包员工 什么都做了 和什么都没做其实
  • idea注释快捷键

    具体实现步骤 1 打开系统设置Setting Ctrl Alt S快捷键 2 Editor gt Live Templates gt 点击 号 添加一个templates group来放置自己快捷键 效果图如下 3 选中创建的group g
  • 在Excel VBA中使用字典

    序言 VBA的基础数据类型里面并没有字典类型 但字典其实在很多应用场景中都很有用 那么如何在VBA中使用字典 本文就用几个例子和大家交流探讨一下 场景1 某个医院每天都会从不同的制造商那里进三种材料中的一种 每天的进价都有可能不同 现在公司
  • NodeRed-第三篇:tcp接入

    1 用tcp in节点接入数据 设置为监听 设置端口号 设置输出为buffer 2 用function节点将buffer转换为string var a msg payload msg payload a return msg 3 用json
  • Android语音识别

    今天从网上找了个例子实现了语音识别 个人感觉挺好玩的 就把代码贴出来与大家分享下 Android中主要通过RecognizerIntent来实现语音识别 其实代码比较简单 但是如果找不到设置 就会抛出异常ActivityNotFoundEx
  • 【Java 笔记】使用Fastjson2时,对象转json首字母大小写问题

    开发环境 一 JSON 转 Object 1 问题 2 解决方案 二 Object转 JSON 三 SpringBoot设置fastjson2 为默认 pom xml 2 配置类 四 FastJson2 注解 默认 2 JSONType 类
  • zabbix 快速入门

    zabbix 快速入门 zabbix介绍 Zabbix是由 Alexei Vladishev 开发的一种网络监视 管理系统 基于Server Client架构 可以使用多种方式监视 可以只使用 Simple Check 不需要安装 Clie
  • CTF-12.web安全SSI注入

    SSl注入攻击介绍 SSl server side inject 的出现是为了赋予html静态页面动态的效果 通过ssI来执行系统命令 并返回对应的结果 如果在网站目录中发现了 stm shtm shtml 并且网站对于SSI的输入没有做到
  • 【ROS学习】Solidworks模型转化为URDF文件格式+三连杆机械臂示例+逆运动学

    URDF Universal Robot Description Format 通用机器人描述格式 它是ROS里边使用的一种机器人的描述文件 包含的内容有 连杆 关节 运动学和动力学参数 可视化模型 碰撞检测模型等 到目前为止 本文的主要内
  • 【AJAX】请求原理 同步和异步

    一 AJAX概念 本质 使用JS提供的异步对象 在页面不刷新的情况下 发送http请求 得到http响应 实现页面的局部刷新 涉及到的技术HTML JS HTTP HTTPS 接口 XML JSON 二 完整的WEB请求原理 比如 我们在网
  • 使用Linux screen命令使程序应用后台运行(以mirai框架为例)

    使用Linux screen命令使程序应用后台运行 以mirai框架为例 1 screen命令 screen命令可让程序在后台运行 会单独打开一个新的窗口 命令1 此命令会直接创建一个screen窗口 但是screen名称不容易区分 如果只
  • LeetCode【125】验证回文串

    题目 给定一个字符串 验证它是否是回文串 只考虑字母和数字字符 可以忽略字母的大小写 说明 本题中 我们将空字符串定义为有效的回文串 示例 1 输入 A man a plan a canal Panama 输出 true 示例 2 输入 r
  • 【STM32】I2C练习,HAL库读取MPU6050角度陀螺仪

    I2C练习 MPU6050简介 寄存器查询表格 STM32CubeMx配置 代码文件 mpu6050 h文件 mpu6050 c文件 main c文件 总结 MPU6050简介 MPU 6000 6050 为全球首例整合性6轴运动处理组件
  • java scope_Spring scope属性详解

    scope用来声明IOC容器中的对象应该处的限定场景或者说该对象的存活空间 即在IOC容器在 对象进入相应的scope之前 生成并装配这些对象 在该对象不再处于这些scope的限定之后 容器通常会销毁这些对象 打个比方吧 我们都是处在社会
  • Qt 信号与信号,信号与槽

    在写程序的时候 一直用到Qt的信号与槽机制 1 我们可以一个信号连接多个槽例如 connect slider SIGNAL valueChanged int this SLOT upDateValue int connect slider
  • Linux服务管理--SAMBA服务

    Linux网络服务 SAMBA 1 Samba 概述 SMB Server Messages Block 信息服务块 是一种在局域网上共享文件和打印机的一种通信协议 它为局域网内的不同操作系统的计算机之间提供文件及打印机等资源的共享服务 S