samba
samba
文章目录
- samba
- 1. samba简介
- 2. samba访问
- 3. 示例
1. samba简介
Samba是在Linux和UNIX系统上实现SMB协议的一个免费软件,由服务器及客户端程序构成。
在此之前我们已经了解了NFS,NFS与samba一样,也是在网络中实现文件共享的一种实现,但不幸的是,其不支持windows平台,而本章要提到的samba是能够在任何支持SMB协议的主机之间共享文件的一种实现,当然也包括windows。
SMB(Server Messages Block,信息服务块)是一种在局域网上共享文件和打印机的一种通信协议,它为局域网内的不同计算机之间提供文件及打印机等资源的共享服务。
SMB协议是C/S型协议,客户机通过该协议可以访问服务器上的共享文件系统、打印机及其他资源。
Samba监听端口有:
| TCP | UDP |
|---|---|
| 139 445 | 137 138 |
tcp端口相对应的服务是smbd服务,其作用是提供对服务器中文件、打印资源的共享访问。
udp端口相对应的服务是nmbd服务,其作用是提供基于NetBIOS主机名称的解析。
samba进程:
| 进程 | 对应 |
|---|---|
| nmbd | 对应netbios |
| smbd | 对应cifs协议 |
| winbindd + ldap | 对应Windows AD活动目录 |
samba用户:
| 帐号 | 密码 |
|---|---|
| 都是系统用户 /etc/passwd | Samba服务自有密码文件 通过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.
Samba安全级别:
Samba服务器的安全级别有三个,分别是user,server,domain
| 安全级别 | 作用 |
|---|---|
| user | 基于本地的验证 |
| server | 由另一台指定的服务器对用户身份进行认证 |
| domain | 由域控进行身份验证 |
以前的samba版本支持的安全级别有四个,分别是share,user,server,domain
share是用来设置匿名访问的,但现在的版本已经不支持share了,但是还是可以实现匿名访问的
只是配置方式变了
samba配置文件:
- /etc/samba/smb.conf(主配置文件)
| samba三大组成 | 作用 |
|---|---|
| [global] | 全局配置,此处的设置项对整个samba服务器都有效 |
| [homes] | 宿主目录共享设置,此处用来设置Linux用户的默认共享,对应用户的宿主目录。 当用户访问服务器中与自己用户名同名的共享目录时,通过验证后将会自动映射到该用户的宿主目录中 |
| [printers] | 打印机共享设置 |
常用配置文件参数:
| 参数 | 作用 |
|---|---|
| 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.72.1 |
| hosts allow | 设置允许哪台主机访问,例如 hosts allow = 192.168.72.2 |
| 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
2. samba访问
环境说明:
| 服务器IP | 客户机IP |
|---|---|
| 172.16.12.128 | 172.16.12.129 |
//交互式数据访问
smbclient -L HOST -U USERNAME
smbclient //SERVER/shared_name -U USERNAME//在客户机安装samba-client包
[root@localhost ~]# yum -y install samba-client//查看samba服务器有哪些共享资源
[root@localhost ~]# smbclient -L 172.16.12.128 -U tom
Enter SAMBA\tom's password:
Domain=[LOCALHOST] OS=[Windows 6.1] Server=[Samba 4.6.2]Sharename Type Comment--------- ---- -------print$ Disk Printer DriversIPC$ IPC IPC Service (Samba 4.6.2)tom Disk Home Directories
Domain=[LOCALHOST] OS=[Windows 6.1] Server=[Samba 4.6.2]Server Comment--------- -------Workgroup Master--------- -------//交互式访问某共享资源
[root@localhost ~]# smbclient //172.16.12.128/tom -U tom
Enter SAMBA\tom's password:
Domain=[LOCALHOST] OS=[Windows 6.1] Server=[Samba 4.6.2]
smb: \> ls. D 0 Sat Aug 4 13:52:14 2018.. D 0 Sat Aug 4 12:59:42 2018.bash_logout H 18 Wed Mar 8 00:13:45 2017.bash_profile H 193 Wed Mar 8 00:13:45 2017.bashrc H 231 Wed Mar 8 00:13:45 2017aa N 0 Sat Aug 4 13:52:14 201817811456 blocks of size 1024. 16665456 blocks available
smb: \> quit //quit退出//基于挂载的方式访问
mount -t cifs //SERVER/shared_name /挂载到本地的什么目录 -o username=USERNAME,password=PASSWORD[root@localhost ~]# mkdir /opt/smb
[root@localhost ~]# mount -t cifs //172.16.12.128/tom /opt/smb/ -o username=tom,password=redhat
[root@localhost ~]# df -h
文件系统 容量 已用 可用 已用% 挂载点
/dev/mapper/rhel-root 17G 1.1G 16G 6% /
devtmpfs 478M 0 478M 0% /dev
tmpfs 489M 0 489M 0% /dev/shm
tmpfs 489M 6.8M 482M 2% /run
tmpfs 489M 0 489M 0% /sys/fs/cgroup
/dev/sda1 1014M 125M 890M 13% /boot
tmpfs 98M 0 98M 0% /run/user/0
/dev/sr0 3.8G 3.8G 0 100% /mnt
//172.16.12.128/tom 17G 1.1G 16G 7% /opt/smb
3. 示例
配置用户认证共享:
//使用yum命令安装samba服务器:
[root@localhost ~]# yum -y install samba-*//映射共享目录:
//创建用户wangqing:
[root@localhost ~]# useradd -M zhouwei//为wangqing用户创建smb共享密码:
[root@localhost ~]# smbpasswd -a zhouwei
New SMB password:
Retype new SMB password:
Added user wangqing.//假设这里映射wangqing用户为share用户,那么就要在/etc/samba/smbusers文件中添加如下内容:
[root@localhost ~]# echo 'wangqing = share' > /etc/samba/smbusers//在全局配置中添加如下内容:
[root@localhost ~]# vim /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.[global]workgroup = SAMBAsecurity = userusername map = /etc/samba/smbusers //添加此行内容//创建一个共享目录wangqing
[root@localhost ~]# mkdir /opt/wangqing
[root@localhost ~]# chown -R zhouwei.zhouwei /opt/zhouwei/
[root@localhost ~]# ll /opt/
total 0
drwxr-xr-x. 2 zhouwei zhouwei 15 Aug 4 15:05 zhouwei//配置共享
[root@localhost ~]# cat >> /etc/samba/smb.conf <<EOF
> [wangqing]
> comment = zhouwei
> path = /opt/zhouwei
> browseable = yes
> guest ok = yes
> writable = yes
> write list = share
> public = yes
> EOF[root@localhost ~]# tail -8 /etc/samba/smb.conf
[wangqing]
comment = zhouwei
path = /opt/zhouwei
browseable = yes
guest ok = yes
writable = yes
write list = share
public = yes//启动smb服务:
[root@localhost ~]# systemctl start smb//重启smb服务:
[root@localhost ~]# systemctl restart smb//重新加载smb服务:
[root@localhost ~]# systemctl reload smb//设置smb服务随系统启动而启动:
[root@localhost ~]# systemctl enable smb//在客户机查看samba服务器有哪些共享资源
[root@localhost ~]# smbclient -L 172.16.12.128 -U share
Enter SAMBA\share's password:
Domain=[LOCALHOST] OS=[Windows 6.1] Server=[Samba 4.6.2]Sharename Type Comment--------- ---- -------print$ Disk Printer Driverszhouwei Disk zhouweiIPC$ IPC IPC Service (Samba 4.6.2)
Domain=[LOCALHOST] OS=[Windows 6.1] Server=[Samba 4.6.2]Server Comment--------- -------Workgroup Master--------- -------//将samba服务器的共享资源zhouwei挂载到客户机本地
[root@localhost ~]# mount -t cifs //172.16.12.128/zhouwei /opt/smb/ -o username=share,password=redhat
[root@localhost ~]# df -h
文件系统 容量 已用 可用 已用% 挂载点
/dev/mapper/rhel-root 17G 1.1G 16G 6% /
devtmpfs 478M 0 478M 0% /dev
tmpfs 489M 0 489M 0% /dev/shm
tmpfs 489M 6.8M 482M 2% /run
tmpfs 489M 0 489M 0% /sys/fs/cgroup
/dev/sda1 1014M 125M 890M 13% /boot
tmpfs 98M 0 98M 0% /run/user/0
/dev/sr0 3.8G 3.8G 0 100% /mnt
//172.16.12.128/zhouwei 17G 1.1G 16G 7% /opt/smb//在客户机上进入共享目录创建新文件
[root@localhost smb]# ls
[root@localhost smb]# touch a
[root@localhost smb]# mkdir abc
[root@localhost smb]# ls
a abc//到服务器上验证
[root@localhost ~]# cd /opt/zhouwei/
[root@localhost wangqing]# ls
a abc
配置匿名共享:
//使用yum命令安装samba服务器:
[root@localhost ~]# yum -y install samba-*//在全局配置中添加如下内容:
[root@localhost ~]# vim /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.[global]workgroup = SAMBAsecurity = usermap to guest = Bad User //添加此行内容//创建一个共享目录zhouwei
[root@localhost ~]# mkdir /opt/zhouwei
[root@localhost ~]# chmod 777 /opt/zhouwei/
[root@localhost ~]# ll /opt/
total 0
drwxrwxrwx. 3 root root 26 Aug 4 15:17 zhouwei//配置共享
[root@localhost ~]# cat >> /etc/samba/smb.conf <<EOF
> [zhouwei]
> comment = zhouwei
> path = /opt/zhouwei
> browseable = yes
> guest ok = yes
> writable = yes
> public = yes
> EOF[root@localhost ~]# tail -7 /etc/samba/smb.conf
[wangqing]
comment = zhouwei
path = /opt/zhouwei
browseable = yes
guest ok = yes
writable = yes
public = yes//启动smb服务:
[root@localhost ~]# systemctl start smb//在客户机查看samba服务器有哪些共享资源
[root@localhost ~]# smbclient -L 172.16.12.128 -U 'Bad User'
Enter SAMBA\root's password: //这里直接敲回车键即可,不用输入密码
OS=[Windows 6.1] Server=[Samba 4.6.2]Sharename Type Comment--------- ---- -------print$ Disk Printer Driverszhouwei Disk zhouweiIPC$ IPC IPC Service (Samba 4.6.2)
OS=[Windows 6.1] Server=[Samba 4.6.2]Server Comment--------- -------Workgroup Master--------- -------//将samba服务器的共享资源wangqing挂载到客户机本地
[root@localhost ~]# mount -t cifs //172.16.12.128/zhouwei /opt/smb/ -o username='Bad User'
[root@localhost ~]# df -h
文件系统 容量 已用 可用 已用% 挂载点
/dev/mapper/rhel-root 17G 1.1G 16G 6% /
devtmpfs 478M 0 478M 0% /dev
tmpfs 489M 0 489M 0% /dev/shm
tmpfs 489M 6.8M 482M 2% /run
tmpfs 489M 0 489M 0% /sys/fs/cgroup
/dev/sda1 1014M 125M 890M 13% /boot
tmpfs 98M 0 98M 0% /run/user/0
/dev/sr0 3.8G 3.8G 0 100% /mnt
//172.16.12.128/zhouwei 17G 1.1G 16G 7% /opt/smb//在客户机上进入共享目录创建新文件
[root@localhost smb]# ls
[root@localhost smb]# touch wanglaoji
[root@localhost smb]# mkdir jiaduobao
[root@localhost smb]# ls
jiaduobao wanglaoji//到服务器上验证
[root@localhost ~]# cd /opt/zhouwei/
[root@localhost zhouwei]# ls
jiaduobao wanglaoji/dev/sr0 3.8G 3.8G 0 100% /mnt
//172.16.12.128/zhouwei 17G 1.1G 16G 7% /opt/smb//在客户机上进入共享目录创建新文件
[root@localhost smb]# ls
[root@localhost smb]# touch wanglaoji
[root@localhost smb]# mkdir jiaduobao
[root@localhost smb]# ls
jiaduobao wanglaoji//到服务器上验证
[root@localhost ~]# cd /opt/zhouwei/
[root@localhost zhouwei]# ls
jiaduobao wanglaoji
相关文章:
samba
samba 文章目录 samba1. samba简介2. samba访问3. 示例 1. samba简介 Samba是在Linux和UNIX系统上实现SMB协议的一个免费软件,由服务器及客户端程序构成。 在此之前我们已经了解了NFS,NFS与samba一样,也是在网络中实现文件共享的一种实现&a…...
「云渲染科普」3dmax vray动画渲染参数如何设置
动画渲染一直都是占用时间最多的地方,动画帧数通常 1 秒在 25 帧或者以上,电脑通常需要对每一帧的画面分批渲染,通常本地电脑由于配置上的限制,往往无法在短时间内快速的完成渲染任务。这时“云渲染”则成为了动画渲染的主要方案&…...
【GCC】6 接收端实现:周期构造RTCP反馈包
基于m98代码。GCC涉及的代码,可能位于:webrtc/modules/remote_bitrate_estimator webrtc/modules/congestion_controller webrtc/modules/rtp_rtcp/source/rtcp_packet/transport_feedback.cc webrtc 之 RemoteEstimatorProxy 对 remote_bitrate_estimator 的 RemoteEstimato…...
【RTOS】快速体验FreeRTOS所有常用API(6)事件组
目录 六、事件组6.1 基本概念6.2 创建6.3 设置事件6.4 等待事件6.5 实例 六、事件组 该部分在上份代码基础上修改得来,代码下载链接: https://wwzr.lanzout.com/iihn01la39je 密码:dtr0 该代码尽量做到最简,不添加多余的、不规范的代码。 内容…...
Springboot开发的大学生寝室考勤系统刷脸进出宿舍系统论文
摘要 近年来随着社会科学技术的全面进步及高等教育的普及,以计算机与通信技术为基础的信息系统正处于蓬勃发展的时期,学生作为预备的高新技术人才数量也在急剧上升,随之而来的就是高校管理上的一系列问题,首当其冲的便是高校应对…...
2024年美赛数学建模思路 - 复盘:校园消费行为分析
文章目录 0 赛题思路1 赛题背景2 分析目标3 数据说明4 数据预处理5 数据分析5.1 食堂就餐行为分析5.2 学生消费行为分析 建模资料 0 赛题思路 (赛题出来以后第一时间在CSDN分享) https://blog.csdn.net/dc_sinor?typeblog 1 赛题背景 校园一卡通是集…...
测试覆盖率 之 Cobertura的使用
什么是代码覆盖率? 代码覆盖率是对整个测试过程中被执行的代码的衡量,它能测量源代码中的哪些语句在测试中被执行,哪些语句尚未被执行。 为什么要测量代码覆盖率? 众所周知,测试可以提高软件版本的质量和可预测性。…...
vue表格插件vxe-table导出 excel
vxe-table 默认支持导出 CSV、HTML、XML、TXT格式的文件,不支持 xlsx 文件 要想导出 xlsx 文件,需要使用 vxe-table-plugin-export-xlsx 依赖 参考:https://cnpmjs.org/package/vxe-table-plugin-export-xlsx/v/2.1.0-beta 1.安装 npm inst…...
stable diffusion使用相关
IP Adapter,我愿称之它为SD垫图 IP Adapter是腾讯lab发布的一个新的Stable Diffusion适配器,它的作用是将你输入的图像作为图像提示词,本质上就像MJ的垫图。 IP Adapter比reference的效果要好,而且会快很多,适配于各种…...
Center项目创建——数据初始化(Linux/Windows版本)
本博客主要讲述Center的模块安装配置和数据初始化 1、定义安装Install函数,IP地址由makefile自动传入,也就是用户自动传入 bool Install(std::string ip); 2、编写Install函数 #define CENTER_CONF "ip bool XCenter::Install(std::string ip)…...
保送阿里云的云原生学习路线
近期好多人都有咨询学习云原生有什么资料。与其说提供资料不如先说一说应该如何学习云原生。 Linux基础知识:云原生技术通常在Linux环境中运行,因此建议首先掌握Linux的基础知识,包括命令行操作、文件系统、权限管理等。 容器化技术&#x…...
【昕宝爸爸小模块】深入浅出之JDK21 中的虚拟线程到底是怎么回事(二)
➡️博客首页 https://blog.csdn.net/Java_Yangxiaoyuan 欢迎优秀的你👍点赞、🗂️收藏、加❤️关注哦。 本文章CSDN首发,欢迎转载,要注明出处哦! 先感谢优秀的你能认真的看完本文&…...
两周掌握Vue3(三):全局组件、局部组件、Props
文章目录 一、全局组件1.创建全局组件2.在main.js中注册全局组件3.使用全局组件 二、局部组件1.创建局部组件2.在另一个组件中注册、使用局部组件 三、Props1.定义一个子组件2.定义一个父组件3.效果 代码仓库:跳转 本博客对应分支:03 一、全局组件 Vue…...
Web前端篇——element-plus组件设置全局中文
背景:在使用el-date-picker组件时,发现组件中的文字默认都是英文。 设置全局中文的方法如下:(本文只介绍CDN方式) <script src"//unpkg.com/element-plus/dist/locale/zh-cn"></script> <s…...
【iOS】数据存储方式总结(持久化)沙盒结构
在iOS开发中,我们经常性地需要存储一些状态和数据,比如用户对于App的相关设置、需要在本地缓存的数据等等,本篇文章将介绍六个主要的数据存储方式 iOS中数据存储方式(数据持久化) 根据要存储的数据大小、存储数据以及…...
硬盘重新分区怎么恢复分区之前的文件?
分区是常见的故障,通常由多种原因引起。一方面,硬盘老化或者受到损坏可能会导致分区表出现问题;另一方面,用户误操作,如格式化或分区不当,也可能导致分区丢失。针对此问题,解决方法包括使用专业…...
C++每日一练(15):简单幂计算
题目描述 输入两个数a和b,求a的b次方。 输入 输入两个整数a,b(1<a<10,1<b<15)。 输出 输出一个正整数,该值<1000000000000。 输入样例 3 3 输出样例 27 参考答案 #include<bits/stdc.h&…...
扫雷游戏【可展开一片,超详细,保姆级别,此一篇足够】
一、C语言代码实现的扫雷游戏的运行 C语言实现扫雷 二、扫雷游戏的分析与设计 1.扫雷游戏的界面设计 在玩家玩扫雷的时候,它会给你一个二维的棋盘(下面的讲解都以9x9规格为例子),然后点击你想排查的坐标,若不是雷的&…...
鸿蒙开发-DevEco Studio Profiler工具进行帧率分析
Frame Profiler概述 DevEco Studio内置Profiler分析调优工具,其中Frame分析调优功能,用于录制GPU数据信息,录制完成展开之后的子泳道对应录制过程中各个进程的帧数据,主要用于深度分析应用或服务卡顿丢帧的原因。此外,…...
Google推出Telecom Jetpack库,让Android通话应用创建更简单
Google推出Telecom Jetpack库,让Android通话应用创建更简单 Telecom Jetpack库的最新Alpha版本已经推出。该库提供了多个API,以简化Android开发者创建语音和/或视频通话应用程序的过程,支持常见功能,例如接听/拒绝、音频路由等等…...
BetterGI原神自动化工具:5大核心功能让你每天节省2小时游戏时间
BetterGI原神自动化工具:5大核心功能让你每天节省2小时游戏时间 【免费下载链接】better-genshin-impact 📦BetterGI 更好的原神 - 自动拾取 | 自动剧情 | 全自动钓鱼(AI) | 全自动七圣召唤 | 自动伐木 | 自动刷本 | 自动采集/挖矿/锄地 | 一条龙 | 全连…...
机器学习赋能密度泛函理论:构建半局域交换关联泛函攻克强关联体系
1. 项目概述与核心思路在计算凝聚态物理和量子化学领域,密度泛函理论(Density Functional Theory, DFT)无疑是过去几十年里最成功的“第一性原理”计算方法。它的核心魅力在于,通过Hohenberg-Kohn定理,将描述N个相互作…...
构建全球生活便利度指数:多维数据驱动的发展评估框架
1. 项目概述:从数据视角看世界发展作为一名长期和数据打交道的分析师,我常常被问到:如何客观地衡量一个国家或地区的发展水平?是看GDP总量,还是人均收入?是看高楼大厦的数量,还是普通民众的幸福…...
【Claude教育内容创作黄金法则】:20年教育技术专家亲授5大不可复制的AI协同写作心法
更多请点击: https://kaifayun.com 第一章:Claude教育内容创作的范式革命 传统教育内容生产长期受限于人力密集、周期冗长与个性化不足三大瓶颈。Claude凭借其长上下文理解、结构化输出能力与教育领域微调优势,正推动一场从“经验驱动”到“…...
Lovable移动端体验跃迁指南(2024年iOS/Android双平台实测数据验证)
更多请点击: https://intelliparadigm.com 第一章:Lovable移动端体验跃迁的范式变革 移动体验正从“可用”迈向“可恋”——Lovable 不再是情感修辞,而是以用户心智留存为标尺的技术范式重构。它要求交互具备可预测性、反馈具备呼吸感、动效…...
AI与PDCA循环融合:构建韧性医院物流系统的实践指南
1. 项目概述:当医院物流遇上AI与PDCA在医院这个庞大而精密的系统里,物流的顺畅与否,直接关系到患者的生命安全和医疗服务的质量。想象一下,一台急诊手术因为某个关键耗材在仓库里“迷路”而推迟,或者一个重症病房因为药…...
LLM多智能体驱动微服务自治:从架构设计到Sock Shop实战评估
1. 项目概述:当微服务遇见大模型,自管理不再是空谈在云原生和微服务架构成为主流的今天,我们运维工程师面对的早已不是几台物理服务器,而是一个由成百上千个容器化服务实例构成的、动态且复杂的生态系统。服务间的调用链路像一张错…...
阿里巴巴运营/2026年阿里巴巴1688店铺效果越来越差的3个核心原因(附解决方案)
阿里巴巴运营/2026年阿里巴巴1688店铺效果越来越差的3个核心原因(附解决方案)最近很多工厂老板跟我说,小峰老师,我这1688店铺怎么越做越没效果了?明明以前还能来几个询盘,现在越来越少,是不是16…...
中控考勤机MDB数据库逆向与安全审计实战
1. 为什么是中控考勤机MDB?——一个被低估的工业级数据入口你可能在工厂门禁旁、写字楼前台、甚至学校行政楼里见过那个灰黑色方盒子,屏幕不大,带个红外感应区,刷一下工卡,“滴”一声就完成打卡。它叫中控考勤机&#…...
在Node.js后端服务中集成Taotoken,实现稳定可靠的大模型功能调用
🚀 告别海外账号与网络限制!稳定直连全球优质大模型,限时半价接入中。 👉 点击领取海量免费额度 在Node.js后端服务中集成Taotoken,实现稳定可靠的大模型功能调用 将大模型能力集成到后端服务是现代应用开发的常见需求…...
