当前位置: 首页 > news >正文

samba服务的安装与配置

2 安装Samba服务
2.1Samba所需软件
samba-3.0.25b-0.el5.4.i386.rpm:该包为Samba服务的主程序包。服务器必须安装该软件包,后面的数字为版本号(我们安装时使用的是RHEL5.1DVD版,如果是RHEL5.1C
D版则该软件包位于第二张RHEL5安装光盘上)。
samba-client-3.0.25b-0.el5.4.i386.rpm:该包为Samba的客户端工具,是连接服务器和连接网上邻居的客户端工具并包含其测试工具(该软件包位于第一张RHEL5安装光盘)
samba-common-3.0.25b-0.el5.4.i386.rpm:该包存放的是通用的工具和库文件,无论是服务器还是客户端都需要安装该软件包(这个软件包也位于第一张RHEL5安装光盘)
samba-swat-3.0.25b-0.el5.4.i386.rpm:当安装了这个包以后,就可以通过浏览器(比如IE等)来对Samba服务器进行图形化管理(这个软件包位于第三张RHEL5安装光盘)
2.2 Samba的安装
建议在安装Samba服务之前,使用rpm-qa命令检测系统是否安装了Samba相关性软件包:
rpm-qa|grepsamba
[root@rusky2~]#rpm-qa|grepsamba
samba-common-3.0.23c-2
samba-client-3.0.23c-2
samba-swat-3.0.23c-2
samba-3.0.23c-2
-------安装过程---------------------------------
rpm-ivh samba-3.0.25b-0.el5.4.i386.rpm
rpm-ivh samba-client-3.0.25b-0.el5.4.i386.rpm
rpm-ivh samba-common-3.0.25b-0.el5.4.i386.rpm
rpm-ivh xinetd-2.3.14-10.el5.i386.rp-----所缺少的包
rpm-ivh samba-swat-3.0.25b-0.el5.4.i386.rpm
--------------------------------------------------
3 Samba常规服务器配置
在Samba服务安装完毕之后,并不是直接可以使用Windows或Linux的客户端访问Samba服务器,我们还必须对服务器进行设置,下面需要做的操作就是说我们要告诉Samba服务器将哪些目录共享出来给客户端进行访问,并根据需要设置其他选项,比如添加对共享目录内容的简单描述信息和访问权限等具体设置。
基本的Samba服务器的搭建流程主要分为四个步骤:
[1] 编辑主配置文件smb.conf,指定需要共享的目录,并为共享目录设置共享权限。
[2] 在smb.conf文件中指定日志文件名称和存放路径。
[3] 设置共享目录的本地系统权限。
[4] 重新加载配置文件或重新启动smb服务,使用配置生效。
[3] 设置共享目录的本地系统权限。
[4] 重新加载配置文件或重新启动smb服务,使用配置生效~
为了更好地理解设定流程中每一步的作用,下面通过一个图例进行讲解
Samba工作流程:
       ---------(1)--------->----------(2)---------->smb.conf主配置
[客户端]                                                                      [Samba服务器]
       --------(4)---------->----------(3)---------->日志文件
