Samba服务器

目录

一、什么是Samba?

二、Samba进程

三、Samba主要功能

四、Samba工作流程

五、Samba安全级别

六、Sam主配置文件/etc/samba/smb.conf

七、Samba服务配置案例


一、什么是Samba

Samba可以让linux计算机和windows计算机之间实现文件和打印机资源共享的一个服务软件。分别使用tcp的139或445端口来提供服务器中文件、打印机资源的共享;使用udp的137或138端口来为网络中的客户机提供NetBIOS的主机名与相应IP地址的解析服务。新的CIFS是一个增强版的SMB协议,使windows用户可以通过web实现更大范围的资源共享。

二、Samba进程

1、smbd:为win用户提供文件和打印服务。

2、nmbd:提供netbios计算机名对应IP地址解析。通过nmbd进程搭建NetBIOSnameserver服务器。让用户的Linux机器可以在Windows的网络邻居里被看到,所以就可以和Win95/NT主机在网络上相互沟通,共享文件与服务了。

三、Samba主要功能

1、文件和打印机共享。

2、身份验证和权限设置。

3、NetBios名称IP地址解析。

4、浏览服务。在windows局域网中,为了能够利用网上资源,同时自己的资源也能被别人所利用;各个主机都定期地向网上广播自己的身份信息。Samba可作为本地主浏览服务器来负责收集这些信息。为windows客户端访问网络邻居提供显示计算机、共享目录和打印机等资源。

四、Samba工作流程

1、协议协商:客户端会先向服务器发送一个SMB negprot请求数据报文,来告诉服务器自己所支持的所有SMB协议版本。服务器收到请求消息后,会根据客户端的情况选择出最优的SMB类型并做出回应。

2、建立连接:协议确定后,客户端会向服务器发送一个session setup请求数据报文来进行用户或共享的认证。然后服务器通过对客户端发送过来的用户名及其密码验证过之后会向客户端回复一个session setup报文来应答允许或拒绝本次连接。

3、访问共享资源:认证完成之后,客户端会向服务器发送一个tree connect 报文来告诉服务器自己想要访问的共享资源。服务器收到消息后,会对用户此次的访问进行权限的验证,如果权限允许服务器会为客户端与共享资源的连接分配一个TID。这样客户端就可以访问共享资源了。

4、断开连接:客户端通过向用户发送tree disconnect报文来关闭与服务器之间的连接。

五、Samba安全级别

1、user:   对用户访问服务器的共享资源之前进行身份本地验证

2、server:  由网络中另一台指定的服务器对用户的身份进行验证

3、domain:  加入win的域、由网络中的域控制器负责身份验证

六、Sam主配置文件/etc/samba/smb.conf

[global]全局设置:

这部分配置项的内容对整个Samba服务器都有效。

[homes]用户家目录共享设置:

设置Linux用户对应共享的家目录。Samb默认开启了本地家目录和打印机的共享。当用户访问服务器中与自己用户名同名的共享目录时,通过验证后将自动映射到该用户的宿主文件夹中。

[printers]打印机共享设置:

如果需要共享打印机设备,可以在这部分进行配置。

 

七、Samba服务配置案例

实验需求:

1、分别为信息学院/infors和音乐学院/musics创建各自的共享文件夹,只有本学院的用户可以访问本院的共享文件夹。root管理员可以访问所有的共享目录。

2、为学校创建公共的共享文件夹,此文件夹内容允许所有人访问、每个人(除了管理员)只可以修改删除自身创建的文件夹。

3、为安全起见,为root管理员用户设置个别名,root用户通过别名admin访问所有共享文件夹。

4、Linux客户端需要永久挂载共享目录。

5、最后只允许本学校局域网内的用户访问samba服务器。

Server端:

1、安装Samba服务。

2、分别为信息和音乐学院创建各自的组,并创建各学院的Samba共享账户,并将其加入各自学院的组中。

3、分别为信息和音乐学院创建各自的共享文件夹,同时为学校创建一个可以所有人访问的/public共享文件夹。并设置合适的权限。

4、为预创建的共享文件夹修改安全上下文,否则用户无法访问共享文件夹。

5、在/etc/samba/目录下创建个用户别名配置文件smbusers,来为root管理员用户起个别名,使root管理员通过别名登录Samba服务器。

6、修改/etc/samba/smb.conf主配置文件来发布各学院的共享文件夹。

*默认Samba服务开启了本地共享用户的家目录和打印机设备的文件共享。

当用户登录到服务器后就可访问此用户的家目录。若要有权访问用户家目录还需开启selinux的布尔值,才可访问用户家目录。若要关闭家目录共享只需将Samba主配置文件中的[home]部分内容给注释掉即可。

Client端:

使用Linux来访问Samba服务器共享的文件夹。

1、安装Samba服务客户端软件

2、查看Samba服务器上的共享文件夹

3、使用信息学院的infor1用户访问共享文件夹进行测试。

公共目录访问:

4、使用音乐学院的music1用户访问共享文件进行测试

公共目录访问:

5、使用admin别名用户永久挂载Samba服务器上的信息学院共享文件夹到本地。

也可以使用mount命令对Samba共享文件进行临时挂载到本地。

使用window客户端来访问Samba服务器上的共享文件资源。

1、打开运行对话框输入共享文件访问路径

*由于之前已通过root用户的别名admin登录到Samba服务器,因此此次默认使用之前的admin别名用户访问共享文件。

2、分别点击各个共享文件夹,测试Samba服务器上的root管理员别名用户admain,是否可以访问各个学院和公共的共享文件夹。

3、CMD相关命令:

net use

作用:将计算机连接到其它主机共享的资源、或将计算机与网络上的共享资源断开连接、以及远程连接网络上的计算机。

