RHEL 5服务篇—部署Samba文件共享服务

简介:

部署Samba文件共享服务

        在windows网络环境中,主机之间进行文件和打印共享是通过微软公司自己的SMB/CIFS网络协议实现的。SMB和CIFS协议是微软的私有协议,在Samba项目出现之前,并不能直接与Linux/UNIX系统进行通信。Samba协议它在Linux/UNIX系统中实现了微软的SMB/CIFS网络协议,从而使跨平台的文件共享变得更加容易了。

1、Samba软件包的构成

samba-3.0.33-3.25.el5 :服务端软件包。

samba-client-3.0.33-3.25.el5 :客服端软件包。

samba-common-3.0.33-3.25.el5 :提供服务端和客服端程序的公共组件。

samba-swat-3.0.33-3.25.el5  :提供WEB接口的图形管理程序。

安装samba可以使用rpm命令安装,samba软件包在系统光盘的server目录下面。

[root@localhost /]rpm -ivh /media/Server/samba-3.0.33-3.25.el5

2、Samba服务的程序组件

Samba服务器提供smbd和nmbd两个服务程序,功能如下:

smbd :负责为客户机提供服务器中共享资源的访问,监听TCP协议的139端口。

nmbd :负责提供基于NetBIOS协议的主机名称解析,监听UDP协议的137-138端口。

samba的启动程序位于“/etc/rc.d/init.d/smb”,也可以使用“service smb start”命令来启动。

3、smb的主配置文件

smb的主配置文件位于“/etc/samba/smb.conf”,其中默认分为三个部分分别为全局设置、宿主目录共享设置和打印机共享设置。

110358362.jpg

常见全局配置项的含义如下:

111054169.jpg

常见共享目录的配置项含义如下:

111014746.jpg

4、构建可匿名访问的共享目录

设置匿名共享文件夹时,在主配置文件smb.conf中主要调整两个地方即可:其一、将默认的安全级别修改为share;其二、添加一段共享目录配置。如下:创建一个file的共享目录。

[root@localhost /]vim /etc/samba/smb.conf

[global]

       workgroup=WORKGROUP

       security=share    --更改默认的安全级别。

.......//省略部分内容

[file]

       comment=Shared Directory

       path=/var/file       --指定共享的目录

       public=yes           --是否允许所有人访问

       read only=yes      --只读权限、writable是写入权限,用户的最终权限取决于本地权限加共享权限。

开启samba服务就可以在客户端输入UNC路径访问了。

[root@localhost /]service smb start

5、构建用户验证的共享目录

设置用户验证共享文件夹时,在主配置文件smb.conf中也要调整两个地方,其一、将默认的安全级别修改为user;其二、添加共享目录配置,指定用户权限。在此之前,还需要创建授权的共享账户。

Samba服务器使用独立的共享账号数据库文件,其中的账号名称必须与它同名的系统用户相对应,以便主机对共享访问的读写权限进行控制;但共享用户的密码是额外设置的,可以与系统用户密码不一样。Samba共享用户的账号数据库默认位于“/etc/samba/passdb.tab”。使用pdbedit命令进行管理。如下:创建共享用户

114630803.jpg

pdbedit命令中-a:添加用户,-u:指定用户名,-L:查看共享用户,-x:删除共享用户。

修改smb.conf配置文件,添加名为tools的共享目录配置段。

[root@localhost /]vim /etc/samba/smb.conf

[global]

       security=user

       host allow=192.168.1 192.168.10      --只允许192.168.1.0和192.168.10.0网段访问,host deny=表示拒接指定的网段访问。

.......//省略部分内容

[tools]

       comment=You can get software tools from here

       path=/opt/mytools

       public=no

       read only=no

       valid users=user       --指定访问的用户

       write list=user            --指定写入权限的用户

重新加载smb.conf文件中的配置,在客户端输入正确的用户名和密码就可以访问了。

[root@localhost /]service smb reload

6、共享账户映射(别名)

在使用Samba共享账户时,通常情况下,一个共享用户账户对应一个系统用户,为了安全起见,我们可以将一个用户映射为多个不同名称(别名)。