(1)客户端请求访问Samba服务器上的Share共享目录。
(2)Samba服务器接收到请求后,会查询主配置文件smb.conf,看是否共享了Share目录,如果共享了这个目录则查看客户端是否有权限访问。
(3)Samba服务器会将本次访问信息记录在日志文件之中,日志文件的名称和路径都是需要我们设置。
(4)如果客户端满足访问权限设置,则允许客户端进行访问。
实际上,Samba服务器和我们的图书馆有点相似之处,图书馆为读者共享了图书资源,而Samba服务器共享了我们的文件数据。图书馆会有图书分类,比如科普类、文学类等,并且图书馆会对借阅的图书做限制,拥有资格的读者,才可以借阅相应的图书,当然读者访问图书馆时,图书管理员会对他们的浏览、借阅信息进行记录。
对于Samba服务器来说,其主配置文件smb.conf记录了共享的目录列表。比如share目录,temp目录等。对于每个共享目录,需要配置相应权限,服务器会根据smb.conf文件中的设置,判断客户端是否有权限访问,只有拥有权限才可以访问服务器的资源。Samba服务器同样会对用户的行为进行记录,每一次访问的信息都会记录在日志文件中,以便我们Linux管理员查询哪些客户端访问过Samba服务器。
3.1主要配置文件smb.conf
Samba的配置文件一般就放在/etc/samba目录中,主配置文件名为smb.conf。如果把Samba服务器比喻成一个公共图书馆,那么主配置文件/etc/samba/smb.conf,就相当于这个图书馆的图书总目录,记录着大量的共享信息和规则,所以该文件是samba服务非常重要的核心配置文件,几乎绝大部分的配置文件都在该文件中进行。此外,在smb.conf这个配置文档中本身就含有非常丰富的说明,所以在我们配置之前可以先看一下这样说明性的文字。
我们先看一下smb.conf这个文件:cat/etc/samba/smb.conf
[root@rusky2~]#cat/etc/samba/smb.conf
#This is the main Samba configuration file.You should read the
#smb.conf(5) manual page in order to understand the options listed
#here.Samba has a huge number of configurable options(perhaps too
#many!)mostof which are not shown in this example
#
#For a step to step guide on installing,configuring and using samba,
#read the Samba-HOWTO-Collection.This maybe obtained from:
#http://www.samba.org/samba/docs/Samba-HOWTO-Collection.pdf
#
#Many working examples of smb.conffiles canbe found in the
#Samba-Guide which is generated daily and canbe downloaded from:
#http://www.samba.org/samba/docs/Samba-Guide.pdf
#
#Anylinewhichstartswitha;(semi-colon)ora#(hash)
#is a comment and isignored.Inthisexamplewewillusea#
#for commentry and a;for partsoftheconfigfilethatyou
#maywishtoenable
#
#NOTE:Wheneveryoumodifythisfileyoushouldrunthecommand"testparm"
#tocheckthatyouhavenotmadeanybasicsyntacticerrors.
#
#=======================GlobalSettings=====================================
[global]

#workgroup=NT-Domain-NameorWorkgroup-Name,eg:MIDEARTH
workgroup=MYGROUP

#serverstringistheequivalentoftheNTDescriptionfield
serverstring=SambaServer
usernamemap=/etc/samba/smbusers
#Securitymode.DefinesinwhichmodeSambawilloperate.Possible
#valuesareshare,user,server,domainandads.Mostpeoplewillwant
#userlevelsecurity.SeetheSamba-HOWTO-Collectionfordetails.
security=user
……
;hostsallow=192.168.1.192.168.2.127.
#Ifyouwanttoautomaticallyloadyourprinterlistrather
#thansettingthemupindividuallythenyou'llneedthis
loadprinters=yes
#youmaywishtooverridethelocationoftheprintcapfile
;printcapname=/etc/printcap
#onSystemVsystemsettingprintcapnametolpstatshouldallow
#youtoautomaticallyobtainaprinterlistfromtheSystemVspool
#system
;print cap name=lpstat
#It should not be necessary to specify the print system type unless
#it is non-standard.Currently supported print systems include:
#bsd,cups,sysv,plp,lprng,aix,hpux,qnx
;printing=cups
……
smb.conf中以“#”开头的为注释,为用户提供相关的配置解释信息,方便用户参考,不用修改。以“;”开头,这些都是samba配置的格式范例,默认不生效,可以通过去掉前面的“;”并加以修改来设置想使用的功能。
3.2 GlobalSettings
GlobalSettings设置为全局变量区域。全局变量就是说我们只要在global时进行设置,那么该设置项目就是针对所有共享资源生效。
该部分以[global]开始:
smb.conff配置通用格式,对相应功能进行设置:字段=设定值
下[global]常用字段及设置方法:
1)设置工作组或域名称
工作组是网络中地位平等的一组计算机,可以通过设置workgroup字段来对samba服务器所在工作组或域名进行设置。
我们设置samba服务器的工作组为RHEL5
#=======================GlobalSettings=====================================
[global]

