samba服务器配置及客户端挂载

简介:

一:samba简介:

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

Message Block)协议,或者称之为NETBIOS/LanManager协议。SMB协议通常是被windows系列用来实现磁盘和打印机共享。samba服务器可以实现

windows主机和linux主机共享资源互访的功能,即在windows上可以通过网上邻居访问linux主机上共享的samba服务器共享文件夹,linux主机同样可以使

用samba客户端访问windows主机共享的文件夹,当然,linux主机之间也可以使用samba互相访问共享资源。

二:samba执行文件分为服务器和客户端命令:

(1)smbd与nmbd命令。这两个执行命令为samba开启守护进程命令。每次启动samba服务器时都会使用到这两个执行文件。smbd使用tcp的139和445端

口,主要用户资源共享和连接控制;nmbd使用udp的137和138端口,主要宣告资源。

(2)testparm命令。当配置玩/etc/samba/smb.conf文件后,使用该命令查看配置文件中服务器所设定的参数与smb.conf的设定项目是否正确。

(3)smbpasswd命令。如果samba服务器需要规定使用者的账户与密码,那么需要使用该命令来创建。此命令用来指定samba的用户名和密码。需要指出的

是,必须首先创建本低用户,然后使用smbpasswd将其添加到samba的账号库中,smbpasswd的参数有:

-a新增一个使用者

-d禁止一个使用者

-e恢复使用者

-x从smbpasswd中删除使用者

(4)smbclient命令。当linux主机作为客户端查看其它linux(或windows)主机共享目录时,就需要使用smbclient命令

(5)smbmount命令。windows操作系统可以设定“网络磁盘驱动器”来连接到共享目录,在linux系统上可以通过使用smbmount命令来将远程主机分享

的文件与目录挂载到自己的linux主机上(也可以使用mount)

三:如何访问samba服务器:

在windows上访问samba  server:

1.【网上邻居】搜索计算机

2.网上邻居

3.unc路径    \\对方地址或者名字\共享名字

4.映射网络驱动器

5.net  use      net share 

在linux上访问samba  server

1:smbclient    与samba服务器断开连接后需要重新连接

2:smbmount    直接访问挂载点(分为手动挂载和自动挂载)

浅析samba配置文件:/etc/samba/smb.conf

[root@lyt ~]# mkdir /mnt/cdrom

[root@lyt ~]# mount /dev/cdrom /mnt/cdrom/

[root@lyt ~]# cd /mnt/cdrom/Server/

image

image

image

[root@lyt Server]# yum install samba  -y       #使用yum安装samba服务器

[root@lyt Server]# rpm -ql  samba-common  |less     #查看samba-common的安装路径,此包包含了samba服务器的主配置文档

[root@lyt Server]# service smb start     #启动samba服务器,它的控制脚本是smb

[root@lyt ~]# chkconfig smb on      #设置开机自动启动

[root@lyt Server]# vim /etc/samba/smb.conf      #编辑samba服务的配置文件

image

image 

[root@lyt Server]# service smb restart

[root@lyt Server]# vim /etc/samba/smb.conf

image

[root@lyt Server]# service smb restart

image

[root@lyt Server]# vim /etc/samba/smb.conf

image

image

image

案例:搭建samba服务器,创建共享名public,物理路径为/abc,任何人都有访问的权利;创建共享名smbzs,物理路径为/zhangsan,只有张三有

访问和修改的权限;:创建共享名smbls,物理路径为/lisi,只有李四自己有访问和修改的权限;

1:[root@lyt Server]# vim /etc/samba/smb.conf

image

image

image

[root@lyt Server]# service smb restart      #重启samba服务器

2:[root@lyt Server]# useradd zhangsan       #创建用户zhangsan

[root@lyt Server]# passwd zhangsan

[root@lyt Server]# useradd lisi       #创建用户lisi

[root@lyt Server]# passwd lisi

3:[root@lyt Server]# mkdir /abc /zhangsan /lisi     #创建目录/abc 、/zhangsan 、/lisi

[root@lyt Server]# ll -d /abc/ /zhangsan/ /lisi/      #查看改这些目录的属性

4:[root@lyt Server]# chown lisi.lisi /lisi/      #将目录/lisi的用户和所属组改为lisi,此时用户lisi就对自己所对应的目录/lisi有读写权限了

