samba服务

news2024/11/23 8:53:45

samba服务

  • 1. samba诞生背景
  • 2. samba简介
  • 3. samba配置文件详解
    • 3.1 配置文件中参数的作用
      • 3.1.1 security参数的四种验证方式
      • 3.1.2 passdb backend定义用户后台的类型
  • 4. samba服务部署与配置
    • windos共享
    • linux挂载共享

1. samba诞生背景

1987 年,微软公司和英特尔公司共同制定了 SMB(Server Messages Block,服务器消息块)协议,旨在解决局域网内的文件或打印机等资源的共享问题,这也使得在多个主机之间共享文件变得越来越简单。
到了 1991 年,当时还在读大学的 Tridgwell 为了解决 Linux 系统
与 Windows 系统之间的文件共享问题,基于 SMB 协议开发出了 SMBServer 服务程序。
这是一款开源的文件共享软件,经过简单配置就能够实现 Linux 系统与 Windows 系统之间的文件共享工作。当时,Tridgwell 想把这款软件的名字 SMBServer 注册成为商标,但却被商标局以“SMB 是没有意义的字符”为由而拒绝了申请。后来 Tridgwell 不断翻看词典,突然看到一个拉丁舞蹈的名字—Samba,而且这个热情洋溢的舞蹈名字中又恰好包含了“SMB”,于是Samba 服务程序的名字由此诞生Samba 服务程序现在已经成为在 Linux 系统与Windows 系统之间共享文件的最佳选择。

2. samba简介

Samba是在Linux和UNIX系统上实现SMB协议的一个免费软件,由服务器及客户端程序构成。SMB(Server Messages Block,信息服务块)是一种在局域网上共享文件和打印机的一种通信协议,它为局域网内的不同计算机之间提供文件及打印机等资源的共享服务。SMB协议是客户机/服务器型协议,客户机通过该协议可以访问服务器上的共享文件系统、打印机及其他资源。

3. samba配置文件详解

配置文件:/etc/samba/smb.conf
// 下面均为注释信息
# See smb.conf.example for a more detailed config file or
# read the smb.conf manpage.
# Run 'testparm' to verify the config is correct after
# you modified it.

// 表示共享每位登录用户的家目录内容
[homes]
        comment = Home Directories
        valid users = %S, %D%w%S
        browseable = No
        read only = No
        inherit acls = Yes

//  用SMB协议共享本地的打印机设备,方便局域网内用户远程使用打印机设备
[printers]
        comment = All Printers
        path = /var/tmp
        printable = Yes
        create mask = 0600
        browseable = No

//  共享打印机设备的参数
[print$]
        comment = Printer Drivers
        path = /var/lib/samba/drivers
        write list = @printadmin root
        force group = @printadmin
        create mask = 0664
        directory mask = 0775

// UNIX系统的用于打印机或打印服务器
printing = cups
printcap name = cups
load printers = yes
cups options = raw
参数作用
global全局参数,影响samba服务
homes设置与其他用户共享目录的地方,当用户访问服务器时与自己有同名的共享目录时,会将其映射过去
printers配置打印机的部分

3.1 配置文件中参数的作用

参数作用
[global]全局参数
workgroup = SAMBA工作组名称
security = user安全验证的方式,有四种
passdb backend = tdbsam定义用户后台类型,共三种
printing = cups打印服务协议
printcap name = cups打印服务名称
load printers = yes是否加载打印机
cups options = raw打印机的选项
[homes]共享名称
comment = Home Directories描述信息
valid users = %S, %D%w%S可用账户
browseable = No指定共享信息是否在“网上邻居”中可见
read only = No是否只读
inherit acls = Yes是否继承访问控制列表
[printers]共享名称
comment = All Printers描述信息
path = /var/tmp共享路径
printable = Yes是否可打印
create mask = 0600文件权限
browseable = No指定共享信息是否在“网上邻居”中可见
[print$]共享名称
comment = Printer Drivers描述信息
path = /var/lib/samba/drivers共享路径
write list = @printadmin root可写入文件的用户列表
force group = @printadmin用户组列表
create mask = 0664文件权限
directory mask = 0775目录权限

3.1.1 security参数的四种验证方式

