samba
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
samba
[RHEL5 企业级Linux 服务攻略]--第2 季Samba 服务全攻略
1 Samba 原理
1.1 Samba 概述
接触Linux 我们听的最多的就是Samba 服务,为什么Samba 应用这么广泛哈~,原因是Samba 最先在Linux 和Windows 两个平台之间架起了一座桥梁哈,正是由于Samba 的出现,我们可以在Linux 系统和Windows 系统之间互相通信,比如拷贝文件、实现不同操作系统之间的资源共享等等,我们可以将其架设成一个功能非常强大的文件服务器,也可以将其架设成打印服务器提供本地和远程联机打印,甚至我们可以使用samba Server 完全取代NT/2K/2K3 中的域控制器,做域管理工作,使用也非常方便滴哈~既然samba 这样滴强大哈,我们还不赶快来把玩一下哈~~~
1.2 Samba 应用环境
文件和打印机共享:文件和打印机共享是Samba 的主要功能,SMB 进程实现资源共享,将文件和打印机发布到网络之中,以供用户可以访问哈。
身份验证和权限设置:smbd 服务支持user mode 和domain mode 等身份验证和权限设置模式,通过加密方式可以保护共享的文件和打印机。
名称解析:Samba 通过nmbd 服务可以搭建NBNS(NetBIOS Name Service)服务器,提供名称解析,第90 页共553 页michael 敬请访问王乾De 技术Blog[爱生活,爱学习]/doc/181593609.html,,不定时更新哈~~~ 将计算机的NetBIOS 名解析为IP 地址。
浏览服务:局域网中,Samba 服务器可以成为本地主浏览服务器(LMB),保存可用资源列表,当使用客户端访问Windows 网上邻居时,会提供浏览列表,显示共享目录、打印机等资源。
1.3 Samba 工作原理
Samba 服务功能强大,这与其通信基于SMB 协议有关。
SMB 不仅提供目录和打印机共享,还支持认证、权限设置。
在早期哈,SMB 运行于NBT 协议(NetBIOS over TCP/IP)上,使用UDP 协议的137、138 及TCP 协议的139 端口,后期SMB 经过开发,可以直接运行于TCP/IP 协议上,没有额外的NBT 层,使用TCP 协议的445 端口。
(1)Samba 工作流程
当客户端访问服务器时,信息通过SMB 协议进行传输,其工作过程可以分成四个步骤哈:
步骤1:协议协商
客户端在访问Samba 服务器时,发送negprot 指令数据包,告知目标计算机其支持的SMB 类型。
Samba 服务器根据客户端的情况,选择最优的SMB 类型,并做出回应。
--------negprot 请求------->
客户端服务器
--------negprot 响应------->
步骤2:建立连接
当SMB 类型确认后,客户端会发送session setup 指令数据包,提交帐号和密码,请求与Samba 服务器建立连接,如果客户端通过身份验证,Samba 服务器会对session setup 报文作出回应,并为用户分配唯一的UID,在客户端与其通信时使用。
--------session setup &X 请求------->
客户端服务器
--------session setup &X 响应------->
步骤3:访问共享资源
客户端访问Samba 共享资源时,发送tree connect 指令数据包,通知服务器需要访问的共享资源名,如果设置允许,Samba 服务器会为每个客户端与共享资源连接分配TID,客户端即可访问需要的共享资源哈。
--------tree connect &X 请求------->
客户端服务器
--------tree connect &X 响应------->
步骤4:断开连接
共享使用完毕,客户端向服务器发送tree disconnect 报文关闭共享,与服务器断开连接。
--------tree disconnect 请求------->
客户端服务器
--------tree disconnect 响应------->
第91 页共553 页michael
敬请访问王乾De 技术Blog[爱生活,爱学习]/doc/181593609.html,,不定时更新哈~~~ (2)Samba 相关进程
Samba 服务是由两个进程组成,分别是nmbd 和smbd。
nmbd:其功能是进行NetBIOS 名解析,并提供浏览服务显示网络上的共享资源列表。
smbd:其主要功能就是用来管理Samba 服务器上的共享目录、打印机等,主要是针对网络上的共
享资源进行管理的服务。
当要访问服务器时,要查找共享文件,这时我们就要依靠smbd 这个进
程来管理数据传输哈~~~
2 安装Samba 服务
2.1 Samba 所需软件
在我们安装Samba 服务之前哈,我们先来了解一下其所需要的软件包以及它们的用途哈~
samba-3.0.25b-0.el5.4.i386.rpm:该包为Samba 服务的主程序包。
服务器必须安装该软件包,
后面的数字为版本号(我们安装时使用的是RHEL5.1DVD 版,如果是RHEL5.1CD 版则该软件包位
于第二张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 |grep samba
如果系统还没有安装Samba 软件包,我们可以使用rpm 命令安装所需软件包。
安装Samba 主程序包:rpm -ivh samba-3.0.25b-0.el5.4.i386.rpm
第92 页共553 页michael
敬请访问王乾De 技术Blog[爱生活,爱学习]/doc/181593609.html,,不定时更新哈~~~ 其他软件包的安装方法也一样哈~
安装Samba 客户端工具:rpm -ivh samba-client-3.0.25b-0.el5.4.i386.rpm
提示已经安装过了哈~
安装Samba 通用工具和库文件:rpm -ivh samba-common-3.0.25b-0.el5.4.i386.rpm
其实我们一开始rpm qa |grep samba 命令查询时已经发现客户端工具和通用工具及库文件已经
安装了哈,我们上面两步安装就可以不要执行了哈,偶主要是演示一下哈~
最后我们安装Samba 图形化管理工具:rpm -ivh samba-swat-3.0.25b-0.el5.4.i386.rpm
我们发现缺少xinetd,OK,那我们安装一下哈~:rpm -ivh xinetd-2.3.14-10.el5.i386.rpm
现在我们再来安装Samba 图形化管理工具:rpm -ivh samba-swat-3.0.25b-0.el5.4.i386.rpm
现在我们看到Samba 图形化管理工具安装成功了哈~
所有软件包安装完毕之后,我们可以使用rpm 命令进行查询哈:rpm -qa | grep samba
第93 页共553 页michael
敬请访问王乾De 技术Blog[爱生活,爱学习]/doc/181593609.html,,不定时更新哈~~~
3 Samba 常规服务器配置
在Samba 服务安装完毕之后,并不是直接可以使用Windows 或Linux 的客户端访问Samba 服务器哈,我们还必须对服务器进行设置,下面需要做的操作就是说我们要告诉Samba 服务器将哪些目录共享出来给客户端进行访问,并根据需要设置其他选项哈,比如添加对共享目录内容的简单描
述信息和访问权限等具体设置。
作为我们Linux 系统工程师了解及熟悉Samba 服务器的搭建流程是至关重要滴。
基本的Samba
服务器的搭建流程主要分为四个步骤:
[1]、编辑主配置文件smb.conf,指定需要共享的目录,并为共享目录设置共享权限。
[2]、在smb.conf 文件中指定日志文件名称和存放路径。
[3]、设置共享目录的本地系统权限。
[4]、重新加载配置文件或重新启动smb 服务,使用配置生效哈~
为了更好地理解设定流程中每一步的作用,下面通过一个图例进行讲解哈~
Samba 工作流程:
---------(1)---------> ----------(2)---------->smb.c
onf 主配置文件
[客户端] [Samba 服务器]
-------- (4)----------> ----------(3)---------->日志
文件
(1)客户端请求访问Samba 服务器上的Share 共享目录。
(2) Samba 服务器接收到请求后,会查询主配置文件smb.conf,看是否共享了Share 目录,如果
共享了这个目录则查看客户端是否有权限访问。
(3)Samba 服务器会将本次访问信息记录在日志文件之中,日志文件的名称和路径都是需要我们
设置。
(4)如果客户端满足访问权限设置,则允许客户端进行访问。
实际上,Samba 服务器和我们的图书馆有点相似之处哈,图书馆为读者共享了图书资源,而Samba 服务器共享了我们的文件数据哈。
图书馆会有图书分类,比如科普类、文学类等,并且图书馆会对借阅的图书做限制,拥有资格的
读者,才可以借阅相应的图书,当然读者访问图书馆时,图书管理员会对他们的浏览、借阅信息
进行记录。
第94 页共553 页michael
敬请访问王乾De 技术Blog[爱生活,爱学习]/doc/181593609.html,,不定时更新哈~~~ 对于 Samba 服务器来说,其主配置文件smb.conf 记录了共享的目录列表。
比如share 目录,temp 目录等。
对于每个共享目录,需要配置相应权限,服务器会根据smb.conf 文件中的设置,判断客户端是否有权限访问,只有拥有权限才可以访问服务器的资源。
Samba 服务器同样会对用户的
行为进行记录,每一次访问的信息都会记录在日志文件中,以便我们Linux 管理员查询哪些客户
端访问过Samba 服务器。
我们大致讲了Samba 工作流程后,下面我们将对Samba 具体配置过程中遇到的重要概念进行详细
讲解哈~~
3.1 主要配置文件smb.conf
我们先从最重要的配置文件开始哦,Samba 的配置文件一般就放在/etc/samba 目录中,主配置文
件名为smb.conf。
如果把Samba 服务器比喻成一个公共图书馆,那么/etc/samba 目录中,那么主配置文件/etc/samba/smb.conf 文件,就相当于这个图书馆的图书总目录,记录着大量的共享信息和规则,所以该文件是samba 服务非常重要的核心配置文件哈,几乎绝大部分的配置文件都在该文件中进行滴。
此外,在smb.conf 这个配置文档中本身就含有非常丰富的说明哈,所以在我们配置之前可以先看一下这样说明性的文字。
我们先看一下smb.conf 这个文件哈:vim /etc/samba/smb.conf
第95 页共553 页michael
敬请访问王乾De 技术Blog[爱生活,爱学习]/doc/181593609.html,,不定时更新哈~~~ smb.conf 配置文件有288 行内容,配置也相对比较复杂哈,不过我们不用担心,Samba 开发组按照功能不同,对smb.conf 文件进行了分段划分,条理非常地清楚哈。
下面我们来具体看下smb.conf 的内容哈,smb.conf 大致分为三个部分,我们来了解一下,其中我们经常要使用到的字段,我们将以实例解释,其他字段我们整理到字段汇总,有兴趣的可以去看下哈~~
1、samba 配置简介
smb.conf 文件的开头部分为samba 配置简介,告诉我们smb.conf 文件的作用及相关信息。
第96 页共553 页michael
敬请访问王乾De 技术Blog[爱生活,爱学
习]/doc/181593609.html,,不定时更新哈~~~ smb.conf 中以“#”开头的为注释,为用户提供相关的配置解释信息,方便用户参考,不用修改它哈。
smb.conf 中还有以“;”开头滴,这些都是samba 配置的格式范例,默认是不生效滴,可以通过去掉前面的“;”并加以修改来设置想使用的功能。
2、Global Settings
Global Settings 设置为全局变量区域。
那什么是全局变量哈?全局变量就是说我们只要在global 时进行设置,那么该设置项目就是针对所有共享资源生效滴。
这与以后我们学习的很多服务器配置文件相似哈。
该部分以[global]开始:
第97 页共553 页michael
敬请访问王乾De 技术Blog[爱生活,爱学习]/doc/181593609.html,,不定时更新哈~~~ smb.conf 配置通用格式,对相应功能进行设置:字段=设定值下面我们说下[global]常用字段及设置方法:
1)设置工作组或域名称
工作组是网络中地位平等的一组计算机,可以通过设置workgroup 字段来对samba 服务器所在工作组或域名进行设置。
我们设置samba 服务器的工作组为RHEL5
2)服务器描述
服务器描述实际上类似于备注信息哈,在一个工作组中,可能存在多台服务器,为了方便用户浏览,我们可以在server string 配置相应描述信息,这样用户就可以通过描述信息知道自己要登录哪台服务器了啊~
我们设置samba 描述信息为“RHEL5 File Server”。
第98 页共553 页michael
敬请访问王乾De 技术Blog[爱生活,爱学习]/doc/181593609.html,,不定时更新哈~~~
3)设置samba 服务器安全模式
samba 服务器有share、user、server、domain 和ads 五种安全模式,用来适应不同的企业服务器需求。
(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、Share Definitions 共享服务的定义
第99 页共553 页michael
敬请访问王乾De 技术Blog[爱生活,爱学习]/doc/181593609.html,,不定时更新哈~~~
Share Definitions 设置对象为共享目录和打印机,如果我们想发布共享资源,需要对Share Definitions 部分进行配置。
Share Definitions 字段非常丰富,设置灵活。
我们先来讲下几个最常用的字段哈~
1)设置共享名
共享资源发布后,必须为每个共享目录或打印机设置不同的共享名,给网络用户访问时使用,并
且共享名可以与原目录名不同。
共享名设置非常简单:[共享名]
我们来看个例子,Samba 服务器中有个目录为/share,需要发布该目录成为共享目录,定义共享
名为public
第100 页共553 页michael
敬请访问王乾De 技术Blog[爱生活,爱学习]/doc/181593609.html,,不定时更新哈~~~ 2)共享资源描述
网络中存在各种共享资源,为了方便用户识别,可以为其添加备注信息,以方便用户查看时知道
共享资源的内容是什么哈。
格式:comment = 备注信息
举个例子哈,samba 服务器上有个/sales 目录存放公司销售部的数据,为了对公司部门员工进行
区分,可以添加备注信息。
3)共享路径
共享资源的原始完整路径,可以使用path 字段进行发布,务必正确指定。
格式:path = 绝对地址路径
samba 服务器上/share/tools 目录存放常用工具软件,需要发布该目录为共享,我们可以这样做。
4)设置匿名访问
共享资源如果对匿名访问进行设置,可以更改public 字段。
格式:
public = yes #允许匿名访问
public = no #禁止匿名访问
第101 页共553 页michael
敬请访问王乾De 技术Blog[爱生活,爱学习]/doc/181593609.html,,不定时更新哈~~~ samba 服务器/share 共享目录允许匿名用户访问,可以这样设置。
5)设置访问用户
如果共享资源存在重要数据的话,需要对访问用户审核,我们可以使用valid users 字段进行设置哈~
格式:
valid users = 用户名
valid users = @组名
我们来看下面一个例子哈,samba 服务器/share/tech 目录存放了公司技术部数据,只允许技术部员工和经理访问,技术部组为tech,经理帐号为gm
6)设置目录只读
共享目录如果限制用户的读写操作,我们可以通过readonly 实现哈~
格式:
readonly = yes #只读
readonly = no #读写
samba 服务器公共目录/public 存放大量共享数据,为保证目录安全我们只允许读取,禁止写入哈~
7)设置目录可写
如果共享目录允许用户写操作,可以使用writable 或write list 两个字段进行设置哈~ writable 格式:
第102 页共553 页michael
敬请访问王乾De 技术Blog[爱生活,爱学习]/doc/181593609.html,,不定时更新哈~~~
writable = yes #读写
writable = no #只读
write list 格式:
write list = 用户名
write list = @组名
注意:
[homes]为特殊共享目录,表示用户主目录。
[printers]表示共享打印机。
3.2 Samba 服务日志文件
日志文件对于samba 非常滴重要哈,它存储着客户端访问samba 服务器的信息,以及samba 服务的错误提示信息等,可以通过分析日志,帮助解决客户端访问和服务器维护等问题。
在/etc/samba/smb.conf 文件中,log file 为设置samba 日志的字段。
第103 页共553 页michael
敬请访问王乾De 技术Blog[爱生活,爱学习]/doc/181593609.html,,不定时更新哈~~~ samba 服务的日志文件默认存放在/var/log/samba/中,其中samba 会为每个连接到samba 服务器的计算机分别建立日志文件。
我们启动smb 服务:/etc/rc.d/init.d/smb start
使用ls -a 命令可以查看日志的所有文件。
其中,当samba 服务器刚刚建立好后,只有两个文件,分别是nmbd.log 和smbd.log,它们分别记录nmbd 和smbd 进程的运行日志。
nmbd.log 记录nmbd 进程的解析信息。
smbd.log 记录用户访问samba 服务器的问题,以及服务器本身的错误信息,可以通过该文件获
得大部分的samba 维护信息。
当客户端通过网络访问samba 服务器后,会自动添加客户端的相关日志。
所以哈,我们Linux 管理员可以根据这些文件来查看用户的访问情况和服务器的运行情况。
另外
当samba 服务器工作异常时,也可以通过/var/log/samba/下的日志进行分析哈~
3.3 Samba 服务密码文件
samba 服务器发布共享资源后,客户端访问samba 服务器,需要提交用户名和密码进行身份验证,
验证合格后才可以登录。
samba 服务为了实现客户身份验证功能,将用户名和密码信息存放在
/etc/samba/smbpasswd 中,在客户端访问时,将用户提交资料与smbpasswd 存放的信息进行比
对,如果相同,并且samba 服务器其他安全设置允许,客户端与samba 服务器连接才能建立成功
哈~
第104 页共553 页michael
敬请访问王乾De 技术Blog[爱生活,爱学习]/doc/181593609.html,,不定时更新哈~~~ 那如何建立samba 帐号呢?偶在说之前先强调一点哈,samba 帐号并不能直接建立滴,需要先建
立Linux 同名的系统帐号。
比如如果我们要建立一个名为michael 的samba 帐号,那Linux 系统
中必须提前存在一个同名的michael 系统帐号。
samba 中添加帐号命令为smbpasswd,命令格式:
smbpasswd -a 用户名
我们来测试下,在samba 服务器中添加samba 帐号redking,我们建立samba 帐号之前必须先添
加相对应的系统帐号,使用useradd 命令建立帐号redking,然后执行passwd 命令为帐号redking
设置密码哈~最后我们添加redking 用户的samba 帐号,执行smbpasswd 添加帐号redking 到
samba 配置文件中。
OK,Samba 帐号添加完毕哈,如果我们在添加samba 帐号时输入完两次密码出错:Failed to modify password entry for user amy,就像下面这样
这是因为Linux 本地用户里没有amy 这个用户,我们在系统里面添加一下就OK 了哈~
第105 页共553 页michael
敬请访问王乾De 技术Blog[爱生活,爱学习]/doc/181593609.html,,不定时更新哈~~~ 呵,所以哈,务必要注意在建立samba 帐号之前,一定要先建立一个与samba 帐号同名的系统帐
号。
我们经过上面的设置,再次访问samba 共享文件时就可以使用redking 或amy 帐号访问了。
注意:解决/etc/samba 目录下没有smbpasswd 文件
原因:samba 启用了tdbsam 验证。
解决:smb.conf 文件中注释掉passdb backend = tdbsam 一行,加上smb passwd file =
/etc/samba/smbpasswd,然后保存退出。
第106 页共553 页michael
敬请访问王乾De 技术Blog[爱生活,爱学习]/doc/181593609.html,,不定时更新哈~~~ 这样再建立用户就产生了/etc/samba/smbpasswd 文件了。
使用cat 命令查看smbpasswd 文件滴内容哈~:cat /etc/samba/smbpasswd
3.4 Samba 的启动与停止
1)samba 服务的启动
service smb start 或 /etc/rc.d/init.d/smb start
第107 页共553 页michael
敬请访问王乾De 技术Blog[爱生活,爱学
习]/doc/181593609.html,,不定时更新哈~~~ 2)samba 服务的停止
service smb stop 或 /etc/rc.d/init.d/smb stop
3)samba 服务的重启
service smb restart 或 /etc/rc.d/init.d/smb restart
4)samba 服务配置重新加载
service smb reload 或 /etc/rc.d/init.d/smb reload
注意:Linux 服务中,当我们更改配置文件后,一定要记得重启服务哈,让服务重新加载配置文件,这样新的配置才可以生效哈~ 5)自动加载samba 服务
chkconfig
第108 页共553 页michael
敬请访问王乾De 技术Blog[爱生活,爱学习]/doc/181593609.html,,不定时更新哈~~~ 我们可以使用 chkconfig 命令自动加载smb 服务:
chkconfig --level 3 smb on #运行级别3 自动加载
chkconfig --level 3 smb off #运行级别3 不自动加载
ntsysv
我们还可以使用ntsysv 命令利用文本图形界面对smb 自动加载进行配置,如果要自动加载smb 可以在其前面选中“*”,否则取消掉就不自动加载了哈~
3.5 share 服务器实例及详解
ok,上面已经对samba 的相关性配置文件讲了个大概哈,现在我们通过实例来掌握一下samba 具体使用流程来搭建samba 服务器。
如果公司现在用一个工作组Workgroup 需要添加samba 服务器作为文件服务器哈,并发布共享目录/share,共享名为public,这个共享目录允许所有公司员工访问。
第109 页共553 页michael
敬请访问王乾De 技术Blog[爱生活,爱学习]/doc/181593609.html,,不定时更新哈~~~
我们分析下哈,这个案例属于samba 的基本配置,我们可以实用share 安全级别模式,既然允许所有员工访问,则需要为每个用户建立一个samba 帐号,那么如果公司拥有大量用户呢?1000 个用户,100000 个用户,一个个设置会非常滴麻烦哈,我们可以通过配置security = share 来让所有用户登录时采用匿名帐户nobody 访问,这样实现起来非常简单哈~~~
1)修改samba 主配置文件smb.conf
vim /etc/samba/smb.conf
(1).设置samba 服务器工作组名为Workgroup
(2).添加samba 服务器注释信息为"File Server"
(3).设置samba 安全级别为share 模式,允许用户匿名访问
#================= Global Settings =======================
[global]
# ----------------------- Netwrok Related Options -------------------------
#
# workgroup = NT-Domain-Name or Workgroup-Name, eg: MIDEARTH
#
# server string is the equivalent of the NT De.ion field
#
# netbios name can be used to specify a server name not tied to the hostname
#
# Interfaces lets you configure Samba to use multiple interfaces
# If you have multiple network interfaces then you can list the .es
# you want to listen . (never omit localhost)
# Hosts Allow/Hosts Deny lets you restrict who can connect, and you can
# specifiy it as a per share option as well
#
workgroup = Workgroup #设置samba 服务器工作组名为Workgroup
server string = File Server #添加samba 服务器注释信息为"File Server"
; netbios name = MYSERVER
; interfaces = lo eth0 192.168.12.2/24 192.168.13.2/24
; hosts allow = 127. 192.168.12. 192.168.13.
# --------------------------- Logging Options -----------------------------
#
# Log File let you specify where to put logs and how to split them up.
第110 页共553 页michael
敬请访问王乾De 技术Blog[爱生活,爱学习]/doc/181593609.html,,不定时更新哈~~~ # # Max Log Size let you specify the max size log files should reach
# logs split per machine
; log file = /var/log/samba/%m.log
# max 50KB per log file, then rotate
; max log size = 50
# ----------------------- Standalone Server Options ------------------------ #
# Scurity can be set to user, share(deprecated) or server(deprecated)
# Backend to store user information in. New installations should
# use either tdbsam or ldapsam. smbpasswd is available for backwards
# compatibility. tdbsam requires no further configuration.
security = share #设置samba 安全级别为share 模式,允许用户匿名访问
; passdb backend = tdbsam
smb passwd file = /etc/samba/smbpasswd
# ----------------------- Domain Members Options ------------------------
#
# Security must be set to domain or ads
#
# Use the realm option .ly with security = ads
# Specifies the Active Directory realm the host is part of
#
# Backend to store user information in. New installations should
# use either tdbsam or ldapsam. smbpasswd is available for backwards
# compatibility. tdbsam requires no further configuration.
#
(4).设置共享目录的共享名为public
(5).设置共享目录的绝对路径为/share
(6).最后我们设置允许匿名访问哈~
第111 页共553 页michael
敬请访问王乾De 技术Blog[爱生活,爱学习]/doc/181593609.html,,不定时更新哈~~~
设置完smb.conf 后保存退出哈~
2)重新加载配置
上面我们说过哈,Linux 为了使新配置生效,需要重新加载配置,可以使用restart 重新启动服务或者使用reload 重新加载配置哈~ 注意哈:
偶这里强调一下细节,重启samba 服务,虽然可以让配置生效,但是restart 是先关闭samba 服务,再开启服务哈,这样如果在公司网络运营中肯定会对客户端员工的访问造成影响,建议使用reload 命令重新加载配置文件使其生效,这样不需要中断服务就可以重新加载配置哈~ samba 服务器通过以上设置,现在用户就可以不需要输入帐号和密码就可以直接登录samba 服务器并访问public 共享目录哈~ 我们测试下,在/share 目录下建个文件试下:touch /share/test_sharemode_samba.tar
我们看下效果哈~
第112 页共553 页michael
敬请访问王乾De 技术Blog[爱生活,爱学习]/doc/181593609.html,,不定时更新哈~~~
3.6 user 服务器实例及详解
上面的案例我们讲了share 安全级别模式的samba 服务器哈,可以实现用户方便滴通过匿名方式访问,但是如果在我们samba 服务器上存在重要文件的目录,为了保证系统安全性及资料保密性哈,我们就必须对用户进行筛选,允许或禁止相应的用户访问指定滴目录哈,这里share 安全级别模式就不能满足我们这样的实际要求了。
实现用户身份验证的方法很多,我们可以将安全级别模式配置为user、server、domain 和ads,但是最常用的还是user 安全级别模式哈,下面偶就来看下user 这个安全级别模式的配置哈~ 如果公司有多个部门,因工作需要,我们就会分门别类的建立相应部门的目录,并将销售部的资料存放在samba 服务器的/companydata/sales/目录下,集中管理,以便销售人员浏览,并且该目录只允许销售部员工访问。
我们分析下,在/companydata/sales/目录中存放有销售部的重
要数据,为了保证其他部门无法查看其内容,我们需要将全局配置中security 设置为user 安全级别,这样就启用了samba 服务器的身份验证机制,然后在共享目录/companydata/sales 下设置valid users 字段,配置只允许销售部员工能够访问这个共享目录。
1)添加销售部用户和组并添加相应samba 帐号
使用groupadd 命令添加sales 组,然后执行useradd 命令和passwd 命令添加销售部员工的帐号及密码哈~
第113 页共553 页michael
敬请访问王乾De 技术Blog[爱生活,爱学习]/doc/181593609.html,,不定时更新哈~~~ 接下来为销售部成员添加相应samba 帐号
2)修改samba 主配置文件smb.conf
(1).设置user 安全级别模式
第114 页共553 页michael
敬请访问王乾De 技术Blog[爱生活,爱学习]/doc/181593609.html,,不定时更新哈~~~ (2).设置销售部共享目录为sales
(3).指定共享目录为绝对路径为/companydata/sales
(4).设置可以访问的用户为sales 组成员
第115 页共553 页michael
敬请访问王乾De 技术Blog[爱生活,爱学习]/doc/181593609.html,,不定时更新哈~~~ 3)重新加载配置
上个案例讲过了哈,要让修改后的Linux 配置文件生效,我们就要重新加载配置。
#service smb reload
现在我们测试下
输入销售部的帐号及密码进行登录
第116 页共553 页michael
敬请访问王乾De 技术Blog[爱生活,爱学。