#workgroup=NT-Domain-Name or Workgroup-Name,eg:MIDEARTH
workgroup=RHEL5
-------------------------------------------
2)服务器描述
服务器描述实际上类似于备注信息,在一个工作组中,可能存在多台服务器,为了方便用户浏
览,我们可以在serverstring配置相应描述信息,这样用户就可以通过描述信息知道自己要登
录哪台服务器了。
我们设置samba描述信息为“RHEL5FileServer”。
#server string is the equivalent of the NT Description field
serverstring=RHEL5FileServer
username map=/etc/samba/smbusers
3)设置samba服务器安全模式
samba服务器有share、user、server、domain和ads五种安全模式,用来适应不同的企
业服务器需求。
#Securitymode.Defines in which mode Samba will operate.Possible
#valuesareshare,user,server,domain and ads.Most people will want
#user level security.See the Samba-HOWTO-Collection fordetails.
security=user
(1)share安全级别模式
客户端登录samba服务器,不需要输入用户名和密码就可以浏览samba服务器的资源,适用于公共的共享资源,安全性差,需要配合其他权限设置,保证samba服务器的安全性。
(2)user安全级别模式
客户端登录samba服务器,需要提交合法帐号和密码,经过服务器验证才可以访问共享资源,服务器默认为此级别模式。
(3)server安全级别模式
客户端需要将用户名和密码,提交到指定的一台samba服务器上进行验证,如果验证出现错误,客户端会用user级别访问。
(4)domain安全级别模式
如果samba服务器加入windows域环境中,验证工作服将由windows域控制器负责,domain级别的samba服务器只是成为域的成员客户端,并不具备服务器的特性,samba早期的版本就是使用此级别登录windows域。
(5)ads安全级别模式
当samba服务器使用ads安全级别加入到windows域环境中,其就具备了domain安全级别模式中所有的功能并可以具备域控制器的功能。
3.3 ShareDefinitions共享服务的定义
ShareDefinitions设置对象为共享目录和打印机,如果我们想发布共享资源,需要对ShareDefinitions部分进行配置。ShareDefinitions字段非常丰富,设置灵活。
#============================ShareDefinitions==============================
[homes]
comment=HomeDirectories
browseable=no
writable=yes
#Un-comment the following and create the net logon directoryfor Domain Logons
;[netlogon]
;comment=Net work Logon Service
;path=/usr/local/samba/lib/netlogon
;guestok=yes
;writable=no
;sharemodes=no
#Un-comment the following to provide a specific roving profile share
#the default is to use the user's home directory
;[Profiles]
;path=/usr/local/samba/profiles
;browseable=no
;guestok=yes

1)设置共享名
共享资源发布后,必须为每个共享目录或打印机设置不同的共享名,给网络用户访问时使用,并且共享名可以与原目录名不同。
共享名设置非常简单:[共享名]
我们来看个例子,Samba服务器中有个目录为/share,需要发布该目录成为共享目录,定义共享名为public
#Apublicly accessible directory,but readonly,exceptfor peoplein
#the "staff" group
[public]
comment=share
path=/share
public=yes
2)共享资源描述
网络中存在各种共享资源,为了方便用户识别,可以为其添加备注信息,以方便用户查看时知道
共享资源的内容是什么。
格式:comment=备注信息
举个例子,samba服务器上有个/sales目录存放公司销售部的数据,为了对公司部门员工进行区分,可以添加备注信息。
[sales]
comment=Share Directory of sales
path=/sales
validusers=@sales
3)共享路径
共享资源的原始完整路径,可以使用path字段进行发布,务必正确指定。
格式:path=绝对地址路径
samba服务器上/share/tools目录存放常用工具软件,需要发布该目录为共享,我们可以这样做。
[tools]
comment=tools
path=/share/tools
public=yes
4)设置匿名访问
共享资源如果对匿名访问进行设置,可以更改public字段。
格式:
public=yes#允许匿名访问
public=no#禁止匿名访问
samba服务器/share共享目录允许匿名用户访问,可以这样设置。
#Apublicly accessible directory,but readonly,except for people in
#the"staff"group
[public]
comment=share
path=/share
public=yes#允许匿名用户访问
5)设置访问用户
如果共享资源存在重要数据的话,需要对访问用户审核,我们可以使用validusers字段进行设置
格式:
validusers=用户名
validusers=@组名
我们来看下面一个例子,samba服务器/share/tech目录存放了公司技术部数据,只允许技术部员工和经理访问,技术部组为tech,经理帐号为gm
[tech]
comment=tech
path=/share/tech
validusers=@tech
6)设置目录只读
共享目录如果限制用户的读写操作,我们可以通过readonly来实现
格式:
readonly=yes#只读
readonly=no#读写
#A publicly accessible directory,but readonly,except for people in
#the"staff"group
[public]
comment=Public Stuff
path=/share
public=yes
readonly=yes
7)设置目录可写
如果共享目录允许用户写操作,可以使用writable或writelist两个字段进行设置
writable格式:
writable=yes#读写
writable=no#只读
writlist格式:
writlist=用户名
writlist=@组名
#============================ShareDefinitions==============================
[homes]
comment=Home Directories
browseable=no
writable=yes
#NOTE:If you have a BSD-style print system there is no need to
#specifically definee a chin dividual printer
[printers]
comment=All Printers
path=/usr/spool/samba
writable=no
注意:
[homes]为特殊共享目录,表示用户主目录。
[printers]表示共享打印机。