参数 | 作用
share | 代表主机无须验证密码
user | 代表登录samba服务时需要使用账号密码进行验证,正确后才能获取文件,默认方式
domain | 代表通过域控制器进行身份验证,用来限制用户的来源域。
server | 代表使用独立主机验证来访用户提供的密码。

3.1.2 passdb backend定义用户后台的类型

passdb backend有三种类型:

  1. 在最早期的 RHEL/CentOS 系统中,Samba 服务使用的是 PAM(可插拔认证模块)来调用本地账号和密码信息

  2. 后来在 5、6 版本中替换成了用 smbpasswd 命令来设置独立的 Samba服务账号和密码。

  3. 到了 RHEL 7/8 版本,则又进行了一次改革,将传统的验证方式换成使用tdbsam 数据库进行验证。这是一个专门用于保存 Samba 服务账号密码的数据库,用户需要用pdbedit 命令进行独立的添加操作。

4. samba服务部署与配置

// 安装samba

[root@samba ~]# yum -y install samba samba-client

pdbedit命令用来管理samba服务,因为在第一次将账号写入数据库时需要使用-a参数,以后在执行修改密码、删除账户等操作时就不需要此参数了

pdbedit命令参数和作用

参数作用
-a 用户名建立samba用户
-x 用户名删除samba用户
-L列出用户列表
-Lv列出用户详细信息的列表
// 先创建一个用户,用于添加到samba数据库中
[root@samba ~]# useradd samba
[root@samba ~]# pdbedit -a -u samba
new password:  //为samba用户设置一个samba数据库中的密码,后面会用到
retype new password:
Unix username:        samba
NT username:          
Account Flags:        [U          ]
User SID:             S-1-5-21-3436471043-1171090348-3227004907-1000
Primary Group SID:    S-1-5-21-3436471043-1171090348-3227004907-513
Full Name:            
Home Directory:       \\samba\samba
HomeDir Drive:        
Logon Script:         
Profile Path:         \\samba\samba\profile
Domain:               SAMBA
Account desc:         
Workstations:         
Munged dial:          
Logon time:           0
Logoff time:          Wed, 06 Feb 2036 23:06:39 CST
Kickoff time:         Wed, 06 Feb 2036 23:06:39 CST
Password last set:    Wed, 12 Jul 2023 11:00:21 CST
Password can change:  Wed, 12 Jul 2023 11:00:21 CST
Password must change: never
Last bad password   : 0
Bad password count  : 0
Logon hours         : FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
// 创建一个共享资源目录
[root@samba ~]# mkdir -p /opt/data/
[root@samba ~]# chown -R samba.samba /opt/data

// 修改配置文件

//  删除配置文件中用不到的部分,留下一下内容
[global]
        workgroup = SAMBA
        security = user
        passdb backend = tdbsam
[data]  //共享名称为data,这里随意
        comment = zhe shi miao shu xin xi  //描述信息可写可不写
        path = /opt/data  //共享目录
        public = no  //关闭所有人可见
        writable = yes  //允许写操作

// 重启samba服务

[root@samba ~]# systemctl enable --now smb 
[root@samba ~]# systemctl restart smb

// 查看是否共享了目录

[root@samba ~]# smbclient -U samba -L 192.168.182.130  //本机IP地址
Enter SAMBA\samba's password:   //输出刚才设置的数据库密码

	Sharename       Type      Comment
	---------       ----      -------
	data            Disk      zhe shi miao shu xin xi  //这里可以看到共享了data目录
	IPC$            IPC       IPC Service (Samba 4.10.16)
Reconnecting with SMB1 for workgroup listing.

	Server               Comment
	---------            -------

	Workgroup            Master
	---------            -------

windos共享

// 输入本机IP地址

// 输入刚才创建的samba用户和密码

// 进来之后看到data目录为空

// 在data创建一个文件,完成之后咱们到linux上去看

linux挂载共享

环境说明:

主机名称IP地址
samba192.168.182.130
localhost192.168.182.131

// 配置客户端

[root@localhost ~]# hostname
localhost.localdomain
[root@localhost ~]# yum -y install cifs-utils

// 安装完成后在客户端挂载一个samba服务共享资源目录