Samba共享的映射文件默认位于“/etc/samba/smbusers”,文件中的配置记录使用“共享用户名=别名1 别名2 别名3 ...”。

如下:给suer用户添加两个别名test和users。

[root@localhost /]vim /etc/samba/smdusers

......//省略部分内容

user=test users

修改好共享用户别名记录以后,还需要修改主配置文件“/etc/samba/smb.conf”

[root@localhost /]vim /etc/samba/smb.conf

[global]

       username map=/etc/samba/smbusers

......//省略部分内容

重新加载smb.conf文件中的配置,在客户端输入别名和密码就可以访问了。

[root@localhost /]service smb restart

7、Linux客户端使用smbclient命令访问共享资源

使用smbclient命令加上“-L选项,并指定目标主机的ip或主机名,就可以查询指定主机中的共享资源了。

[root@localhost /]smbclient -L 192.168.10.1

使用smbclient命令访问共享资源时,需要指定共享的目录,根据提示输入用户名和密码即可。

[root@localhost /]smbclient //192.168.10.1/tools

我们还可以使用mount命令挂载指定的共享目录,注意:mount命令不能挂载匿名的共享目录。



本文转自yun5277 51CTO博客,原文链接:http://blog.51cto.com/dengqi/1201642,如需转载请自行联系原作者

相关文章
|
SQL 分布式计算 Ubuntu
【Hive】Hive开启远程连接及访问方法
【Hive】Hive开启远程连接及访问方法
4043 0
|
索引
SAP ABAP——内表(八)【修改内表数据】
本文主要介绍一下SAP ABAP中内表的增删查改语句中的修改内表数据的相关语句,包括利用关键字修改数据,利用索引修改数据,利用WHERE语句修改数据
1137 3
SAP ABAP——内表(八)【修改内表数据】
|
JSON JavaScript 前端开发
好好编程-物流项目21【订单管理-新增订单】
好好编程-物流项目21【订单管理-新增订单】
好好编程-物流项目21【订单管理-新增订单】
|
6天前
|
弹性计算 关系型数据库 微服务
基于 Docker 与 Kubernetes(K3s)的微服务:阿里云生产环境扩容实践
在微服务架构中,如何实现“稳定扩容”与“成本可控”是企业面临的核心挑战。本文结合 Python FastAPI 微服务实战,详解如何基于阿里云基础设施,利用 Docker 封装服务、K3s 实现容器编排,构建生产级微服务架构。内容涵盖容器构建、集群部署、自动扩缩容、可观测性等关键环节,适配阿里云资源特性与服务生态,助力企业打造低成本、高可靠、易扩展的微服务解决方案。
1151 3
|
5天前
|
机器学习/深度学习 人工智能 前端开发
通义DeepResearch全面开源!同步分享可落地的高阶Agent构建方法论
通义研究团队开源发布通义 DeepResearch —— 首个在性能上可与 OpenAI DeepResearch 相媲美、并在多项权威基准测试中取得领先表现的全开源 Web Agent。
758 11
|
15天前
|
人工智能 运维 安全
|
4天前
|
机器学习/深度学习 物联网
Wan2.2再次开源数字人:Animate-14B!一键实现电影角色替换和动作驱动
今天,通义万相的视频生成模型又又又开源了!Wan2.2系列模型家族新增数字人成员Wan2.2-Animate-14B。
362 10
|
6天前
|
弹性计算 Kubernetes jenkins
如何在 ECS/EKS 集群中有效使用 Jenkins
本文探讨了如何将 Jenkins 与 AWS ECS 和 EKS 集群集成,以构建高效、灵活且具备自动扩缩容能力的 CI/CD 流水线,提升软件交付效率并优化资源成本。
326 0
|
13天前
|
人工智能 异构计算
敬请锁定《C位面对面》,洞察通用计算如何在AI时代持续赋能企业创新,助力业务发展!
敬请锁定《C位面对面》,洞察通用计算如何在AI时代持续赋能企业创新,助力业务发展!