转载于:https://www.cnblogs.com/rusking/articles/3847572.html

相关文章:

  • 关于sqlmap的一些命令
  • Nothing2
  • Download Images Using NSURLConnection
  • 维基百科上—数据仓库、数据挖掘、OLAP三者之间的区别
  • 【翻译笔记】在大集合中用MapReduce处理成对文档相似性
  • SCOI2013 多项式的运算 (BZOJ 3323)
  • iframe的使用小贴士
  • [转]操作复杂对象结构——访问者模式
  • 使用JDK开发Servlet程序
  • 程序员,你需要大量地阅读
  • map我觉得非水题-hdu-4329
  • php一些不是很常用的操作mysql的函数
  • 安沃广告问题
  • vSphere 6.0 新功能介绍 系列 前言
  • PF_RING 总结
  • JavaScript 如何正确处理 Unicode 编码问题!
  • [译]前端离线指南(上)
  • bearychat的java client
  • ES学习笔记(12)--Symbol
  • javascript数组去重/查找/插入/删除
  • Linux gpio口使用方法
  • log4j2输出到kafka
  • mysql 5.6 原生Online DDL解析
  • React-生命周期杂记
  • Sublime text 3 3103 注册码
  • SwizzleMethod 黑魔法
  • win10下安装mysql5.7
  • 百度贴吧爬虫node+vue baidu_tieba_crawler
  • 闭包--闭包作用之保存(一)
  • 搭建gitbook 和 访问权限认证
  • 干货 | 以太坊Mist负责人教你建立无服务器应用
  • 跨域
  • 理解在java “”i=i++;”所发生的事情
  • 前端js -- this指向总结。
  • 深入体验bash on windows,在windows上搭建原生的linux开发环境,酷!
  • 数据结构java版之冒泡排序及优化
  • 腾讯优测优分享 | 你是否体验过Android手机插入耳机后仍外放的尴尬?
  • 线上 python http server profile 实践
  • 小程序01:wepy框架整合iview webapp UI
  • 新版博客前端前瞻
  • AI又要和人类“对打”,Deepmind宣布《星战Ⅱ》即将开始 ...
  • 湖北分布式智能数据采集方法有哪些?
  • ​草莓熊python turtle绘图代码(玫瑰花版)附源代码
  • ​什么是bug?bug的源头在哪里?
  • !!【OpenCV学习】计算两幅图像的重叠区域
  • # 安徽锐锋科技IDMS系统简介
  • #if #elif #endif
  • #数学建模# 线性规划问题的Matlab求解
  • (1/2)敏捷实践指南 Agile Practice Guide ([美] Project Management institute 著)
  • (3)选择元素——(14)接触DOM元素(Accessing DOM elements)
  • (4)(4.6) Triducer
  • (二)JAVA使用POI操作excel
  • (学习日记)2024.03.12:UCOSIII第十四节:时基列表
  • (转)VC++中ondraw在什么时候调用的
  • *(长期更新)软考网络工程师学习笔记——Section 22 无线局域网