[root@localhost ~]# mkdir data-client  // 创建共享目录
[root@localhost ~]# mount -t cifs -o username=samba,password=linux //192.168.182.130/data /data-client  // -t是指定协议类型,-o指定用户名和密码IP后面的共享名称是samba配置文件里面的[data],不是服务器本地挂载目录的名字
[root@localhost ~]# df -h
Filesystem               Size  Used Avail Use% Mounted on
devtmpfs                 898M     0  898M   0% /dev
tmpfs                    910M     0  910M   0% /dev/shm
tmpfs                    910M  9.6M  901M   2% /run
tmpfs                    910M     0  910M   0% /sys/fs/cgroup
/dev/mapper/centos-root   50G  1.9G   49G   4% /
/dev/sda1               1014M  151M  864M  15% /boot
/dev/mapper/centos-home   47G   33M   47G   1% /home
tmpfs                    182M     0  182M   0% /run/user/0
//192.168.182.130/data    50G  2.4G   48G   5% /root/data-client   //挂载成功

若系统重启有需要重新挂载,这样就很麻烦,我们这里写一个samba认证文件,到时候不需要我们再敲命令挂载

[root@localhost ~]# vim auth.smb
username=samba
password=linux
domain=SAMBA

[root@localhost ~]# tail -1 /etc/fstab //在此文件中添加下面的内容
//192.168.182.130/data  /root/data-client       cifs    credentials=/root/auth.smb
[root@localhost ~]# mount -a  //执行此命令后即可生效

[root@localhost data-client]# pwd
/root/data-client
[root@localhost data-client]# cat test.txt  //可以看到samba服务器上text文件共享成功
this is a windows system
[root@localhost data-client]#

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

fastapi初使用,构建自己的api

文章目录 1、安装2、api实现2.1、 app.get("/1")2.2、app.get("/{a}")2.3、app.get("/{a}{b}")2.4、函数和api分离 3、运行 原文链接:https://wangguo.site/posts/d98bb3c9.html fastapi 是一个基于 Python 的 API 构建框架&#xff…

C国演义 [第八章]

第八章 买卖股票的最佳时机题目理解步骤dp含义递推公式初始化遍历方向 代码 买卖股票的最佳时机II题目理解步骤dp含义递推公式初始化遍历方向 代码 买卖股票的最佳时机 力扣链接 给定一个数组 prices ,它的第 i 个元素 prices[i] 表示一支给定股票第 i 天的价格 …

IDEA使用方式

1.翻译 1.Plugins插件:Chinese中文插件 文件F 编辑E 视图V 导航N 代码C 分析Z 重构R 构建B 运行U 工具T VCSS 窗口W 帮助H文件N 新建N 打开 打开最近 关闭项目 设置T 项目结构 文件属性 保存全部S 从磁盘全部重新加载 作废缓存/重启 导出/导入操作 其他设置 导出 打…

路径规划算法:基于协作搜索优化的路径规划算法- 附代码

路径规划算法:基于协作搜索优化的路径规划算法- 附代码 文章目录 路径规划算法:基于协作搜索优化的路径规划算法- 附代码1.算法原理1.1 环境设定1.2 约束条件1.3 适应度函数 2.算法结果3.MATLAB代码4.参考文献 摘要:本文主要介绍利用智能优化…

suse linux 日语字库相关

问题 最近遇到一个日语字库的问题,界面上同一个label显示的日语字体大小都不一样, 如下图,圈出的部分字体大小和其他部分不一样。 分析 考虑两种情况 配置文件有问题缺少字库文件 检查配置文件 参考suse官方文档https://en.opensuse.o…

5.带你入门matlab常见分布的期望和方差(matlab程序)

代码及运行结果 %%  二项分布的期望和方差 clear all; n1100; p10.3; [m1,v1]binostat(n1,p1) %100*0.3 100*0.3*0.7 %% %% 均匀分布的期望和方差 clear all; a11; b15; [m1,v1]unifstat(a1,b1) %% 正态分布的期望和方差 clear all; n12; n23; [m1,v1]normstat(n1,n2) %%…

亚马逊真的赚钱吗?亚马逊多年卖家真实想法揭秘

亚马逊跨境电商真的能赚钱吗?近期收到很多的咨询。理解大家对赚钱的渴望,但凡事都是有利有弊的。至于亚马逊跨境电商能不能赚钱,赚多少?咨询了很多亚马逊多年卖家,今天就跟大家一起聊聊吧! 亚马逊跨境电商…

解决dotnet调用https请求被中止未能创建SSL/TLS安全通道

