




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、Samba 配置1.0【安装samba RPM包】安装samba 软件包(RHEL 6.4 X86_64)rootlocalhost # yum install samba-*rootlocalhost # yum install cifs-*软件包说明:samba:这个套件主要包含了 SAMBA 的主要 daemon 文件 ( smbd 及 nmbd )、 SAMBA 的文档 ( document )、以及其它与 SAMBA 相关的 logrotate(日志) 设定文件及开机预设选项文件等; samba-common:这个套件则主要提供了 SAMBA 的主要配置文件 (smb.conf) 、
2、 smb.conf 语法检验的测试程序 ( testparm )等等; samba-client:这个套件则提供了当 Linux 做为 SAMBA Client 端时,所需要的工具指令,例如挂载 SAMBA 文件格式的可执行文件 smbmount 等等2.0【samba介绍】2.1 NetBIOS 通讯协议 事实上,就像 NFS 是架构在 RPC Server 上面一样, SAMBA 这个文件系统是架构在 NetBIOS ( Network Basic Input/output System, NetBIOS )这个通讯协议上面所开发出来的。既然如此,我们当然就要了解一下 NetBIOS !最
3、早 IBM 发展出 NetBIOS 的目的仅是要让局域网络内少数计算机进行网络连结的一个通讯协议而已,所以考虑的角度并不是针对大型网络,因此,这个 NetBIOS 是无法跨路由的 (Router/Gateway)。这个 NetBIOS 在局域网络内 ( Local Area Network, LAN ) 实在是很好用,所以微软的网络架构就使用了这个来进行连接!而 SAMBA 最早发展的时候,其实是想要让 Linux 系统可以加入 Windows 的系统当中来分享使用彼此的文件数据的,所以当然 SAMBA 就架构在 NetBIOS 发展出来的。 不过,如果单纯的使用 NetBIOS 而已,偏偏
4、NetBIOS 是无法跨路由的,那么该服务器的使用范围不就受限相当的多了?好在,我们还有所谓的 NetBIOS over TCP/IP 的技术呢!这是什么样的技术?!举个例子来说好了,我们知道 TCP/IP 是目前网络连接的基本协议,现在,我们将 NetBIOS 想成是一封明信片,这个明信片只能让您自己欣赏而已,如果今天我们要将这个明信片送到远方的朋友那边时,呵呵!就需要透过邮件系统 ( 例如邮局、国际快递等等的 ) 来传送了!这个 TCP/IP 就可以视为邮件传递系统啦!透过这个 NetBIOS over TCP/IP 的技术,我们就可以跨路由的使用 SAMBA 服务器所提供的功能!当然,目
5、前 SAMBA 还是比较广泛的使用在 LAN 里面。 注:或许您会发现在 Windows 网络设定里面常常看到 NetBEUI 这个咚咚,那是什么呢?事实上,那个是 NetBIOS Extened User Interface 的简写,也是 IBM 在 NetBIOS 发展出来之后的改良版本。虽然这两者的技术不太相同,不过,我们只要知道一些简单的概念就可以了!所以,在这里我们不针对 NetBEUI 来介绍。 2.2 SAMBA 使用的 daemons 知道了 SAMBA 的主要目的是让 Linux 主机加入 Windows 的网络系统当中来分享使用彼此的数据,而 Windows 使用的是 Ne
6、tBIOS 这个通讯协议,所以说,SAMBA 主要是使用 NetBIOS over TCP/IP 的技术。好了,我们再来谈一谈,那么 SAMBA 在 Linux 操作系统上面工作时,需要启用什么服务呢 ( daemons )?让我们先以 Windows 的网上邻居来做简单的说明: 当我们想要登入某部 Windows 主机使用他所提供的文件数据时,必需要加入该 Windows 主机的群组 ( Workgroup ),并且我们的机器也必需要设定一个主机名称,注意,这个主机名称跟 Hostname 是不一样的,因为这个主机名称是架构在 NetBIOS 协议上的,我们可以简单的称呼他为 NetBIOS
7、 Name 好了。在同一个群组当中,NetBIOS Name 必需要是独一无二的! 好了,等到我们登入该主机之后,能不能使用该主机所提供的文件数据还要看 Windows 主机有没有提供我们使用的权限!所以,并不是登入该 Windows 主机之后,我们就可以无限制的取用该主机的文件资源了。也就是说,如果对方主机允许你登入,但是却没有开放任何资源让您取用,登入主机也无法查看对方的硬盘里面的数据的! 同样的 SAMBA 主机就使用两个 daemons 来管理这两个不同的服务: smbd :这个 daemon 的主要功能就是用来管理 SAMBA 主机分享什么目录、文件与打印机等等的内容。 nmbd :
8、这个 daemon 则是用来管理群组、NetBIOS name 等等的解析。 所以, SAMBA 每次启动至少都需要有这两个 daemons !而当我们启动了 SAMBA 之后,主机系统就会启动 137, 138, 139 三个 port ,且同时会有 UDP/TCP 的监听服务!2.3 联机模式的介绍 ( peer/peer, domain model ) SAMBA 主机的应用相当的广泛,而且可以依照不同的网络联机与使用者账号、密码的控管方式不同,来加以不同的类别应用,例如最常见的 Workgroup 及 Domain 两种方式的联机模式!底下我们就是要来谈一谈这两种最常见的局域网络的联机
9、模式 peer/peer 及domain model。 peer/peer ( Workgroup model ) : peer 有同等、同辈的意思存在,那么 peer/peer 由字面上的解释来看,当然就是同等地位的 PC 架构!这是什么意思呢?简单的来说,在局域网络里面的所有 PC 均可以在自己的计算机上面管理自己的账号与密码,同时每一部计算机也都具有独力可以执行各项软件的能力,只是利用网络将各个 PC 连结在一起而已的一个架构,所以,每一部机器都是可以独立运作的!而在这样的架构下,如果有两部计算机,计算机名称假设为 pc1 与 pc2 好了,那么当您要坐在 pc1 这部计算机前使用 pc
10、1 的资源时,就必须要知道登入 pc1 的使用者名称与密码,才能够登入使用。而如果您想由 pc1 经过网络联机到 pc2 来使用 pc2 的文件资源时,就必须要知道 pc2 的账号与密码才可以顺利的登入 pc2 ! 这样的架构在目前小型办公室里面是最常见的。例如办公室里面有十个人,每个人桌上可能都安装有一套 Windows 操作系统的个人计算机,而这十部计算机都可以独立进行办公室软件的执行啊、独立上网啊、独立玩游戏啊等等的,因为这十部计算机都可以独立运作,所以不会有一部计算机关掉,其它的计算机就无法工作的情况发生,这就是 peer/peer 的典型架构。 以下图的架构为例,在这样的架构下,假设
11、 A 写了一个报告书,而 B 想要以网络直接取用这个报告书时,他就必须要知道 A 使用的计算机的账号与密码,并且 A 必须要在 PC A 上面启用 Windows 的资源共享(或者是共享)之后,才能够让 B 联机进入 ( 此时 PC A 为 Server ) !而且, A 可以随时依照自己的喜好来更改自己的账号与密码,而不受 B 的影响,不过, B 就得要取得 A 同意取得新的账号与密码后,才能够登入 PC A !反过来说,同样的, A 要取得 B 的数据时,同样需要取得 PC B 的账号与密码后,才能够顺利登入 ( 此时 PC A 为 Client )!因为 PC A, PC B, PC C
12、 的角色与地位都同时可以为 Client 与 Server ,所以就是 peer/peer 的架构了! 生活周边中,哪里看到的这种 peer/peer 的架构呢?!就是利用 Windows 的网上邻居所达成的工作群组(workgroup)的架构,那就是典型的 peer/peer 架构!所以, peer/peer 也可以直接说成 workgroup 的联机架构。 使用 peer/peer 的架构的好处,是每部计算机均可以独立运作,而不受他人的影响!不过,缺点就是当整个网络内的所有人员都要进行数据分享时,光是知道所有计算机里面的账号与密码,就会很伤脑筋了!所以, Peer/Peer 的架构是比较适
13、合 (1)小型的网络,或者是 (2)没有需要常常进行档案数据分享的网络环境,或者是 (3)每个使用者都独自拥有该计算机的拥有权(就是说,该计算机是使用者的,而不是公用的!)!而,如果该单位的所有 PC 均是公有的,而且您需要统一控管整个网络里面的账号与密码的话,那就得使用底下的 domain models 了! domain model : 假设今天您服务的单位有 10 部计算机,但是您的单位有 20 个员工,这也就是说,这 20 个员工轮流抢着用这 10 部计算机。如果每部计算机都如同 peer/peer 的架构时,那么每部计算机都需要输入这 20 个员工的账号与密码来提供他们登入,而且,今
14、天假如有个员工想要变更自己的密码时,就需要到 10 台计算机上面进行密码变更的作业!否则他就必须要记得这 10 部计算机里面,那一部计算机是记忆那一个密码. 如果上述是这样的情况,使用 peer/peer 架构就不是一个好方法了!这个时候就需要利用 domain model 来达成您的需啦!所谓的 domain model 概念其实也很简单,既然使用计算机资源需要账号与密码,那么我将所有的账号与密码都放置在一部主控计算机 ( Primary Domain Controller, PDC ) 上面,在我的网络里面,任何人想要使用任何计算机时,都需要在屏幕前方输入账号与密码,然后通通利用 PDC
15、主机的辨识后,才给予适当的使用权限,也就是说,不同的身份还具有不一样的计算机资源使用权限就是了!例如底下的图示: PDC 主机控管整个网络里面的各个机器 (PC A PC D) 的账号与密码的信息,假如今天有个使用者账号名称为 Ken ,且密码为 mypasswd 时,他不论使用哪一部计算机 (PC A PC D) 只要在屏幕前方输入 ken 与他的密码,则该机器会先到 PDC 上面查验是否有 ken ,以及 ken 的密码,并且 PDC 主机会给予 ken 这个使用者相关的计算机资源使用权限。当 ken 在任何一部主机上面登入成功后,他就可以使用相关的计算机资源了! 这样的架构比较适合人来人
16、往的企业架构,当系统管理员要控管新进人员的计算机资源使用权时,可以直接针对 PDC 来修改就好了,不需要每一部主机都去修修改改的,对于系统管理员来说,这样的架构在控管账号资源上,当然是比较简单的! 各种架构适用的环境与适用的人都不相同,并没有那个是最好!请依照您的工作环境来选择联机的模式!当然, SAMBA 可以达到上述两种模式的!3.0【samba相关文件说明】SAMBA 的套件结构 3.1 SAMBA 的配置文件: 在较早期的版本中, SAMBA 的配置文件都直接放置在 /etc 底下,后来的版本则将配置文件通通放置到 /etc/samba 底下去了 ( 有的 distribution 放
17、在 /etc/smb 有的则是 /etc/samba.d ,请使用 locate 搜寻! )。在 /etc/samba 底下的几个重要的配置文件有: /etc/samba/smb.conf:这个就是 SAMBA 最主要的配置文件了!在较为简单的设定当中,这也是唯一的一个配置文件!此外,这个文件本身就含有相当丰富的说明,所以,在设定之前,可以使用 vi 好好的详细的看下这个配置文件!这个配置文件主要的配置分为两部份,分别是 global 这个设定主机全局功能的选项,以及接下来的每个分享出去的目录的属性设定。/etc/samba/lmhosts:这个文件的主要目的在对应 NetBIOS name
18、与该主机名称的 IP ,事实上,他有点像是 /etc/hosts 的功能!只不过这个 lmhosts 对应的主机名称是 NetBIOS name 喔!不要跟 /etc/hosts 搞混了!由于目前 SAMBA 的功能越来越强大,所以通常只要您一启动 SAMBA 时,他就能自己捉到 LAN 里面的相关计算机的 NetBIOS name 对应 IP 的信息,因此,这个文件通常可以不用设定了! /etc/samba/smbpasswd:这个文件预设并不存在。他是 SAMBA 预设的使用者密码对应表。当我们设定的 SAMBA 服务器是较为严密的,需要使用者输入账号与密码后才能登入的状态时,使用者的密码
19、预设就是放置在这里咯 ( 当然,您可以自行在 smb.conf 里面设定密码放置的地方及密码文件名) 。比较需要注意的是,这个文件因为包含了使用者的密码,所以,权限方面要较为注意!这个文件的拥有者需要是 root ,且权限设定为 600 ! 3.2 SAMBA 的可执行文件: 一般来说,做为 SAMBA Server 的执行文件有 testparm, smbd, nmbd, smbpasswd,至于做为 SAMBA Client 的执行文件主要则是:smbmount, smbclient。 smbd 与 nmbd:这两个执行文件就是两个主要的 daemons!每次启动 SAMBA 都会使用到的
20、两个执行文件! testparm:当我们设定完成了 smb.conf 这个主要设定档后,而想要查看一下 SAMBA 的所有设定参数与 smb.conf 的设定项目是否正确时,就需要使用这个 testparm 来查看( 其实就是 test parameters 的简写!)!所以说,每次在修改完 smb.conf 之后,请务必要使用 testparm 查看是否有设定错误! smbpasswd:如果您的 SAMBA 设定的较为严格,需要规定使用者的账号与密码,那么那个密码文件的建立就需要使用 smbpasswd 来建置才可以的!所以这个指令与建立 SAMBA 的密码有关! smbclient:当你的
21、 Linux 主机想要利用网上邻居的功能来查看其他计算机所分享出来的目录与设备时,就可以使用 smbclient 来查看!这个指令也可以使用在自己的 SAMBA 主机上面,用来查看是否设定成功! smbmount:在 Windows 上面我们可以设定网络磁盘驱动器来连接到自己的主机上面,同样的,在 Linux 上面,我们可以透过 smbmount 来将远程主机分享的文件与目录挂载到自己的 Linux 主机上面!不过,其实我们也可以直接使用 mount 这个指令来进行同样的功能就是了。 3.3 SAMBA 的相关目录: 这部份需要较为注意的应该算是 SAMBA 的登录文件!因为最近以来,利用网上
22、邻居来进行破坏的病毒是越来越多!而且也有越来越多的破坏者会以网上邻居的相关漏洞进行入侵的伎俩,所以,了解一下登录文件放置的地点,并且加以分析,可以得到不小的监呢! /usr/share/doc/samba:这个目录包含了 SAMBA 的所有相关的技术手册!也就是说,当您安装好了 SAMBA 之后,您的系统里面就已经含有相当丰富而完整的 SAMBA 使用手册了! /var/log/samba:这个目录就是 SAMBA 预设的登录文件置目录了!如果您的 SAMBA 总是设置不起来,又或者怀疑被人家以 port 137139 入侵的话,就到这里来查看吧! /usr/share/samba/codep
23、ages:这个目录里面放置的就是各个语言的支持格式。举例来说,想让您的 SAMBA 支持中文吗?那么就需要 codepage.950 这个文件的支持!当然,在 smb.conf 里面设定即可!4.0【samba配置】例子:roottest root# cp /etc/samba/smb.conf /etc/samba/smb.conf.bak.raw roottest root# vi /etc/samba/smb.conf -# 这个档案本身就是很详细的说明档,限于篇幅,我们没有将批注的部分写下来, # 这里的目的是想让大家了解 smb.conf 的内容规划咯! global workgro
24、up = birdhouse server string = Linux Samba Server netbios name = birdlinux dos charset = cp936unix charset = cp936printcap name = /etc/printcap load printers = yes printing = lprng log file = /var/log/samba/log.%m max log size = 500 # 那个 500 数字是 Kb ! security = user encrypt passwords = yes smb passw
25、d file = /etc/samba/smbpasswd socket options = TCP_NODELAY SO_RCVBUF=8192 SO_SNDBUF=8192 # 上面的几行当中,注意 global ,由 global 到底下的 Webpage 之间的设定 # 都是 global 的设定项目!而 global 的主要内容都是与主机的设定有关! # 比较重要的有底下几个设定值: # workgroup工作群组:同一个局域网络内,要具有相同的 workgroup # netbios name 主机名称:这个主机名称就是 netbios 的名字!请注意,如果你 #没有设定 netb
26、ios name 的话,预设的 NetBIOS name 会以 #HOSTNAME 来替代! # server string 这个是主机的说明,随便写写没关系! # security这个重要,是用来规定 SAMBA 主机的安全登入项目,有底下几种: #share :不进行安全登入,亦即没有设定账号与密码 #user :设定主机的密码文件作为登入的验证档案,这与底下的 #smb passwd file 有关! #domain :就是让您的 SAMBA 作为 PDC ! # log file登录文件放置的目录所在! # 其它相关的几个设定项目请参考 man 5 smb.conf 我们底下也会列出几
27、个常用的 # 设定项目 Webpage comment = My Home Page path = /var/www/html read only = no public = yes writable = yes create mode = 0664 directory mode = 0775 # 这个部分则是针对每个分享的目录或者是装置进行权限方面的规定了! # 几个简单的设定项目有: # comment :这个目录的说明! # path :这个项目真正的 Linux 档案系统里面的目录,请看底下的说明 # read only:是否只读? # public:是否让所有可以登入的使用者看到这个
28、项目? # writable :是否可以写入?!这里需要注意一下!那个 read only 与 writable #不是两个蛮相似的设定值吗?如果 writable 在这里设定为 no ,亦即 #不可写入,那跟 read only 不就互相抵触了?!那个才是正确的设定? #答案是:最后出现的那个设定值为主要的设定! # create mode 与 directory mode 都与权限有关的!-注意一下,在上面的案例中,我们只有两个主要的设定群: 一个是 global 的主机相关设定,这个是每个 SAMBA 主机都需要设定的!里面的规定都与 SAMBA 主机的环境有关! 至于 Webpage
29、呢?我们举个实际的例子,当您在局域网络内以网上邻居登入某部主机之后,不是会看到该主机所提供的目录或者设备的名称吗?!那个 Webpage 就是名称!也就是说,当您以网上邻居 linux 时,看到的 Linux 所分享出来的目录名称就是Webpage!不过,这个 Webpage 只是在 SAMBA 服务当中所显示的名称而已,并不是真正的 Linux 文件系统上面的目录!这个 Webpage 所代表的真正的目录要看底下设定项目的path设定项目才行!这也就是说,当您在网上邻居登入 Linux 后,看到 Webpage 这个目录,用鼠标将他点下去,接下来看到的内容就是 /var/www/html 这
30、个真正 Linux 文件系统里面的数据!关于变量: 在上面的例子当中,我们有看到一个的设置是log file = /var/log/samba/log.%m,怎么会有个 %m ?那个就是 SAMBA 里面的变量值!在 SAMBA 当中,为了方便使用者的设定,所以会有许多的内置变量值提供给系统管理员来使用,主要的变量有下面几个: %S:取代目前的设定项目值,所谓的设定项目值就是在 里面的内容!举例来说: homes valid users = %S .因为 valid users 是允许的登入者,设定为 %S 表示任何可登入的使用者都能够登入的意思今天如果 test 这个使用者登入之后,那个 h
31、omes 就会自动的变成了 test 了! %S 的用意就是在替换掉目前 里面的内容! %m:代表 Client 端的 NetBIOS 主机名称!例如上面案例的登录文件! %M:代表 Client 端的 Internet 主机名称!就是 HOSTNAME。 %L:代表 SAMBA 主机的 NetBIOS 主机名称。 %H:代表使用者的家目录。 %U:代表目前登入的使用者的使用者名称 %g:代表登入的使用者的群组名称。 %h:代表目前这部 SAMBA 主机的 HOSTNAME !注意是 hostname 不是 NetBIOS name ! %I:代表 Client 的 IP 。%T:代表目前的日
32、期与时间 5.0【案例】rootlocalhost # vim /etc/selinux/config 修改SELinux 配置文件关闭SELinux rootlocalhost # setenforce 0 rootlocalhost # iptables F 清空防火墙规则并保存rootlocalhost # service iptables saveSamba 3个服务介绍 rootlocalhost init.d# chkconfig -level 35 smb on 设置服务启动级别,rootlocalhost init.d# ./smb start 开启smb服务rootlocal
33、host init.d# netstat -tnulap |grep smb 查看smb端口 rootlocalhost init.d# vim /etc/samba/smb.conf 配置一个不需要验证的共享rootlocalhost init.d# mkdir /tmp/sharerootlocalhost init.d# testparm 检查smb 配置文件rootlocalhost init.d# smbclient -L 29 查看共享使用windows 客户端查看Linux 的共享建立基于用户验证的共享目录注意:只是目录采用用户验证,而服务器不采用用户验
34、rootlocalhost init.d# mkdir /tmp/futurerootlocalhost init.d# useradd futurerootlocalhost init.d# smbpasswd -a futurerootlocalhost init.d# vim /etc/samba/smb.conf 修改smb.conf 配置文件rootlocalhost init.d# ./smb restart 重启smb服务rootlocalhost init.d# smbclient /29/future -U future 登录共享目录挂在共享目录ro
35、otlocalhost init.d# mount -t cifs /29/future /mnt -o username=future,password=123rootlocalhost init.d# touch /tmp/future/welcome;ls /mnt/建立服务器基于用户验证方式的共享目录(注意:服务器采用用户验证)1 服务器采用用户验证的方式2建立group1文件夹, 只有用户group1才有权限访问并读写3 建立gp1 文件夹, 只有group1组的用户可以访问并读写4 建立gp2文件夹, group1和group2组的用户都可以读, 但是只有
36、group2组的用户有权限写5 建立一个公共的制度文件夹public, 所有人只读这个文件夹的内容rootlocalhost init.d# groupadd group1 创建组group1rootlocalhost init.d# groupadd group2 创建组group2rootlocalhost init.d# useradd -g group1 group1 创建用户名为group1用户并加入到group1组中rootlocalhost init.d# useradd -g group1 user1 创建用户名为user1用户并加入到group1组中rootlocalhost
37、 init.d# useradd -g group2 user2 创建用户名为user2用户并加入到group1组中rootlocalhost init.d# smbpasswd -a group1 设置group1 用户密码 密码是group1rootlocalhost init.d# smbpasswd -a user1 设置user1 用户密码 密码是user1rootlocalhost init.d# smbpasswd -a user2 设置user2 用户密码 密码是user2rootlocalhost init.d# vim /etc/samba/smb.conf注释掉之前pub
38、lic部分或基于原来public部分重新配置,本例注释掉之前public public comment = Publics Directories path=/home/public public=yes writable = nogroup1 path=/home/group1 comment = group1s Directories public=no browseable = no writable = yes valid users = group1gp1 path=/home/gp1 comment = gp1s Directories public=no valid users=
39、group1 write list=group1gp2 path=/home/gp2 comment = gp2s Directories public=no valid users=group1,group2 write list=group2rootlocalhost init.d# mkdir /home/gp1 在/home目录下创建gp1 目录rootlocalhost init.d# mkdir /home/gp2 在/home目录下创建gp2 目录rootlocalhost init.d# chown user1.group1 /home/gp1 rootlocalhost in
40、it.d# chown user2.group2 /home/gp2输入错误的路径提示登录失败rootlocalhost # mount -t cifs /29/gp1 /mnt/user2/ -o username=user2,password=user2 上图可以看到由于gp1 对于user2无权限所以无法登录,下图输入正确有权限路径挂在成功验证上述要求,这里不做具体举例SWATSamba WEB管理工具1. swat介绍 SWAT:The Samba WEB Administration Tool SWAT是Samba的图形化管理工具。我们可以通过浏览器利用sw
41、at工具来设置samba。在swat中每一个samba参数都有相应的帮助文件或解释文件,很适合初学者。 SWAT工具嵌套在xinetd超级守护进程中,要通过启用xinetd进程来启用swat。因此要先安装xinetd工具包,然后安装swat工具包本文实验环境是samba-3.6.9-151.el6.x86_64 需要自行下载samba-swat-3.6.9-151.el6.x86_64.rpm软件包并且使用yum 安装xinetdrootlocalhost media# yum install xinetd 因为swat是xinetd超级守护进程的一个子进程,所以swat工具配置文件在xine
42、td目录中。我们要设置swat配置文件,开启此子进程,以便在启用xinetd进程是来启用swat。swat配置文件在/etc/xinetd.d目录中编辑swat配置文件将“only_from=”改成“only_from=”,这样该服务器就可以监听所有的来访IP。 将“disable=yes”改成“disable=no”,这样swat子进程就可以随xinetd超级守护进程一起启动了。可以用chkconfig命令查看swat是否启用了。 swat默认使用tcp的901端口。“port=901”,可以修改。 通过web来配置samba,默认使用root账号进入。“us
43、er=root”,可以修改成其他的系统用户。 swat的执行程序默认在/usr/sbin目录下29:901/passwd 附录1. Samba配置文件常用参数详解:Samba的主配置文件叫smb.conf,默认在/etc/samba/目录下。smb.conf含有多个段,每个段由段名开始,直到下个段名。每个段名放在方括号中间。每段的参数的格式是:名称=指。配置文件中一行一个段名和参数,段名和参数名不分大小写。除了global段外,所有的段都可以看作是一个共享资源。段名是该共享资源的名字,段里的参数是该共享资源的属性。Samba安装好后,使用testparm命
44、令可以测试smb.conf配置是否正确。使用testparm v命令可以详细的列出smb.conf支持的配置参数。全局参数:=Global Settings =globalconfig file = /usr/local/samba/lib/smb.conf.%m说明:config file可以让你使用另一个配置文件来覆盖缺省的配置文件。如果文件 不存在,则该项无效。这个参数很有用,可以使得samba配置更灵活,可以让一台samba服务器模拟多台不同配置的服务器。比如,你想让PC1(主机名)这台电脑在访问Samba Server时使用它自己的配置文件,那么先在/etc/samba/host/下
45、为PC1配置一个名为smb.conf.pc1的文件,然后在smb.conf中加入:config file = /etc/samba/host/smb.conf.%m。这样当PC1请求连接Samba Server时,smb.conf.%m就被替换成smb.conf.pc1。这样,对于PC1来说,它所使用的Samba服务就是由smb.conf.pc1定义的,而其他机器访问Samba Server则还是应用smb.conf。workgroup = WORKGROUP 说明:设定 Samba Server 所要加入的工作组或者域。server string = Samba Server Version
46、 %v说明:设定 Samba Server 的注释,可以是任何字符串,也可以不填。宏%v表示显示Samba的版本号。netbios name = smbserver说明:设置Samba Server的NetBIOS名称。如果不填,则默认会使用该服务器的DNS名称的第一部分。netbios name和workgroup名字不要设置成一样了。interfaces = lo eth0 /24 /24 说明:设置Samba Server监听哪些网卡,可以写网卡名,也可以写该网卡的IP地址。hosts allow = 127. 192.168.1. 192
47、.168.10.1说明:表示允许连接到Samba Server的客户端,多个参数以空格隔开。可以用一个IP表示,也可以用一个网段表示。hosts deny 与hosts allow 刚好相反。例如:hosts allow=172.17.2.EXCEPT0表示容许来自172.17.2.*.*的主机连接,但排除0hosts allow=/表示容许来自/子网中的所有主机连接hosts allow=M1,M2表示容许来自M1和M2两台计算机连接hosts allow=xq表示容许
48、来自XQ网域的所有计算机连接max connections = 0说明:max connections用来指定连接Samba Server的最大连接数目。如果超出连接数目,则新的连接请求将被拒绝。0表示不限制。deadtime = 0说明:deadtime用来设置断掉一个没有打开任何文件的连接的时间。单位是分钟,0代表Samba Server不自动切断任何连接。time server = yes/no说明:time server用来设置让nmdb成为windows客户端的时间服务器。log file = /var/log/samba/log.%m说明:设置Samba Server日志文件的存储
49、位置以及日志文件名称。在文件名后加个宏%m(主机名),表示对每台访问Samba Server的机器都单独记录一个日志文件。如果pc1、pc2访问过Samba Server,就会在/var/log/samba目录下留下log.pc1和log.pc2两个日志文件。max log size = 50说明:设置Samba Server日志文件的最大容量,单位为kB,0代表不限制。security = user 说明:设置用户访问Samba Server的验证方式,一共有四种验证方式。1. share:用户访问Samba Server不需要提供用户名和口令, 安全性能较低。2. user:Samba S
50、erver共享目录只能被授权的用户访问,由Samba Server负责检查账号和密码的正确性。账号和密码要在本Samba Server中建立。3. server:依靠其他Windows NT/2000或Samba Server来验证用户的账号和密码,是一种代理验证。此种安全模式下,系统管理员可以把所有的Windows用户和口令集中到一个NT系统上,使用Windows NT进行Samba认证, 远程服务器可以自动认证全部用户和口令,如果认证失败,Samba将使用用户级安全模式作为替代的方式。4. domain:域安全级别,使用主域控制器(PDC)来完成认证。passdb backend = td
51、bsam说明:passdb backend就是用户后台的意思。目前有三种后台:smbpasswd、tdbsam和ldapsam。sam应该是security account manager(安全账户管理)的简写。1.smbpasswd:该方式是使用smb自己的工具smbpasswd来给系统用户(真实用户或者虚拟用户)设置一个Samba密码,客户端就用这个密码来访问Samba的资源。smbpasswd文件默认在/etc/samba目录下,不过有时候要手工建立该文件。2.tdbsam:该方式则是使用一个数据库文件来建立用户数据库。数据库文件叫passdb.tdb,默认在/etc/samba目录下。
52、passdb.tdb用户数据库可以使用smbpasswd a来建立Samba用户,不过要建立的Samba用户必须先是系统用户。我们也可以使用pdbedit命令来建立Samba账户。pdbedit命令的参数很多,我们列出几个主要的。pdbedit a username:新建Samba账户。pdbedit x username:删除Samba账户。pdbedit L:列出Samba用户列表,读取passdb.tdb数据库文件。pdbedit Lv:列出Samba用户列表的详细信息。pdbedit c “D” u username:暂停该Samba用户的账号。pdbedit c “” u usern
53、ame:恢复该Samba用户的账号。3.ldapsam:该方式则是基于LDAP的账户管理方式来验证用户。首先要建立LDAP服务,然后设置“passdb backend = ldapsam:ldap:/LDAP Server”encrypt passwords = yes/no说明:是否将认证密码加密。因为现在windows操作系统都是使用加密密码,所以一般要开启此项。不过配置文件默认已开启。smb passwd file = /etc/samba/smbpasswd说明:用来定义samba用户的密码文件。smbpasswd文件如果没有那就要手工新建。username map = /etc/sa
54、mba/smbusers说明:用来定义用户名映射,比如可以将root换成administrator、admin等。不过要事先在smbusers文件中定义好。比如:root = administrator admin,这样就可以用administrator或admin这两个用户来代替root登陆Samba Server,更贴近windows用户的习惯。guest account = nobody说明:用来设置guest用户名。socket options = TCP_NODELAY SO_RCVBUF=8192 SO_SNDBUF=8192说明:用来设置服务器和客户端之间会话的Socket选项,可以优化传输速度。domain master = yes/no 说明:设置Samba服务器是否要成为网域主浏览器,网域主浏览器可以管理跨子网域的浏览服务。local master = yes/no说明:local master用来指定Samba Se
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 通过对话增进理解与信任的高考作文试题及答案
- 软件设计师考试高效复习试题及答案
- 法学概论的社会影响力研究试题及答案
- 风险管理的未来发展试题及答案
- 量子计算基础知识考察试题及答案
- 行政法学重点知识试题及答案说明
- 经济增长与社会福祉的平衡探讨试题及答案
- 法学概论的考试形式与内容趋势试题及答案
- 软考设计师重点复习试题及答案
- 行政法责任的类型划分试题及答案
- 2025年纺羊绒纱项目可行性研究报告
- 中国重症患者肠外营养治疗临床实践专家共识(2024)解读
- 2026届新高考地理精准复习:海气相互作用
- 图像分割与目标检测结合的医学影像分析框架-洞察阐释
- 2024年新疆泽普县事业单位公开招聘村务工作者笔试题带答案
- 《网络素养教育》课件
- 2025年大数据分析师职业技能测试卷:数据采集与处理流程试题解析
- 2025年计算机科学与技术专业考试题及答案
- 2025年全国特种设备安全管理人员A证考试练习题库(300题)含答案
- 浙江省9 1高中联盟2024-2025学年高一下学期4月期中英语试卷(含解析含听力原文无音频)
- 人工智能在航空服务中的应用-全面剖析
评论
0/150
提交评论