用法:Net use [devicename | *] [\\computername\sharename[\volume]] [password | *] [/user:[domainname\]username][[/delete]| [/persistent:{yes | no}]]

例如:

  • net use z:  \\192.168.1.8\sharefile   -----访问网络上其它主机共享的文件夹并将其映射到本地的z盘(盘符需未使用)。
  • net use \\192.168.1.8\IPC$  “root123(密码)”/user:  "root(用户名)"------与目标主机建立远程IPC非空连接,即远程连接到目标主机。这样本地主机就可以远程访问目标主机上的资源。实际上在win运行框中访问目标主机共享文件夹时,所输入的目标主机IP地址和其后输入的用户密码信息,其实就是与目标主机建立远程IPC非空连接。
  • net use  z:   /delete   -------删除网络共享目录到本地Z盘符的映射。
  • net use  \\192.168.1.8\sharefile  -------断开与目标主机共享资源的连接,这样用户通过运行框再远程访问目标主机共享的资源时,需要重新输入用户密码。
  • net use  *  /delete  -------断开与网络上所有主机资源的连接,"*"表示所有。

@声明:“山月润无声”博主知识水平有限,以上文章如有不妥之处,欢迎广大IT爱好者指正,小弟定当虚心受教!

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

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

安全开发-JS应用NodeJS指南原型链污染Express框架功能实现审计WebPack打包器第三方库JQuery安装使用安全检测

文章内容 环境搭建-NodeJS-解析安装&库安装安全问题-NodeJS-注入&RCE&原型链案例分析-NodeJS-CTF题目&源码审计打包器-WebPack-使用&安全第三方库-JQuery-使用&安全 环境搭建-NodeJS-解析安装&库安装 Node.js是运行在服务端的JavaScript 文档参考…

【Unity每日一记】WheelColider组件汽车游戏的关键

👨‍💻个人主页:元宇宙-秩沅 👨‍💻 hallo 欢迎 点赞👍 收藏⭐ 留言📝 加关注✅! 👨‍💻 本文由 秩沅 原创 👨‍💻 收录于专栏:uni…

设计模式-适配器

文章目录 一、简介二、适配器模式基础1. 适配器模式定义与分类2. 适配器模式的作用与优势3.UML图 三、适配器模式实现方式1. 类适配器模式2. 对象适配器模式3.类适配器模式和对象适配器模式对比 四、适配器模式应用场景1. 继承与接口的适配2. 跨平台适配 五、适配器模式与其他设…

2023京东蓝牙耳机行业数据分析(京东数据分析软件)

近年来,蓝牙耳机逐步成为穿戴设备行业的新宠,随着蓝牙耳机的迅速普及和发展,产品的市场规模不断增大,用户需求不断提升。 鲸参谋电商数据分析平台的数据显示,2023年7月份,京东平台上蓝牙耳机的销量将近330…

【python零基础入门学习】python基础篇之判断与for循环(二)

本站以分享各种运维经验和运维所需要的技能为主 《python》:python零基础入门学习 《shell》:shell学习 《terraform》持续更新中:terraform_Aws学习零基础入门到最佳实战 《k8》暂未更新 《docker学习》暂未更新 《ceph学习》ceph日常问题解…

C#安装“Windows 窗体应用(.NET Framework)”

目录 背景: 第一步: 第二步: 第三步: 总结: 背景: 如下图所示:在Visual Studio Installer创建新项目的时候,想要添加windows窗体应用程序,发现里面并没有找到Windows窗体应用(.NET Framework)模板,快捷搜索也没有发现&#…

css实现文字翻转效果

csss实现文字翻转效果 主要实现核心属性 direction: rtl; unicode-bidi: bidi-override; direction: rtl; 这个属性用于指定文本的方向为从右到左(Right-to-Left)。它常用于处理阿拉伯语、希伯来语等从右向左书写的文字样式。当设置了 direction: rtl; …

在Windows操作系统上安装Neo4j数据库

在Windows操作系统上安装Neo4j数据库 一、在Windows操作系统上安装Neo4j数据库 一、在Windows操作系统上安装Neo4j数据库 点击 MySQL可跳转至MySQL的官方下载地址。 在VUE3项目的工程目录中,通过以下命令可生成node_modules文件夹。 npm install(1&am…

什么是浏览器缓存(browser caching)?如何使用HTTP头来控制缓存?

聚沙成塔每天进步一点点 ⭐ 专栏简介⭐ 浏览器缓存和HTTP头控制缓存⭐ HTTP头控制缓存1. Cache-Control2. Expires3. Last-Modified 和 If-Modified-Since4. ETag 和 If-None-Match ⭐ 缓存策略⭐ 写在最后 ⭐ 专栏简介 前端入门之旅:探索Web开发的奇妙世界 记得点击…

简单shell脚本的编写

文章目录 简单使用shell脚本参数判断整数的比较运算符字符串的比较运算shell脚本流程控制shell脚本循环for循环批量添加用户批量ping IP地址检测同一局域网,多台主机存活情况检测同一局域网,多台主机存活情况多线程检测主机存活情况 while循环case选择语…

贝锐蒲公英异地组网方案,如何阻断网络安全威胁?

随着混合云和移动办公的普及,企业网络面临着越来越复杂的安全威胁环境。 大型企业有足够的能力和预算,构建覆盖全部个性化需求的定制化网络安全方案。 但对于广大中小企业来说,由于实际业务发展情况,他们难以在部署周期、预算成本…

STL stack,queue,deque以及适配器

目录 stackstack的使用stack模拟实现 queuequeue的使用queue模拟实现 适配器deque stack stack的使用 下面是stack库中的接口函数,有了前面的基础,我们可以根据函数名得知函数的作用 函数说明stack()构造空栈empty()判断栈是否为空size()返回栈中元素…