[root@lyt Server]# chown zhangsan.zhangsan /zhangsan/      #将目录/zhangsan的用户和所属组改为zhangsan,此时用户zhangsan就对自己所对

应的目录/zhangsan有读写权限

5:[root@lyt Server]# cd /abc/ 

[root@lyt abc]# touch f1.abc      #在/abc目录下创建f1.abc文件

[root@lyt abc]# cd /zhangsan/      

[root@lyt zhangsan]# touch f1.zhangsan       #在/zhangsan目录下创建f1.zhangsan文件

[root@lyt zhangsan]# cd /lisi/

[root@lyt lisi]# touch f1.lisi       #在/lisi目录下创建f1.lisi文件

6:[root@lyt ~]# smbpasswd -a zhangsan       #向samba账号库中添加zhangsan账号,-a表示添加

[root@lyt ~]# smbpasswd -a lisi      #向samba账号库中添加lisi账号,-a表示添加

使用windows主机测试:

使用zhangsan用户登录:

image

image

其他用户一样,这里不再重复

使用linux主机进行测试:(在linux中smbclient默认是已经安装的,这里直接使用即可)

[root@localhost ~]# smbclient -L \\192.168.101.66 -U zhangsan      #-L表示列出,-U表示用户

image

[root@localhost ~]# smbclient //192.168.101.66/smbzs -U zhangsan      #使用zhangsan用户登录自己的共享

image

image

image

在linux客户端上进行手动挂载(开机自动挂载):

[root@localhost etc]# mkdir /mnt/smb      #创建挂载点

[root@localhost etc]# vim /etc/fstab

image 

[root@localhost etc]# vim /etc/samba/f1     #编辑f1文件,存放账户密码

image

[root@localhost etc]# mount -a

在linux客户端上进行自动挂载(访问挂载点自动挂载):

[root@localhost etc]# rpm -qa |grep auto      #查看与auto相关的已经安装的软件包

image

[root@localhost etc]# vim /etc/auto.master      #编辑与自动挂载相关的配置文件

image

[root@localhost etc]# cp -p auto.misc auto.samba     #产生auto.samba文件

image 

[root@localhost etc]# service autofs restart     #重启autofs服务器

[root@localhost etc]# mount     #查看挂载

image 

[root@localhost etc]# cd /mnt/smb/

[root@localhost smb]# cd server2    #强制切换到server2目录中,此时server2是临时产生的,但退出60秒后,会自动消失

image

[root@localhost server2]# cd     #退出挂载点

[root@localhost ~]# mount      #一分钟后查看挂载情况:

image