环境:dotnet4.7.2/winserver2012 问题描述: 调用https出现请求被中止,未能创建SSL/TLS安全通道 第一试 自定义SetCertificatePolicy 函数,在建立http连接之前调用 SetCertificatePolicy 函数。 public static void SetCertificatePolicy() {ServicePointManage…

设计模式之建造者设计模式

写在前面 不知道,你在工作中有没有使用过lombok,如果你使用过,不知道你有没有使用过其中的Builder注解,其就会帮我们生成建造者设计模式相关的代码,本文就一起来看下吧! 1:介绍 1.1&#xff…

css3的新特性

动画效果 过渡 transition 鼠标放上去瞬间变大 过渡是变大的过程慢慢变化 第一个参数:对哪些值进行过渡。all为hover中所有,也可以指定属性 第二个参数:让动画过渡多长时间。要添加单位(s秒) 第三个参数&#xff1…

路径规划算法:基于厨师优化的路径规划算法- 附代码

路径规划算法:基于厨师优化的路径规划算法- 附代码 文章目录 路径规划算法:基于厨师优化的路径规划算法- 附代码1.算法原理1.1 环境设定1.2 约束条件1.3 适应度函数 2.算法结果3.MATLAB代码4.参考文献 摘要:本文主要介绍利用智能优化算法厨师…

【pytest自动化测试框架】从0到1由浅入深详细讲解

一:框架简介 pytest,rf(学关键字语法,报告漂亮),unitest   pytest是python的第三方单元测试框架,可以做系统测试,比unitest更简洁和高效,执行315种以上的插件&#xff…

AtcoderABC256场

A - 2^NA - 2^N 题目大意 给n,计算2n 思路分析 可以直接使用幂运算进行计算,也可以利用位运算来快速计算。 使用幂运算:将2连乘N次。利用位运算:2的N次方等于1左移N位(即将1的二进制表示中的1向左移N位)。 时间复…

Redis数据结构 — SDS

目录 C 语言字符串的缺陷 简单动态字符串SDS 扩容机制 SDS优点 字符串在 Redis 中是很常用的,Key-Value中的Key是字符串类型,Value有时也是字符串类型 Redis 是用 C 语言实现的,但是它没有直接使用 C 语言的 char* 字符数组来实现字符串…

如何激励员工跟踪时间?

正确跟踪工作时间对有效的企业管理和盈利能力起到重要作用。企业通过跟踪时间,监控出勤情况,确保员工收到应得的工资,保护企业的利益。 时间跟踪对企业来说和其他指标一样重要,但他们往往难以说服员工将其视为一种有益的活动。那…

windows 下载安装Redis,并配置开机自启动

windows 下载安装Redis,并配置开机自启动 1. 下载 地址:https://github.com/tporadowski/redis/releases Redis 支持 32 位和 64 位。这个需要根据你系统平台的实际情况选择,这里我们下载 Redis-x64-xxx.zip压缩包,之后解压 打…

园区水电能源管理系统平台

园区水电能源管理系统平台是一种集成了水电能源监测、管理和优化功能的平台,旨在帮助园区管理者实现对水电资源的实时监测、合理节能和优化使用。随着能源需求的不断增长和能源价格的不断攀升,园区管理者面临着越来越大的节能减排压力。因此,…

selenium查找svg元素

目录 如何为SVG元素编写XPath 使用local-name()的语法 需要记住的一点 将“and”与SVG元素一起使用 如何定位嵌套的SVG元素? XPath是一种用于定位XML文档中的web元素的语言,包括构成网页的HTML文档。在Selenium中&#xff0…

001 Jetpack Compose入门

目录 1.前提准备 2.新建项目 1.前提准备 下载最新版本的AndroidStudio,我目前的版本如下: 注意要将kotlin环境配置好 2.新建项目 新建项目中空Activity就是新建的Compose项目 然后就会得到一个Compose界面的应用 为何要学Compose可以看郭霖的文章&…

拉丁语翻译软件分享-收藏这几个备用

在当今全球化的时代,语言交流变得更加重要。虽然英语已经成为国际通用语言,但依旧有一些古老的语言在特定领域和文化中仍然得到广泛使用。其中,拉丁语作为古代罗马帝国的官方语言,对欧洲语言起了重要的影响。在本文中,…