本文转自 liuyatao666 51CTO博客,原文链接:http://blog.51cto.com/5503845/1003980,如需转载请自行联系原作者
目录
相关文章
|
2月前
|
人工智能 搜索推荐 程序员
用 Go 语言轻松构建 MCP 客户端与服务器
本文介绍了如何使用 mcp-go 构建一个完整的 MCP 应用,包括服务端和客户端两部分。 - 服务端支持注册工具(Tool)、资源(Resource)和提示词(Prompt),并可通过 stdio 或 sse 模式对外提供服务; - 客户端通过 stdio 连接服务器,支持初始化、列出服务内容、调用远程工具等操作。
519 4
|
3月前
|
网络协议 开发者 Python
Socket如何实现客户端和服务器间的通信
通过上述示例,展示了如何使用Python的Socket模块实现基本的客户端和服务器间的通信。Socket提供了一种简单且强大的方式来建立和管理网络连接,适用于各种网络编程应用。理解和掌握Socket编程,可以帮助开发者构建高效、稳定的网络应用程序。
131 10
|
5月前
|
存储 开发工具 git
[Git] 深入理解 Git 的客户端与服务器角色
Git 的核心设计理念是分布式,每个仓库既可以是客户端也可以是服务器。通过 GitHub 远程仓库和本地仓库的协作,Git 实现了高效的版本管理和代码协作。GitHub 作为远程裸仓库,存储项目的完整版本历史并支持多客户端协作;本地仓库则通过 `.git` 文件夹独立管理版本历史,可在离线状态下进行提交、回滚等操作,并通过 `git pull` 和 `git push` 与远程仓库同步。这种分布式特性使得 Git 在代码协作中具备强大的灵活性和可靠性。
120 18
[Git] 深入理解 Git 的客户端与服务器角色
|
4月前
|
存储 弹性计算 安全
阿里云服务器购买后设置密码、安全组、基础安全服务、挂载云盘等流程简介
对于初次选购阿里云服务器的用户来说,通过阿里云推出的各类活动买到心仪的云服务器仅仅是第一步。为了确保云服务器能够正常运行并承载您的应用,购买之后还需要给云服务器设置远程登录密码、设置安全组规则、设置基础安全、购买并挂载云盘等操作之后,我们才能使用并部署自己的应用到云服务器上。本文将详细介绍在阿里云的活动中购买云服务器后,您必须完成的几个关键步骤,助您快速上手并充分利用云服务器的强大功能。
|
6月前
|
存储 人工智能 自然语言处理
ChatMCP:基于 MCP 协议开发的 AI 聊天客户端,支持多语言和自动化安装 MCP 服务器
ChatMCP 是一款基于模型上下文协议(MCP)的 AI 聊天客户端,支持多语言和自动化安装。它能够与多种大型语言模型(LLM)如 OpenAI、Claude 和 OLLama 等进行交互,具备自动化安装 MCP 服务器、SSE 传输支持、自动选择服务器、聊天记录管理等功能。
1968 16
ChatMCP:基于 MCP 协议开发的 AI 聊天客户端,支持多语言和自动化安装 MCP 服务器
|
7月前
|
开发框架 .NET C#
在 ASP.NET Core 中创建 gRPC 客户端和服务器
本文介绍了如何使用 gRPC 框架搭建一个简单的“Hello World”示例。首先创建了一个名为 GrpcDemo 的解决方案,其中包含一个 gRPC 服务端项目 GrpcServer 和一个客户端项目 GrpcClient。服务端通过定义 `greeter.proto` 文件中的服务和消息类型,实现了一个简单的问候服务 `GreeterService`。客户端则通过 gRPC 客户端库连接到服务端并调用其 `SayHello` 方法,展示了 gRPC 在 C# 中的基本使用方法。
116 5
在 ASP.NET Core 中创建 gRPC 客户端和服务器
|
8月前
|
Python
Socket学习笔记(二):python通过socket实现客户端到服务器端的图片传输
使用Python的socket库实现客户端到服务器端的图片传输,包括客户端和服务器端的代码实现,以及传输结果的展示。
300 3
Socket学习笔记(二):python通过socket实现客户端到服务器端的图片传输
|
8月前
|
JSON 数据格式 Python
Socket学习笔记(一):python通过socket实现客户端到服务器端的文件传输
本文介绍了如何使用Python的socket模块实现客户端到服务器端的文件传输,包括客户端发送文件信息和内容,服务器端接收并保存文件的完整过程。
388 1
Socket学习笔记(一):python通过socket实现客户端到服务器端的文件传输
|
7月前
|
存储 Linux
服务器数据恢复——使用fsck后Ext4文件系统挂载不上的数据恢复案例
关于Ext4文件系统的几个概念: 块组:Ext4文件系统的全部空间被划分为若干个块组,每个块组结构基本上相同。 块组描述符表:每个块组都对应一个块组描述符,这些块组描述符统一放在文件系统的前部,称为块组描述符表。每个块组描述符大小为32字节,主要描述块位图、i-节点位图及i-节点表的地址等信息。 超级块(Superblock):用于存储文件系统的配置参数(块大小、总块数、i-节点数等)和动态信息(当前空闲块数和i-节点数)。Ext4文件系统的超级块始于1024字节处,即2号扇区。 i节点:描述文件的时间、大小、块指针等信息。
|
7月前
|
存储 Oracle 关系型数据库
服务器数据恢复—光纤存储映射的卷挂载不上的数据恢复案例
服务器存储数据恢复环境: 某品牌光纤存储上共有16块FC硬盘。存储上的卷映射到Linux操作系统上。Linux操作系统上运行Oracle数据库。 服务器存储故障&检测: 存储上2块硬盘故障灯亮起,存储映射到linux操作系统上的卷挂载不上,业务中断。

热门文章

最新文章