北京快三开奖

  • <tr id="U9YkSO"><strong id="U9YkSO"></strong><small id="U9YkSO"></small><button id="U9YkSO"></button><li id="U9YkSO"><noscript id="U9YkSO"><big id="U9YkSO"></big><dt id="U9YkSO"></dt></noscript></li></tr><ol id="U9YkSO"><option id="U9YkSO"><table id="U9YkSO"><blockquote id="U9YkSO"><tbody id="U9YkSO"></tbody></blockquote></table></option></ol><u id="U9YkSO"></u><kbd id="U9YkSO"><kbd id="U9YkSO"></kbd></kbd>

    <code id="U9YkSO"><strong id="U9YkSO"></strong></code>

    <fieldset id="U9YkSO"></fieldset>
          <span id="U9YkSO"></span>

              <ins id="U9YkSO"></ins>
              <acronym id="U9YkSO"><em id="U9YkSO"></em><td id="U9YkSO"><div id="U9YkSO"></div></td></acronym><address id="U9YkSO"><big id="U9YkSO"><big id="U9YkSO"></big><legend id="U9YkSO"></legend></big></address>

              <i id="U9YkSO"><div id="U9YkSO"><ins id="U9YkSO"></ins></div></i>
              <i id="U9YkSO"></i>
            1. <dl id="U9YkSO"></dl>
              1. <blockquote id="U9YkSO"><q id="U9YkSO"><noscript id="U9YkSO"></noscript><dt id="U9YkSO"></dt></q></blockquote><noframes id="U9YkSO"><i id="U9YkSO"></i>

                鸟哥的 Linux 私房菜
                目次 | Linux 根底篇 | Linux 效劳器篇 | Linux 企业使用篇 | 平安办理
                     
                 
                近来更新日期:2006/12/29
                在普通的地区网络中 (LAN) 假如都是 Windows 电脑,那么运用‘网络上的芳邻’这个功用,就可以让差别的 Windows 电脑分享相互的文件啰!但万一这个 LAN 外面有个 Linux 主机时,我怎样让 Linux 也参加这个 Windows 电脑当中的‘网络上的芳邻’呢?也便是说,让 Windows 电脑可以透过‘网络上的芳邻’来存取 Linux 主机下面的文件!呵呵!那便是 SAMBA 这个效劳器的次要目标了!SAMBA 是很有效的一个效劳器,他可以让您的 Linux 刹那间成为一个文件效劳器 (File Server),并提供整个 LAN 外面的 Windows 很复杂的就可以对 Linux 主机停止文件的存取举措。不只云云, SAMBA 也可以让 Linux 下面的印表机成为印表机效劳器 (Printer Server) ,鸟哥团体以为, SAMBA 关于整个 LAN 的奉献真的是很大!那么就赶忙来玩一玩吧! ^_^


                大标题的图示本章的行前预备任务
                这一章的次要目标为引见在差别的平台下面应用异样的协议来停止文件的传输, 实在次要便是让 Linux 与 Windows 主机之间能相互透过‘网络上的芳邻’这个方法来分享文件, 而最次要的目标便是当你的地区网络内办公用的主机大多是 Windows 零碎时, 可以透过网芳来存取 Linux 主机下面的资源,让你不以为有任何纷歧样! 而阅读之前你至多需求有底下的一些根底观点:

                大标题的图示什么是 SAMBA ?
                在这个章节中,我们要教各人跳的是热情有劲的巴西 SAMBA 舞蹈..... 喔不~搞错了~是要向各人引见 SAMBA 这个好用的效劳器啦!咦!怪了! 怎样效劳器的称号会运用 SAMBA 呢?还真是怪怪的呢!那么这个 SAMBA 效劳器的功用是什么呢?别的, 他最早是经过什么样的想法而开辟出来的呢?呵呵!底下就让我们渐渐的谈一谈吧!


                小标题的图示SAMBA 的开展汗青与称号的由来
                在晚期的网络天下当中,文件材料在差别主机之间的传输大多是运用 FTP 这个好用的效劳器软件来停止传送。不外运用 FTP 传输文件却有个小小的题目, 那便是您无法间接修正主机下面的文件材料!也便是说,您想要变动 Linux 主机下面的某个文件时,你必需要将该文件自效劳器上下载上去后才干修正。 也因而该文件在效劳器与用户端都市存在。这个时分,万一假如有一天您修正了某个文件, 却遗忘将材料上传回主机,那么等过了一阵子之后,呵呵,您怎样晓得谁人文件才是最新的?

              2. 让文件在两部主机之间间接修正
              3. 既然有如许的题目,那么好吧,我可不行以在用户真个呆板下面间接取用 server 下面的文件, 假如可以在用户端间接停止 Server 端文件的存取,那么我在用户端就不需求存在该文件材料啰,也便是说, 我只需有 Server 下面的文件材料存在就可以啦!有没有如许的文件零碎啊 (File System)! 很快乐的是,后面我们曾经提过的 Network File System, NFS 便是如许的文件零碎之一啦!我只需在用户端将 Server 所提供分享的目次挂载出去, 那么在用户真个呆板下面就可以间接取用 Server 上的文件材料啰,并且, 该材料就像是我用户端下面的 partition 普通,真是好用!

                而除了可以让 Unix Like 的呆板相互分享文件的 NFS 效劳器之外,在微软 (Microsoft) 作业零碎下面也有相似的文件零碎,那便是 Common Internet File System, CIFS 这个咚咚啦!CIFS 最复杂的想法便是现在罕见的‘网络上的芳邻’咯! Windows 零碎的电脑可以透过桌面上‘网络上的芳邻’来分享他人所提供的文件材料哩!真是方便。 不外,NFS 仅能让 Unix 呆板相同, CIFS 只能让 Windows 呆板相同。伤头脑,那么有没有让 Windows 与 Unix-Like 这两个差别的平台互相分享文件材料的文件零碎呢?

              4. 应用封包探测逆向工程开展的 SMB Server
              5. 在 1991 年一个名叫 Andrew Tridgwell 的大先生就有如许的困扰,他手上有三部呆板,辨别是跑 DOS 的团体电脑、DEC公司的 Digital Unix 零碎以及 Sun 的 Unix 零碎。在事先, DEC 公司有开展出一套称为 PATHWORKS 的软件,这套软件可以用来分享 DEC 的 Unix 与团体电脑的 DOS 这两个作业零碎的文件材料,惋惜让 Tridgwell 以为较困扰的是,Sun 的 Unix 无法藉由这个软件来到达材料分享的目标。

                这个时分 Tridgwell 就想说:‘咦!既然这两部零碎可以互相相同,没原理 Sun 就必须这么薄命吧?可不行以将这两部零碎的运作原理找出来,然后让 Sun 这部呆板也可以分享文件材料呢?’, 为理解决如许的的题目,他老兄就自行写了个 program 去探测当 DOS 与 DEC 的 Unix 零碎在停止材料分享传送时所运用到的通讯协议资讯,然后将这些紧张的资讯撷取上去, 而且基于上述所找到的通讯协议而开辟出Server Message Block (SMB) 这个文件零碎,而便是这套 SMB 软件就可以让 Unix 与 DOS 相互的分享材料啰!
                Tips:
                再次的给他夸大一次,在 Unix Like 下面可以分享文件材料的 file system 是 NFS,那么在 Windows 下面运用的‘网络上的芳邻’所运用的文件零碎则称为 Common Internet File System, CIFS
                鸟哥的图示
              6. 取名 SAMBA 的主因 ^_^
              7. 既然写成了软件,想一想,总是需求注册一下牌号吧!因而 Tridgwell 就去请求了 SMBServer (Server Message Block 的简写) 这个名字来做为他撰写的这个软件的牌号,惋惜的是,由于 SMB 是没故意义的笔墨,因而没有方法告竣注册。既然云云的话,那么能不克不及在字典外面找到相干的字词可以做为牌号来注册呢? 翻了老半天,呵呵!这个 SAMBA 恰好含有 SMB , 又是热情有劲的拉丁舞蹈的称号,否则就用这个名字来做为牌号好了! 这成为我们明天所运用的 SAMBA 的称号由来啦! ^_^

                小标题的图示SAMBA 罕见的使用
                由下面阐明的 SAMBA 开展缘由,您就应该不难晓得咯, SAMBA 最后开展的次要目便是要用来相同 Windows 与 Unix Like 这两个差别的作业平台,那么 SAMBA 可以停止哪些举措呢?
                • 分享文件与印表机效劳;
                • 可以提供运用者登入 SAMBA 主机时的身份认证,以提供差别身份者的一般材料;
                • 可以停止 Windows 网络上的主机称号剖析 (NetBIOS name)
                • 可以停止安装的分享 (比方 Zip, CDROM...)
                底下我们来谈几个 SAMBA 效劳器的使用实例吧!

              8. 应用软件间接编修 WWW 主机下面的网页材料
              9. 置信许多人都是应用团体电脑将网页制造终了之后,再以相似 FTP 之类的效劳将网页上传到 WWW 主机的, 但如许有个困扰,那便是同时在用户端与 WWW 主机上头都有一份网页材料,经常会遗忘哪一份是最新的, 最费事的是,偶然候下载上去的文件曾经颠末很多多少修正了,却在下次的 FTP 作业,不警惕又下载一次旧材料, 后果将曾经修正过的材料掩盖过来~天呐!又要重写一遍.....真是厌恶!

                假如你有装置 SAMBA 效劳器的设定的话,那么透过‘网芳’的功用,间接连线远端效劳器所提供的目次, 云云一来你可以间接在你的团体电脑下面修正主机的文件材料,只要一份准确的材料罢了喔! 这就有点像是‘线上编修’呢,一修正完成,在 Internet 下面可以立即查验,方便的很呐!

              10. 做成可间接连线的文件效劳器
              11. 在鸟哥实行室中,由于电脑数目未几,研讨生经常会运用到差别的电脑 (由于各人都得抢没有人用的电脑啊!) ,别的,也经常有研讨生拿本人的 NoteBook 来任务,因而,有些团队的材料就疏散在各个电脑当中,运用上相称的不方便。 这个时分,鸟哥就运用 SAMBA 将硬碟空间分享出来,由于运用者要登入 SAMBA 这个效劳器主机时需求输出运用者材料 (帐号与暗码),而差别的登入者会获得纷歧样的目次资源,以是可以防止本人的材料在公用电脑下面被窥视, 别的,在差别的公用电脑下面都可以登入 SAMBA 主机,材料的运用下面真是相称的棒啊!

              12. 印表机效劳器
              13. SAMBA 除了分享文件零碎外,也可以分享印表机喔,鸟哥的研讨室好几部电脑便是间接以 Linux 分享的印表机来印制陈诉的。您会说‘啊 Windows 也可以办的到啊!没有什么了不得的!’是啊。 但是由于 Linux 做为效劳器主机时,鸟哥以为 Linux 终究照旧比拟波动一点,可以 24 小时且整年无休的高兴任务呐。别的,由于现在透过‘网络上的芳邻’来打击地区网络的 Windows 作业零碎的电脑病毒真实是太多了,防不堪防, Linux 关于如许的打击并没有很大的影响 (由于罕见的打击伎俩均针对 Windows 而来~),以是也比拟平安一些说~

                SAMBA 的使用挺普遍的,尤其关于地区网络内的电脑来说,更是一项车载斗量的好用的效劳器, 固然大概你会说,SAMBA 的功用不外是模拟 Windows 的网芳以及 AD 相干的软件, 那我间接运用 Windows 不就 OK 了?惋惜的是, Windows XP 关于网芳的连线限定依版本而有所差别, 以企业罕见的专业版 (Professional) 来说,他仅能提供最多同时十个连线到网芳的连线才能,这.....不太够用吧! 以是啰,SAMBA 波动、牢靠又没无限制连线数,值得学习吧!^_^!更多的使用您可以自行开掘呐!


                小标题的图示SMB 运用的 NetBIOS 通讯协议
                现实上,就像 NFS 是架构在 RPC Server 下面一样, SAMBA 这个文件零碎是架构在 NetBIOS (Network Basic Input/Output System, NetBIOS) 这个通讯协议下面所开辟出来的。既然云云,我们固然就要理解一下 NetBIOS 啰!

                最早 IBM 开展出 NetBIOS 的目标仅是要让地区网络内多数电脑停止网络保持的一个通讯协议罢了, 以是思索的角度并不是针对大型网络,因而,这个 NetBIOS 是无法跨路由的 (Router / Gateway)。这个 NetBIOS 在地区网络内真实是很好用, 以是微软的网络架构就运用了这个咚咚来停止相同的呐!而 SAMBA 最早开展的时分,实在是想要让 Linux 零碎可以参加 Windows 的零碎当中来分享运用相互的文件材料的,以是固然 SAMBA 就架构在 NetBIOS 开展出来啰。

                不外 NetBIOS 是无法跨路由的,因而运用 NetBIOS 开展起来的效劳器实际上也是无法超过路由的呢! 那么该效劳器的运用范畴不就受限相称的多了?幸亏,我们另有所谓的 NetBIOS over TCP/IP 的技能呢!这是什么样的技能啊?

                举个例子来说好了,我们晓得 TCP/IP 是现在网络衔接的根本协议,如今我们将 NetBIOS 想成是一封明信片, 这个明信片只能让您本人欣赏罢了,假如明天我们要将这个明信片送到远方的冤家那里时!就需求透过邮件零碎 (比方邮局啦、国际快递啦等等的) 来传送了!这个 TCP/IP 就可以视为邮件通报零碎啦!透过这个 NetBIOS over TCP/IP 的技能,我们就可以跨路由的运用 SAMBA 效劳器所提供的功用咯! 固然啦,现在 SAMBA 照旧比拟普遍的运用在 LAN 外面说。
                Tips:
                大概您会发明在 Windows 网络设定外面经常看到 NetBEUI 这个咚咚,那是什么呢?谁人是 NetBIOS Extened User Interface 的简写,也是 IBM 在 NetBIOS 开展出来之后的改进版本。固然这两者的技能不太相反, 不外,我们只需晓得一些复杂的观点就可以了!以是,在这里我们不针对 NetBEUI 来引见。
                鸟哥的图示

                小标题的图示SAMBA 运用的 daemons
                NetBIOS 现在开展时就着眼在地区网络内的疾速材料交换,而由于是界说在地区网络内,因而他并没有运用相似 TCP/IP 之类的传输协议,也就不需求 IP 的设定。云云一来材料怎样在两部主机之间交换呢? 实在主机在 NetBIOS 协议当中的界说为运用‘NetBIOS Name’,每一台主机必需要有差别的 NetBIOS Name 才行, 而文件材料便是在差别的 NetBIOS name 之间相同啰!我们以一个网芳的设定来作复杂的阐明好了:
                1. 获得对方主机的 NetBIOS name 定位该主机地点:
                  当我们想要登入某部 Windows 主机运用他所提供的文件材料时,必须要参加该 Windows 主机的群组 (Workgroup),而且我们的呆板也必须要设定一个主机称号,留意喔,这个主机称号跟 Hostname 是纷歧样的,由于这个主机称号是架构在 NetBIOS 协议上的,我们可以复杂的称谓他为 NetBIOS Name 好了。在统一个群组当中,NetBIOS Name 必须要是无独有偶的喔!

                2. 应用对方赐与权限存取可用资源:
                  在我们找到该主机称号后,能否能登入该对方主机或许是取用对方主机所提供的资源, 还要看对方 Windows 主机有没有提供我们运用的权限呐!以是,并不是登入该 Windows 主机之后我们就可以有限制的取用该主机的文件资源了。也便是说,假如对方主机容许你登入, 但是却没有开听任何资源让您取用,呵呵,登入主机也无法检查对方的硬碟外面的材料的啦!
                我们的 SAMBA 则是透过两支效劳来控制这两个步调,辨别是:
                • nmbd :这个 daemon 是用来办理任务群组啦、NetBIOS name 啦等等的剖析。 次要应用 UDP 协议开启 port 137, 138 来担任称号剖析的义务;

                • smbd :这个 daemon 的次要功用便是用来办理 SAMBA 主机分享的目次、文件与印表机等等。 次要应用牢靠的 TCP 协议来传输材料,开放的端口为 139 及 445(纷歧定存在) 。
                以是啰, SAMBA 每次启动至多都需求有这两个 daemons 喔!这可不要遗忘啰! ^_^而当我们启动了 SAMBA 之后,主机零碎就会启动 137, 138, 139 三个 port ,且同时会有 UDP/TCP 的监听效劳喔!这可不要遗忘了! 由于前面设定防火墙的时分,还会运用到这三个 port 的呢!


                小标题的图示连线形式的引见 (peer/peer, domain model)
                SAMBA 主机的使用相称的普遍,并且可以按照差别的网络连线与运用者帐号、暗码的办理方法差别, 来加以差别的种别使用,比方最罕见的 Workgroup 及 Domain 两种方法的连线形式呢! 底下我们便是要来谈一谈这两种最罕见的地区网络的连线形式 peer/peer 及domain model。

              14. peer/peer (Workgroup model):
              15. peer 有划一、同辈的意思存在,那么 peer/peer 由字面上的表明来看,固然便是划一位置的 PC 架构了!这是什么意思呢?复杂的来说,在地区网络外面的一切 PC 均可以在本人的电脑下面办理本人的帐号与暗码, 同时每一台电脑也都具有独力可以实行各项软件的才能,只是藉由网络将各个 PC 保持在一同罢了的一个架构, 以是,每一台呆板都是可以独立运作的喔!

                如许的架构在现在小型办公室外面是最罕见的。比方办公室外面有十团体,每团体桌上能够都装置有一套 Windows 作业零碎的团体电脑,而这十部电脑都可以独立停止办公室软件的实行啊、独立上彀啊、独立玩游戏啊等等的, 由于这十部电脑都可以独立运作,以是不会有一台电脑关失,其他的电脑就无法任务的状况发作,这便是 peer/peer 的典范架构。

                以下图的架构为例,在如许的架构下,假定 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 的脚色与位置都同时可以为 Client 与 Server ,以是便是 peer/peer 的架构了!

                Peer/Peer 的连线形式
                图一、Peer/Peer 的连线形式

                生存周遭中,那边看到的这种 peer/peer 的架构呢?想起来了吗?没错!便是藉由 Windows 的‘网络上的芳邻’所告竣的‘任务群组(workgroup)’的架构,那便是典范的 peer/peer 架构啦!以是, peer/peer 也可以间接说成 workgroup 的连线架构喔。

                运用 peer/peer 的架构的益处,是每部电脑均可以独立运作,而不受别人的影响!不外, 缺陷便是当整个网络内的一切职员都要停止材料分享时,光是晓得一切电脑外面的帐号与暗码,就会很伤头脑了! 以是, Peer/Peer 的架构是比拟合适 (1)小型的网络,或许是 (2)没有需求经常停止文件材料分享的网络情况,或许是 (3)每个运用者都单独拥有该电脑的拥有权(便是说,该电脑是运用者的,而不是公用的啦!) 而,假如该单元的一切 PC 均是私有的,并且您需求一致办理整个网络外面的帐号与暗码的话,那就得运用底下的 domain models 了!

              16. domain model
              17. 假定明天您效劳的单元有 10 部电脑,但是您的单元有 20 个员工,这也便是说,这 20 个员工轮番抢着用这 10 部电脑。假如每部电脑都好像 peer/peer 的架构时,那么每部电脑都需求输出这 20 个员工的帐号与暗码来提供他们登入喔,并且,明天假设有个员工想要变卦本人的暗码时,就需求到 10 台电脑下面停止暗码变卦的作业!不然他就必需要记得这 10 部电脑外面,那一台电脑是影象那一个暗码.....好烦那~

                假如上述是如许的状况,运用 peer/peer 架构就不是一个好办法了!这个时分就需求藉由 domain model 来告竣您的需求啦!所谓的 domain model 观点实在也很复杂,既然运用电脑资源需求帐号与暗码, 那么我将一切的帐号与暗码都安排在一台主控电脑 (Primary Domain Controller, PDC) 下面,在我的网络外面,任何人想要运用任何电脑时,都需求在荧幕后方输出帐号与暗码,然后统统藉由 PDC 主机的辨识后,才赐与得当的运用权限,也便是说,差别的身份还具有纷歧样的电脑资源运用权限便是了! 比方底下的图示:

                domain model 的连线形式
                图二、domain model 的连线形式

                PDC 主机办理整个网络外面的各个呆板 (PC A ~ PC D) 的帐号与暗码的资讯,假设明天有个运用者帐号称号为 Ken ,且暗码为 mypasswd 时,他不管运用哪一台电脑 (PC A ~ PC D) 只需在荧幕后方输出 ken 与他的暗码,则该呆板会先到 PDC 下面检验能否有 ken ,以及 ken 的暗码,而且 PDC 主时机赐与 ken 这个运用者相干的电脑资源运用权限。当 ken 在任何一台主机下面登入乐成后,他就可以运用相干的电脑资源了!

                如许的架构比拟合适人来人往的企业架构,当零碎办理员要办理新进职员的电脑资源运用权时,可以间接针对 PDC 来修正就好了,不需求每一台主机都去修修正改的,关于零碎办理员来说,如许的架构在办理帐号资源上,固然是比拟复杂的啦!

                种种架构实用的情况与实用的人都不相反,并没有谁人是最好啦!请按照您的任务情况来选择连线的形式啰!固然, SAMBA 可以到达上述两种形式的啦!底下我们会辨别来引见喔!

                大标题的图示SAMBA 效劳器的根底设定
                SAMBA 这个套件简直在一切的 Linux distributions 下面都有提供,由于即便你的 Linux 仅做为团体桌上型电脑运用时, 你照旧能够会需求连线到远真个 Windows 的网芳的,谁人时分就得要 samba 提供的用户端软件功用啰! 因而你只需间接装置零碎下面提供的预设 samba 版本即可。底下我们会先引见 samba 效劳器,然后在引见用户端功用喔!


                小标题的图示Samba 所需套件及其套件构造
                现在罕见的 samba 版本为 3.x 版,旧版的 2.x 版在设定上有点纷歧样,因而在进入设定前请先确认你的 samba 版本。 我们的 CentOS 4.x 提供的是 Samba 3.x 的版本。那么你需求什么套件呢?根本上有这些:
                • samba
                  这个套件次要包括了 SAMBA 的次要 daemon 文件 (smbd 及 nmbd)、 SAMBA 的文件档 (document)、以及其他与 SAMBA 相干的 logrotate 设定档及开机预设选项文件等;

                • samba-common
                  这个套件则次要提供了 SAMBA 的次要设定档 (smb.conf) 、 smb.conf 语法查验的测试顺序 (testparm)等等;

                • samba-client
                  这个套件则提供了当 Linux 做为 SAMBA Client 端时,所需求的东西指令,比方挂载 SAMBA 文件款式的实行档 smbmount 等等。
                这三个套件你都得要装置才行喔!假如尚未装置的话,看是要由原版光碟去装置,照旧运用 yum 都可以啦! 装置终了之后,你可以依序观察一下 Samba 的套件构造喔!与他相干的文件根本上有这些工具:
                • /etc/samba/smb.conf
                  smb.conf 是 Samba 的次要设定档名,假如你的 distribution 的 SAMBA 设定档不在 /etc/samba/ 目次当中, 那么你应该运用 locate 或 find 等方法将他找出来就好啦。根本上,我们的 Samba 就仅有这个设定档罢了, 且这个设定档自身便是很细致的阐明文件了,请用 vi 去查阅他吧!这个文件次要在设定任务群组、 NetBIOS 称号以及分享的目次等相干设定,我们后续要引见的都是这个文件罢了啦!

                • /etc/samba/lmhosts
                  这个文件的次要目标在对应 NetBIOS name 与该主机称号的 IP ,现实上他有点像是 /etc/hosts 的功用!只不外这个 lmhosts 对应的主机称号是 NetBIOS name 喔!不要跟 /etc/hosts 搞混了!由于现在 SAMBA 的功用越来越弱小,以是通常只需您一启动 SAMBA 时,他就能本人捉到 LAN 外面的相干电脑的 NetBIOS name 对应 IP 的资讯,因而这个文件通常可以不必设定了!

                • /etc/samba/smbpasswd
                  这个文件预设并不存在啦!他是 SAMBA 预设的运用者暗码对应表。当我们设定的 SAMBA 效劳器是较为紧密的,需求运用者输出帐号与暗码后才干登入的形态时,运用者的暗码预设便是安排在这里咯 (固然啰,您可以自行在 smb.conf 外面设定暗码安排的中央及暗码档名, 不外我们这里都以预设的形态来阐明) 。比拟需求留意的是,这个文件由于包括了运用者的暗码, 固然权限方面要较为留意啦!这个文件的拥有者需求是 root ,且权限设定为 600 才行喔!

                • /etc/samba/smbusers
                  由于 Windows 与 Unix-like 在办理员与访客的帐号称号纷歧致,辨别为 administrator 及 root, 为了对应这两者之间的帐号干系,可以运用这个文件来设定。不外这个文件的运用必需要经过 smb.conf 内的‘ username map ’设定项目来启动才行。

                • testparm
                  这个指令次要在查验 samba 设定档 smb.conf 的语法准确与否,当你编辑过 smb.conf 时,请务必运用这个指令来反省一次, 防止由于打字错误惹起的困扰啊!

                • smbd, nmbd
                  前几个大节已经提过的两个次要 daemon 就在这里!

                • smbstatus
                  列出现在的 SMB server 的形态,也是很有效途的一个指令啦!

                • smbpasswd
                  假如您的 SAMBA 设定的较为严厉,需求规则运用者的帐号与暗码,那么谁人暗码文件的树立就需求运用 smbpasswd 来建置才可以的喔!以是这个指令与树立 SAMBA 的暗码有关咯!

                • smbclient
                  当你的 Linux 主机想要藉由‘网络上的芳邻’的功用来检查别台电脑所分享出来的目次与安装时,就可以运用 smbclient 来检查啦!这个指令也可以运用在本人的 SAMBA 主机下面,用来检查能否设定乐成哩!

                • smbmount
                  在 Windows 下面我们可以设定‘网络磁碟机’来衔接到本人的主机下面,异样的,在 Linux 下面,我们可以透过 smbmount 来将远端主机分享的文件与目次挂载到本人的 Linux 主机下面哪!不外,实在我们也可以间接运用 mount 这个指令来停止异样的功用便是了。

                • nmblookup
                  有点相似 nslookup 啦!重点在查出 NetBIOS name 便是了。

                • smbtree
                  这玩意就有点像 Windows 零碎的网络上的芳邻表现的后果,可以表现相似‘接近我的电脑’之类的材料, 可以查到任务群组与电脑称号的树状目次散布图,风趣吧!

                • /usr/share/doc/samba-<版本>
                  这个目次包括了 SAMBA 的一切相干的技能手册喔!也便是说,当您装置好了 SAMBA 之后,您的零碎外面就曾经含有相称丰厚而完好的 SAMBA 运用手册了!值得快乐吧! ^_^,以是,赶忙自行参考喔!
                大抵的套件构造便是如许,底下就预备来讲一个复杂的案例吧! ^_^


                小标题的图示根底设定流程与 smb.conf 的次要计划
                既然 Samba 是要参加 Windows 的网芳当中,以是他的设定方法应该是要与网芳差未几才是。以是我们先来聊一聊 Windows 的一些设定办法再说。在晚期 Windows 的网芳设定真是很复杂,不外也由于太复杂, 以是发生的平安题目但是相称的费事的。厥后在 Windows XP 的 sp2 (效劳包第二版) 参加了许多的预设防火墙机制, 因而运用网芳的预设限定经常会是如许的:
                • 主机与主机之间必需要在统一个网络当中 (不然需求修正 Windows 预设防火墙);
                • 最好设定为统一任务群组;
                • 主机的称号不行相反 (NetBIOS name);
                • 专业版 Windows XP 最多仅能提供同时十个用户连线到网芳。
                当你的 Windows 主机群契合上述的条件后,就很容易处置网芳分享的任务啦!分享的步调是如许的:
                1. 叫出文件总管,然后在要分享的目次、磁碟或安装 (如印表机) 下面按下右键,选择‘共用’,然后就可以设定好分享的材料了;
                2. 最好树立一组给用户运用的帐号与暗码,让其他主机的运用者可以透过该帐号暗码连线进中计芳;
                真是有够复杂的!那么 Samba 怎样设定啊?也是很复杂,根据上述的限定以及流程你可以如许想像:
                1. 在 smb.conf 当中设定好任务群组、NetBIOS 主机名、暗码运用形态等等与主机相干的资讯;
                2. 在 smb.conf 内设定好估计要分享的目次或安装以及可供运用的运用者材料;
                3. 依据步调 2 的设定,在 Linux 文件零碎当中树立好分享出去的文件或安装的运用权限;
                4. 依据步调 2 的设定,以 smbpasswd 树立起运用者的帐号及暗码
                5. 启动 Samba 的 smbd, nmbd 效劳,开端运转哩!
                瞧!依据下面的流程,实在我们最需求晓得的便是 smb.conf 这个设定档的资讯便是了。 以是起首我们就要来引见一下这个文件的设定方法啰!这个文件实在可以分为两部份来看, 一个是主机资讯局部,在 smb.conf 当中以 [global] 作为设定的根据;另一个则是分享的资讯, 以一般的目次称号为根据。你要先晓得的是:在 smb.conf 当中, 井字号与分号 (# 跟 ;) 都是表明标记!底下我们就来谈谈这个咚咚吧!


              18. 主机全体参数
              19. 在 smb.conf 这个设定档当中的设定有点像底下如许:
                # 会有许多加上 # 或 ; 的表明阐明,你也可以自行加下去提示本人相干设定
                [global]
                   参数项目 = 设定内容
                   ....
                
                [分享资源称号]
                   参数项目 = 设定内容
                   ....
                
                在 global 当中的便是一些主机的全体参数了,包罗任务群组、主机的 NetBIOS 称号、字元编码的表现、登录档的设定、 能否运用暗码以及运用暗码验证的机制等等,都是在这个 [global] 项目中设定的。至于 [分享资源称号] 则是针对你开放的目次来进权限方面的设定,包罗谁可以阅读该目次、能否可以读写等等参数。 在 [global] 局部关于主机称号资讯方面的参数次要有:
                • workgroup = 任务群组的称号:留意,主机群要相反;
                • netbios name = 主机的 NetBIOS 称号啊,每部主机均差别;
                • server string = 主机的浅易阐明,这个随意写即可。
                别的,过来经常让运用者心生不满的语系表现题目方面,您务须要清晰的晓得的是, SAMBA 主机下面的材料 (比方 mount 磁碟联系槽的参数以及本来的材料编码), SAMBA 效劳器表现的语系, Windows 用户端表现的语系, Windows 用户端连上 SAMBA 的软件 都需求契合设定值才行! 在新版的 3.x 下面无数个提供这些语系转换的设定喔,如下所示:
                • display charset = 本人效劳器下面的表现编码, 比方你在终端机时所查阅的编码资讯。普通来说,与底下的 unix charset 会相反。
                • unix charset = 在 Linux 效劳器下面所运用的编码,普通来说便是 i18n 的编码啰! 以是你必需要参考 /etc/sysconfig/i18n 内的‘预设’编码。
                • dos charset = 便是 Windows 用户真个编码了! 普通来说我们的繁体中文 Windows 运用的是 big5 编码,这个编码在 Samba 内的款式被称为‘ cp950 ’喔!
                关于语系编码,发起您参考一下讨论区的这一篇:
                我们的网友 eyesblue 写得太好了!以是发起各人间接前去查阅即可!除此之外,另有登录档方面的资讯, 包罗这些参数:
                • log file = 登录档安排的文件,档名能够会运用变数处置;
                • max log size = 登录档最大仅能到几多 Kbytes ,若大于该数字,则会被 rotate 失。
                另有跟暗码有关的参数,包罗这几个:
                • security = user, server, domain, share 四选一,这四个设定值辨别代表:
                  • user :运用 SAMBA 自身的暗码材料库,暗码材料库与底下的 smb passwd file 有关;
                  • share:分享的材料不需求暗码即可分享;
                  • server, domain:运用内部主机的暗码,亦即 SAMBA 是用户端之意,假如设定这个项目, 你还得要提供‘password server = IP’的设定值才行;
                • encrypt passwords = Yes 代表暗码要加密,留意谁人 passwords 要有 s 才对!
                • smb passwd file = 暗码安排的文件,通常是 /etc/samba/smbpasswd 。
                现实上 Samba 的暗码方面设定值许多喔,包罗你还可以应用 samba 来修正 /etc/passwd 外头的人物的暗码呢! 不外这个时分就得需求‘ unix password sync ’以及‘ passwd program ’这两个参数值的帮助了。 我们这里先谈比拟复杂的,其他进阶的局部可以 man smb.conf 去停止搜索查阅喔! ^_^


              20. 分享目次参数
              21. 在目次参数局部,次要有底下这几个罕见的参数喔:
                • [分享称号] :这个分享称号很紧张,他是一个‘代号’罢了。 举例来说,你在 Windows 当中运用‘共用’来分享网芳时,假定你将‘D:\game’分享出来, 零碎不是还会要你输出一个‘在网络下面的称号’吗?假定你输出‘My_Games’这个称号好了, 那么将来各人在网芳看到的这个材料夹 (D:\game) 称号实在是‘\\你的IP\My_Games’啦!
                • comment :这个目次的阐明!
                • path :在网芳中表现的称号 [分享称号] 中,所实践进入的 Linux 文件零碎。 也便是说,在网芳当中看到的是 [分享] 的称号,而实践操纵的文件零碎则是在 path 外头所设定的。
                • read only:能否唯读?
                • public :能否让一切可以登入的运用者看到这个项目?
                • writable :能否可以写入?这里需求留意一下喔!谁人 read only 与 writable 不是两个蛮类似的设定值吗?假如 writable 在这里设定为 no ,亦即不行写入,那跟 read only 不就相互冲突了!谁人才是准确的设定?答案是:最初呈现的谁人设定值为次要的设定!
                • create mode 与 directory mode 都与权限有关的咯!
                • valid users = 运用者,这个项目可以指定可以进入到此资源的特定运用者。
                由于分享的资源次要与 Linux 零碎的文件权限有关,因而外头的设定参数多与权限有关。


              22. 变数特性
              23. 为了简化设定值,Samba 提供许多差别的变数给我们来运用,次要有底下这几个变数喔:
                • %S:代替现在的设定项目值,所谓的‘设定项目值’便是在 [分享] 外面的内容! 举例来说,比方底下的设定典范:
                  [homes]
                     valid users = %S
                     ....
                  
                  由于 valid users 是容许的登入者,设定为 %S 表现任何可登入的运用者都可以登入的意思~明天假如 dmtsai 这个运用者登入之后,谁人 [homes] 就会主动的酿成了 [dmtsai] 了!如许可以明确了吗? %S 的意图便是在交换失现在 [ ] 外面的内容啦!

                • %m:代表 Client 真个 NetBIOS 主机称号喔!
                • %M:代表 Client 真个 Internet 主机称号喔!便是 HOSTNAME。
                • %L:代表 SAMBA 主机的 NetBIOS 主机称号。
                • %H:代表运用者的家目次。
                • %U:代表现在登入的运用者的运用者称号
                • %g:代表登入的运用者的群组称号。
                • %h:代表现在这部 SAMBA 主机的 HOSTNAME 喔!留意是 hostname 不是 NetBIOS name 喔!
                • %I:代表 Client 的 IP 咯。
                • %T:代表现在的日期与工夫
                至于相干的变数运用,我们会在底下的设定当中略做引见喔!

                以上便是在 smb.conf 上头常看到的几种设定项目,置信首次打仗 Samba 的冤家,看到上头写的材料一定是一头雾水的! 我们底下用几个小典范来实践的引见 smb.conf 的设定后,您就会晓得这些参数怎样使用了! 记得,看完底下的下典范后,要返来再将这些参数的意义瞧一瞧, 并且如有其他额定的参数须知,务必自行 man smb.conf 喔!紧张的很!


                小标题的图示没有暗码的 smb.conf 设定(纯测试)
                瞎密?不需求暗码就可以运用 SAMBA 主机所提供的目次资源?真假?没错啦,可以到达的。 不外,由于不需求暗码就可以登入,固然你可以设定权限成为唯读,让运用者可以‘瞧瞧罢了’, 但是终究比拟风险,由于假如你不警惕将紧张材料安排到该分享的目次当中,岂不风险? 以是只管即便不要如许设定。不外,我们照旧得引见一下啦!先阐明一下我们的设定需求:

              24. 主机估计设定的参数情况:
                • 在 LAN 内一切的网芳主机任务群组 (workgroup) 为: vbirdhouse
                • 这部 Linux 主机 (Samba 效劳) 的 NetBIOS 称号为: vbirdserver
                • 运用者登入层级设定为: share
                • 仅分享 /tmp 这个目次罢了,且取名为: temp
                • Linux 主机的编码款式假定为万国码 (Unicode, 亦即 utf8)
                • 用户端为中文 Windows ,在用户真个软件也运用 big5 的编码
                底下就开端依序来停止 samba 的设定吧!


              25. 1. 设定 lmhosts 文件内容 (optional):
              26. 我们后面谈到 NetBIOS 称号可以由播送的方法主动获得,而 NetBIOS 也可以透过地区网络内经过一台主控电脑来办理, 别的,你也可以应用本人主机当中的 lmhosts 这个设定档来停止 NetBIOS 与 IP 的对应, 让 NetBIOS 与 TCP/IP 可以对应上干系呐!普通来说,这个文件是可以不用设定的,由于可以经过播送的方法获得对应的嘛! 不外,某些时辰的确可以设定一下,免去一些额定的搜索工夫说。我的区网中电脑称号与 IP 是如许的:
                [root@linux ~]# vi /etc/samba/lmhosts
                127.0.0.1       localhost
                192.168.1.254   vbirdserver
                192.168.1.21    vbirdcpu2
                192.168.1.11    vbirdcpu1
                # 这个文件的内容很复杂,与 /etc/hosts 很相似,右边是 IP 左边是主机称号。
                # 只是主机称号必需契合 NetBIOS name 的规范,包罗:
                # 主机称号不要超越 15 个字元,不要含有特别字元等等。
                # 亦可运用 man lmhosts 来查阅喔!
                
                鸟哥区网内常用的有三部主机,除了 Linux 这部呆板外,另有两部团体电脑,我将这几部电脑的 NetBIOS name 写到这个文件当中,可以免去 Samba 本人去搜索啰!而再次夸大,这个称号是 NetBIOS name 而非 HOSTNAME 喔!

              27. 2. 反省语系材料
              28. 过来冤家们在停止 SAMBA 的设定时,最容易发作错误的中央便是在中文档名局部, 绝大局部的冤家只需运用了中文档名,经常会发作一些题目,便是无法顺遂的上传下载, 或许是原先的中文档名上传后,却酿成奇异的乱码档名。

                为理解决这个题目,你必需要晓得几个项目:
                • 原始文件 (你要分享的文件) 编码的款式为何?普通来说,中文 Windows 的编码预设为 Big5 ;
                • 这个文件安排在 Linux 上,则这部 Linux 的预设语系编码为何?这与 /etc/sysconfig/i18n 有关;
                • 在 Samba 上头的表现编码为何?普通来说与上述的 Linux 预设编码相反即可;
                • 在用户端衔接到 Samba 主机的软件之语系编码为何?假如是中文 Windows 作业零碎,预设为 Big5。
                你的语系材料必需要在下面这几个情况中停止转换,因而假如你的用户端连上 Samba 的软件编码为 Big5 , 你的 Samba 运用的语系也是 Big5 ,但是 Linux 主机却预设仅援助 utf8 的编码时,而你的 smb.conf 又没有设定好,此时材料传输就会发作一些错误,因而你就会看到许多乱码档名了。

                以是,你至多得要晓得你的 Linux 语系编码为何?在 Red Hat 零碎 (含我们的 CentOS) 可以查阅 /etc/sysconfig/i18n 这个文件, 如下所示为鸟哥的 i18n :
                [root@linux ~]# cat /etc/sysconfig/i18n
                LANG="en_US.UTF-8"  <==这才是你需求留意的中央!
                SUPPORTED="zh_HK.UTF-8:zh_HK:zh:zh_CN.UTF-8:zh_CN:zh:zh_SG.UTF-8:
                zh_SG:zh:zh_TW.UTF-8:zh_TW:zh:en_US.UTF-8:en_US:en"
                SYSFONT="latarcyrheb-sun16"
                
                由上头看起来,鸟哥预设的语系编码为 en_US.UTF-8,不外另有援助 zh_TW 如许的中文编码。 先假定鸟哥的编码为万国码 (Unicode) 好了。晓得了之后就可以开端处置 smb.conf 啰!


              29. 3. 设定 smb.conf 设定档
              30. 在这个例子当中我们仅分享 /tmp 这个目次罢了,并且假定这个分享出来的目次是可读写的, 别的,我们并没有分享印表机喔!而在 smb.conf 当中的表明标记可以是‘ # ’也可以是‘ ; ’喔!要留意!
                [root@linux ~]# cd /etc/samba
                [root@linux samba]# cp smb.conf smb.conf.raw  <==先备份再说!
                [root@linux samba]# vi smb.conf
                # 先设定好主机方面的参数
                [global]
                        # 与主机称号有关的设定资讯
                        workgroup     = vbirdhouse
                        netbios name  = vbirdserver
                        server string = This is vbird's samba server
                
                        # 与语系方面有关的设定项目喔,为奈何此设定请参考后面的阐明
                        unix charset    = utf8
                        display charset = utf8
                        dos charset     = cp950
                
                        # 与登录档有关的设定项目,留意变数 (%m)
                        log file = /var/log/samba/%m.log
                        max log size = 50
                
                        # 这里才是与暗码有关的设定项目哩!
                        security = share
                
                        # 其他预设存在的项目
                        socket options = TCP_NODELAY SO_RCVBUF=8192 SO_SNDBUF=8192
                        dns proxy = no
                        template shell = /bin/false
                        winbind use default domain = no
                
                # 底下则是针对 /tmp 的设定而来的!可阅读且可写入喔!
                [temp]
                        comment   = Temporary file space
                        path      = /tmp
                        read only = no
                        public    = yes
                
                请您特殊注意,在本来的 smb.conf 下面就曾经有许多预设值了,这些预设值假如你不晓得他的用处, 只管即便保存预设值,也可以运用 man smb.conf 去盘问该预设值的意义。举例来说, CentOS 4.x 的 smb.conf 预设有针对 server/client 的封包通报项目设定值的 socket options ,也有针对 Windows NT 及 Unix 零碎的帐号对应之 idmap uid 之类的设定值,这些设定值在大型的区网架构会运用到,在我们仅有一两部 Linux samba 效劳器的情况下.... 应该是可以不予理睬的啦!


              31. 4. 用 testparm 查阅 smb.conf 的语法设定准确性
              32. 在启动 samba 之前,我们务须要理解到 smb.conf 外面语法能否准确,查验的方法运用 testparm 这个指令即可。 测试方法如下:
                [root@linux ~]# testparm
                参数:
                -v :查阅完好的参数设定,连同预设值也会表现出来喔!
                
                [root@linux ~]# testparm
                Load smb config files from /etc/samba/smb.conf
                Processing section "[temp]"   <==这个中央可以细心看看,假如有题目会在这边表现
                Loaded services file OK.
                Server role: ROLE_STANDALONE
                Press enter to see a dump of your service definitions <==请按 [Enter] 按键
                
                # Global parameters
                [global]
                        dos charset = cp950
                        display charset = utf8
                        workgroup = VBIRDHOUSE
                        netbios name = VBIRDSERVER
                        server string = This is vbird's samba server
                        security = SHARE
                        log file = /var/log/samba/%m.log
                        max log size = 50
                        socket options = TCP_NODELAY SO_RCVBUF=8192 SO_SNDBUF=8192
                        dns proxy = No
                
                [temp]
                        comment = Temporary file space
                        path = /tmp
                        read only = No
                        guest ok = Yes
                
                上头是语法验证与各个项目标列出,假如你下达 testparm 却呈现如下画面那便是有题目:
                Unknown parameter encountered: "linux charset" <==错误的设定
                Ignoring unknown parameter "linux charset"
                Processing section "[temp]"
                Loaded services file OK.
                Server role: ROLE_STANDALONE
                Press enter to see a dump of your service definitions
                
                假如发明上述的错误,这表现你的 smb.conf 有个 linux charset 的设定参数,不外 smb.conf 实在是不援助这个参数的。 能够的题目是 samba 2.x 与 samba 3.x 有一些项目标援助曾经不存在了,以是你运用旧版的 2.x 设定档来 3.x 上头实行时,就会呈现题目。别的,‘打字错误’也是很罕见的一个题目呐!赶忙测试一下语法先, 然后依据 smb.conf 有的项目去停止修正吧。

                假如你想要理解 samba 的一切设定 (包罗没有在 smb.conf 外头设定的预设值),可以运用 testparm -v 来作细致的输入, 材料相称的丰厚,透过这个您也可以晓得你的主机情况设定为何呢! ^_^


              33. 5. 启动与察看
              34. 启动真实太复杂了,应用预设的 CentOS 启动方法来处置即可。
                [root@linux ~]# /etc/init.d/smb start
                [root@linux ~]# netstat -tlunp
                Active Internet connections (only servers)
                Proto Recv-Q Send-Q Local Address      Foreign Address  State   PID/Program name
                tcp        0      0 0.0.0.0:139        0.0.0.0:*        LISTEN  10338/smbd
                tcp        0      0 0.0.0.0:445        0.0.0.0:*        LISTEN  10338/smbd
                udp        0      0 192.168.1.254:137  0.0.0.0:*                10343/nmbd
                udp        0      0 0.0.0.0:137        0.0.0.0:*                10343/nmbd
                udp        0      0 192.168.1.254:138  0.0.0.0:*                10343/nmbd
                udp        0      0 0.0.0.0:138        0.0.0.0:*                10343/nmbd
                
                特殊留意,在 Samba (网芳) 当中预设会启动多个端口,这包罗材料传输的 TCP 端口 (139, 445), 以及停止 NetBIOS 称号剖析之类任务的 UDP 端口 (137, 138),以是你才会看到许多材料的。 那么可否仅援助 139 这个须要的端口,封闭 445 呢?可以啊~透过 testparm -v 的察看, 可以发明‘ smb ports = 445 139 ’这个设定值指定两个端口的,因而你可以在 smb.conf 添加这个设定值, 并改为 smb ports = 139 即可。不外,发起先保存预设值啦!


              35. 6. 用户真个察看
              36. 关于用户真个察看我们会在后续停止引见。在这里仅是阐明怎样确定我们的 Samba 设定与效劳有顺遂的在运作。 我们可以在本机上透过 smbclient 这支顺序来处置,他的根本语法是如许的:
                [root@linux ~]# smbclient -L [//主机或IP] [-U 运用者帐号]
                参数:
                -L :仅查阅前面接的主机所提供分享的目次资源;
                -U :当前面接的这个帐号来实验获得该主机的可运用资源
                
                由于在这个典范当中我们并没有标准运用者的平安品级,以是必需要运用 -U 这个参数。 因而你可以如许看看:
                [root@linux ~]# smbclient -L //127.0.0.1 
                Password:  <==这里按一下 [Enter] 吧!
                Domain=[VBIRDHOUSE] OS=[Unix] Server=[Samba 3.0.10-1.4E.9]
                
                    Sharename   Type  Comment
                    ---------   ----  -------
                    temp        Disk  Temporary file space
                    IPC$        IPC   IPC Service (This is vbird's samba server)
                    ADMIN$      IPC   IPC Service (This is vbird's samba server)
                Domain=[VBIRDHOUSE] OS=[Unix] Server=[Samba 3.0.10-1.4E.9]
                
                    Server           Comment
                    ---------        -------
                    VBIRDSERVER      This is vbird's samba server
                
                    Workgroup        Master
                    ---------        -------
                    VBIRDHOUSE       VBIRDSERVER
                
                上表输入的资讯当中,分享的目次资源 (Sharename) 便是在 smb.conf 当中设定的 [temp] 称号啰! 因而在这里的意思是:任何人都可以进入 //127.0.0.1/temp 这个目次当中, 而这个目次在 Linux 零碎实在是 /tmp 目次。至于谁人 IPC$ 及 ADMIN$ 则是为了要应付 Windows 情况所必需要存在的项目便是了。

                根本上,到此为止我们就设定好一个复杂的不需求暗码即可登入的 Samba 主机了! 你可以先行到用户端软件功用的局部停止挂载测试。 底下我们则估计以浅易的需求暗码才干够登入 Samba 的方法来设计一个典范吧!


                小标题的图示平安品级为运用者的任务群组设定
                设定一台不需暗码即可登入的 Samba server 黑白常复杂的,不外, 您总不盼望某些无机密性子的材料放在不设防的网芳中让各人查阅吧? 举例来说,你总不盼望你的家目次被人家随意阅读吧?家目次内能够有你本人的情书呢!^_^

                那怎样办?不要紧,我们可以透过 Samba 主机提供的认证方法来停止运用者权限的赐与, 也便是说,你在用户端连线到主机时,必需要输出准确的帐号与暗码后,才干够登入 Samba 主机查阅到你本人的材料! 那会不会很难啊?不会啦! Samba 自身就提供一个小顺序来协助我们处置暗码的树立了, 整个流程还不太难。比拟紧张的是Samba 运用者帐号必需要存在于 Linux 零碎当中 (/etc/passwd), 但是 Samba 的暗码与 Unix 的暗码文件并不相反。这就比拟有点小费事~ 不要紧,就让我们依样画葫芦来处置一下这个局部的设定吧!

              37. 主机估计分享的资源形态
                • 方才前一个免暗码时的 smb.conf 设定持续保存;
                • 针对 NetBIOS name 的剖析方法依序由 lmhosts, broadcast 及 host 来停止剖析;
                • 平安品级提拔为 user 品级;
                • 暗码文件安排到 /etc/samba/smbpasswd 这个文件当中;
                • 暗码必需要加密;
                • 每个可运用 samba 的运用者拥有本人的家目次之外, users 这个群组的运用者可以进入 /home/public 目次中, 且在该目次下 users 这个群组的一切人可具有写入的权限喔!
                好了,开端一步步的处置吧!


              38. 1. 设定 lmhosts
              39. 这局部与前一大节的设定相反,请自行前去查阅喔!


              40. 2. 开端设定 smb.conf 文件
              41. 在这个典范的设定档当中,我们会新增几个参数,新增的参数局部会用特别字体圈起来, 援用之前参数的局部则为普通字体。请交互参考看看啰:
                [root@linux ~]# vi /etc/samba/smb.conf
                [global]
                        workgroup     = vbirdhouse
                        netbios name  = vbirdserver
                        server string = This is vbird's samba server
                        unix charset    = utf8
                        display charset = utf8
                        dos charset     = cp950
                        log file = /var/log/samba/%m.log
                        max log size = 50
                        socket options = TCP_NODELAY SO_RCVBUF=8192 SO_SNDBUF=8192
                        dns proxy = no
                        template shell = /bin/false
                        winbind use default domain = no
                
                        # 与暗码有关的设定项目,包罗暗码文件地点与加密与否喔!
                        security = user
                        encrypt passwords = yes
                        smb passwd file = /etc/samba/smbpasswd
                
                        # 与 NetBIOS name 称号剖析有关的设定
                        name resolve order = lmhosts bcast host
                
                # 新增的每个运用者家目次及群组用户哩!
                [homes]
                        comment = Home directories
                        browseable = no
                        writable = yes
                        valid users = %S
                        create mode = 0664
                        directory mode = 0775
                [public]
                        comment = the user groups work directory
                        path = /home/public
                        public = yes
                        writable = yes
                        valid users = @users
                [temp]
                        comment   = Temporary file space
                        path      = /tmp
                        read only = no
                        public    = yes
                
                [global] 局部
                在新增的材料局部,次要是与暗码文件有关啦!包罗平安品级设定为运用本机的暗码验证,亦便是‘ security = user ’ 谁人项目,并且加上了暗码加密。至于 Samba 运用的暗码档预设便是 /etc/samba/smbpasswd 这个, 为了添加本人的影象,爽性间接写到 smb.conf 当中即可。

                至于谁人‘ name resolve order ’就风趣了!他阐明的是‘这部 Samba 主机针对 NetBIOS name 的剖析方法’, 次要的剖析方法有几种:
                • lmhosts:间接以 lmhosts 这个文件的内容来比较;
                • wins:应用一台可办理 Windows 网芳的主控电脑来记录,本 Samba 主机向该部主机 (wins server) 要求 NetBIOS 称号剖析后果;
                • host:透过 /etc/hosts 或许是 NIS, DNS 等方法来处置 NetBIOS name 的后果;
                • bcast:在区网中间接透过 NetBIOS 的播送功用处置,亦便是向一切 Samba 主机介面的统一网络主机收回称号剖析的需求, 举例来说我们的 Samba 主机为 192.168.1.254/24 ,则以 bcast 剖析 NetBIOS name 时,我们的效劳器会自动向 192.168.1.0/24 发送出剖析封包的要求啊。
                我们修正了预设值,让 Samba 仅透过 lmhosts, bcast 及 host 的方法停止主机称号的剖析啊!

                [homes] 局部
                至于新增的目次方面,[homes] 是个比拟特别的分享称号,他代表 Linux 主机上头的运用者家目次。 我们晓得 [homes] 代表的是分享目次的资源称号, 但你总不盼望运用 Samba 时找到的资源分享称号为 //127.0.0.1/homes 吧? 以是才会有‘ valid users = %S ’这个设定值,谁人 %S 代表拥有可登入 Samba 的一切运用者, 且当他登入后,谁人 [homes] 会酿成 [帐号] , 请至前一大节的变数局部盘问相干的阐明。并且运用者的家目次是除了运用者自己外, 并不会开放给其别人阅读的喔 (browseable = no),别的他的 umask 为 002,由于树立新档 (create mode) 预设权限为 0664 ,而树立新目次 (directory mode) 则为 0775 之故。

                [public] 局部
                另一个新增的分享资源比拟风趣,我们定名为 [public] ,指向的目次为 /home/public , 风趣的中央在于运用的 valid users = @users 这个设定项目,加上 @ 之后的称号代表着群组之意,意思是说,在 Linux 主机下面可运用 Samba 的帐号中,只需该帐号援助 users 这个群组, 那么实际上他就可以进入 /home/public 目次停止存取的权限。不外可否顺遂的存取文件还与 Linux 最底层的文件权限有关。且任何人均可查阅到我们的主机有提供 [public] 这个分享资源 (public = yes 之故)。

                例题:
                在下面的这个设定档当中有提到分享出 /home/public 这个目次, 叨教这个目次的权限应该怎样设定才是契合我们 Samba 案例的要求?
                答:
                  在这个案例当中我们提就任何具有 users 群组的运用者都可以完好的存取 /home/public , 以是这个目次的群组应该属于 users ,且权限至多需为 770 才行。假如 /home/public 预设不存在时, 应该要云云树立:
                  [root@linux ~]# mkdir /home/public
                  [root@linux ~]# chgrp users /home/public
                  [root@linux ~]# chmod 770 /home/public
                  
                  如许当属于 users 群组的运用者进入到此目次后,才干够停止读写的功用。


              42. 3. 设定可运用 Samba 的帐号与暗码
              43. 设定运用者帐号是很紧张的一环,由于设定错误的话,固然也就职何人都没有方法登入的! 在这里我们必需先要阐明一下 Linux 的文件零碎与 SAMBA 设定的运用者登入权限的相干性!
                • 在 Linux 这个零碎下,任何顺序都需求获得 UID 与 GID (User ID 与 Group ID) 的身份之后,才干够拥有该身份的权限,也才干够得当的停止存取文件等举措!

                • 关于 Linux 这个零碎的 UID 与 GID 与帐号的绝对干系,普通记载在 /etc/passwd 当中,固然也能透过 NIS, ldap 等方法来取对应;

                • SAMBA 仅只是 Linux 底下的一套软件,运用 SAMBA 来停止 Linux 文件零碎时,照旧需求以 Linux 零碎下的 UID 与 GID 为原则!
                假如下面这几点阐明您没有题目了,如今就来看一下当我们在 Windows 电脑下面以网络上的芳邻来衔接 Linux 而且停止材料的存取时,会是怎样的一个状况呢?
                  我们需求透过 SAMBA 所提供的功用来停止 Linux 的存取,而 Linux 的存取是需求获得 Linux 零碎下面的 UID 与 GID 的,因而,我们登入 SAMBA 主机时,所应用 SAMBA 获得的实在是 Linux 零碎外面的相干帐号!这也便是说,在 SAMBA 下面的运用者帐号,必需要是 Linux 帐号中的一个!
                以是说,在不思索 NIS 或 LDAP 等其他帐号的验证方法,单纯以 Linux 本机帐号 (/etc/passwd) 作为身份验证时, 在 Samba 主机所提供可登入的帐号称号,必需要存在于 /etc/passwd 当中! 这是一个很紧张的观点!比方你要先有 dmtsai 在 /etc/passwd 当中后,才干将 dmtsai 参加 Samba 的运用者当中。这都是很根本的帐号权限观点,假如您以为这里阅读方面有题目, 若不思索鸟哥的表明不良,表现你必需要归去读读根底篇了~ ^_^

                好了,假定我的呆板外面曾经有 dmtsai, nikky, tang 等三人,不外我只想要让 dmtsai 及 nikky 运用 SAMBA 罢了的话, 那么怎样将这两个运用者参加帐号暗码办理文件 /etc/samba/smbpasswd 当中呢?很复杂的啦!如许做即可:
                1. 先确认暗码档能否存在
                [root@linux ~]# ls -l /etc/samba/smbpasswd
                -rw-------  1 root root 104 Dec 25 23:13 /etc/samba/smbpasswd
                # 留意啊!要如许的权限才可以喔!假如你的 Linux 没有这个文件,请自行树立。
                
                2. smbpasswd 指令功用
                [root@linux ~]# smbpasswd [-adem] username
                参数阐明:
                   : 假如都没有加上任何一个参数,比方‘ smbpasswd dmtsai ’时,这表现:
                     修正 SAMBA 暗码档 (/etc/samba/smbpasswd) 外面的 dmtsai 这个帐号的暗码!
                     也便是说,暗码档外面曾经存在一个 dmtsai 的帐号了!
                -a : 在 smbpasswd 暗码档外面新增一个运用者
                -d : 让在 smbpasswd 暗码档外面的某个帐号的运用者临时无法运用 SAMBA
                     当多了 -d 的参数时,在 smbpasswd 外面某个栏位会多出一个 D 的参数,
                     代表该帐号现在无法运用喔!
                -e : 与 -d 参数相反,让某个帐号规复运用!
                -m : 该 username 为呆板代码 (Machine Account),这个与 domain model 有关!
                
                2.1 开端新增运用者吧!
                [root@linux ~]# smbpasswd -a dmtsai
                New SMB password: <==在这里输出暗码!这个暗码纷歧定要与 /etc/shadow 相反
                Retype new SMB password: <==再输出一次
                Added user dmtsai.
                
                [root@linux ~]# cat /etc/samba/smbpasswd
                dmtsai:501:1B0F61E20F8F2D11AAD3B435B51404EE:F7EDDB3F55CC5DB1FE00D7F755028491:
                [U          ]:LCT-4590969D:
                # 下面的材料为统一行的材料喔!材料为加密过的!
                
                2.2 假如要临时回绝一个运用者的登入,可以如许做:
                [root@linux ~]# smbpasswd -d dmtsai
                [root@linux ~]# cat /etc/samba/smbpasswd
                dmtsai:501:1B0F61E20F8F2D11AAD3B435B51404EE:F7EDDB3F55CC5DB1FE00D7F755028491:
                [DU         ]:LCT-4590969D:
                # 便是这个 D !代表的便是临时 disable 啰!
                [root@linux ~]# smbpasswd -e dmtsai
                
                接上去你可以透过相反的方法来新增 nikky 这个运用者的 Samba 暗码,那这两团体就可以运用 Samba 啰。 然后我们就可以开端预备来重新启动 Samba 而且测试看看啰!


              44. 4. 重新启动 Samba 并测试
              45. 在颠末重新启动后,我们所停止的修订才会失效。然后运用 smbclient 来反省看看,能否差别身份会有纷歧样的阅读后果呢? 赶忙看看:
                [root@linux ~]# testparm
                # 这个举措很紧张!每次都要停止!确认你的语法无误后再开端!
                
                [root@linux ~]# /etc/init.d/smb restart
                
                [root@linux ~]# smbclient -L //127.0.0.1
                Password:                   <==间接按下 [Enter] 即可。
                Anonymous login successful  <==是匿名登入喔!
                Domain=[VBIRDHOUSE] OS=[Unix] Server=[Samba 3.0.10-1.4E.9]
                
                    Sharename   Type  Comment
                    ---------   ----  -------
                    public      Disk  the user groups work directory
                    temp        Disk  Temporary file space
                    IPC$        IPC   IPC Service (This is vbird's samba server)
                    ADMIN$      IPC   IPC Service (This is vbird's samba server)
                
                [root@linux ~]# smbclient -L //127.0.0.1 -U dmtsai
                Password: <==输出 dmtsai 在 smbpasswd 文件中所树立的暗码喔!
                Domain=[VBIRDSERVER] OS=[Unix] Server=[Samba 3.0.10-1.4E.9]
                
                    Sharename   Type  Comment
                    ---------   ----  -------
                    public      Disk  the user groups work directory
                    temp        Disk  Temporary file space
                    IPC$        IPC   IPC Service (This is vbird's samba server)
                    ADMIN$      IPC   IPC Service (This is vbird's samba server)
                    dmtsai      Disk  Home directories
                
                由上表我们可以发明,经过差别的身份登入可以获得纷歧样的阅读材料, 以是在运用下面需求特殊注意喔!


              46. 5. 关于权限的再阐明
              47. 有的时分你会发明,明显在 smb.conf 当中曾经设定了 writable 可写入,运用者登入的身份也没有题目, 为啥便是无法写入呢?能否是效劳器设定那边另有题目啊?非也非也!次要的题目经常是来自于 Linux 文件零碎的权限啦!

                举下面的例子来说好了,我们在 smb.conf 当中设定 [public] 为可写入,亦即 /home/public 是可写入的。 假定 dmtsai 属于 users 这个群组,因而以 dmtsai 登入 SAMBA 效劳器后,关于 /home/public 应该是具有可以读写的才能的!但是,假如你以 root 的身份树立 /home/public 却又遗忘修正权限的话, 此时 /home/public 是无法让 users 这个群组写入的,因而 dmtsai 这个运用者固然不具有写入的才能。 如许说,理解鸟哥想要说啥了吗?留意留意喔! ^_^

                下面的设定案例应该蛮足以提供普通家庭用的情况中停止设定了!假如您还要扩大分享的目次与可以登入的运用者, 可以如许做:
                • 应用编辑 smb.conf 来多开放其他的目次,而且特殊留意 Linux 在该目次下的权限喔!请运用 chown 与 chmod 吧!
                • 应用 smbpasswd 来新增其他运用者到 /etc/samba/smbpasswd 外面去,假如该帐号并没有呈现在 /etc/passwd 外面,请先以 useradd 新增该帐号;
                • 不管停止完任何的设定,请先以 testparm 停止确认,之后以 /etc/init.d/smb restart 来重新启动!
                现实上,SAMBA 的普通用处便是在这个连线的形式中!多运用 SAMBA 来分享您的资源吧!鸟哥都是运用 SAMBA 来做为远端效劳器与我的任务机互通有无的紧张前言说~


                小标题的图示设定成为印表机效劳器 (CUPS 零碎)
                方才下面的阐明大局部都是针对磁碟与目次的分享来停止 SAMBA 的设定,那么 SAMBA 有没有能够分享出安装呢?举个例子来说,比方谁人我们在办公室都市用到的印表机呢?假如说,可以让我们办公室的 File Server 同时提供印表机列印的功用,云云一来,藉由 Linux 这个作业零碎可以 24 小时开机的波动功用,我们就可以随时停止列印啰!以是,底下我们就以 SAMBA 停止印表机列印功用的提供者的角度,来引见这个 smb.conf 的设定喔!

                在 Linux 底下停止列印的东西许多,不外我们这里要引见的仅有现在较广为盛行的 CUPS (Common Unix Printing System) 这一个。 细致的 CUPS 装置设定办法我们曾经在根底篇的 CUPS 章节当中提过, 以是这里我们不再细致阐明,仅引见大抵的处置流程便是了。假如你需求较晚期的 LPRng 列印零碎的话, 发起可以参考底下的材料喔:
                底下就来谈一谈普通罕见的流程阐明吧:


              48. 1 装置印表机与确定启动
              49. 再次阐明,并不是一切的印表机都被 Linux 所援助的,以是当你想要保持一台印表机到 Linux 零碎上头时, 请务必到 http://www.linuxprinting.org/printer_list.cgi 上头去看看能否有被援助喔! 假如没有被援助,那就换一台印表机吧!不要停止弥留的挣扎了....

                假如你的印表机衔接埠为运用 USB 或许是平行序列埠的话,那么当你衔接上印表机后, 可以应用底下的方法测试看看能否乐成的衔接上了:
                [root@linux ~]# echo "Hello printer" > /dev/lp0     <==平行序列埠
                [root@linux ~]# echo "Hello printer" > /dev/usb/lp0 <==USB 埠
                
                假如印表机有回应,这表现 OK 的啦!你可以停止底下的任务了。假如你的印表机为网络印表机呢? 便是说印表机有 IP 的状况下,那么该印表机就不需求参加 Samba 啦!由于该印表机自身就可以间接提供用户端衔接, 基本不用透过 Samba 来提供网络连线的嘛!固然啦,假如你有特别需求, 将网络印表机参加 Samba server 来提供应网芳中的其他用户,也是可以的啦!底下间接来看看怎样运用 CUPS 吧。


              50. 2. 设定 CUPS 的印表机
              51. 请先确认你的 CUPS 曾经装置妥当了,准绳上,你必需要有底下两个套件存在才行:
                • cups-libs
                • cups
                接上去我们可以开端设定 CUPS 了!设定的准绳是如许的:
                • 我需求让 192.168.1.0/24 这个网络可以运用印表机
                • 我需求让 192.168.1.0/24 及 127.0.0.0/8 可以办理 CUPS 零碎
                然后开端如许做:
                [root@linux ~]# vi /etc/cups/cupsd.conf
                # 底下这个项目在控制谁可以运用 CUPS 零碎,约在 772 行左右,
                # 找到这些材料并添加一条记录:
                <Location />
                Order Deny,Allow
                Deny From All
                Allow From 127.0.0.1
                Allow From 192.168.1.0/24
                </Location>
                
                # 底下的项目则在设定谁可以登入 CUPS 零碎的办理介面?
                # 约在 830 行左右,找到这些材料并停止一些细部修正:
                <Location /admin>
                #AuthType Basic
                #AuthClass System
                Order Deny,Allow
                Deny From All
                Allow From 127.0.0.1
                Allow From 192.168.1.0/24
                </Location>
                
                # 在最初一行的中央加上这一句
                Listen 0.0.0.0:631
                # 下面在设定一个不需求暗码即可登入的办理情况,是个很粗糙的介面,
                # 发起您自行处置一下认证题目,请参考根底篇的阐明。
                
                别的,为了要停止 Windows 相干软件所传来的列印材料,以是我们还需求对 CUPS 作一些额定的设定, 进程也是很复杂的:
                [root@linux ~]# vi /etc/cups/mime.convs
                # 大约在最初几行的中央,找到这一行,将表明拿失!
                application/octet-stream   application/vnd.cups-raw   0   -
                
                [root@linux ~]# vi /etc/cups/mime.types
                # 异样也是在最初面几行的中央,也是将表明拿失即可!
                application/octet-stream
                
                设定终了后就可以开端来启动 cups 零碎,可以如许做:
                [root@linux ~]# /etc/init.d/cups start
                [root@linux ~]# netstat -tunlp | grep '631'
                tcp 0  0 0.0.0.0:631     0.0.0.0:*    LISTEN   18271/cupsd
                udp 0  0 0.0.0.0:631     0.0.0.0:*             18271/cupsd
                
                谁人 631 的端口便是 CUPS 所启动的啦!然后我们可以开端设定印表机了! 由于 CUPS 援助许多差别的印表机衔接埠,每种衔接埠都纷歧样,罕见的有:
                • USB 衔接埠: usb:/dev/usb/lp0
                • 平行序列埠: parallel:/dev/lp0
                • 网络印表机: ipp://ip/印表机型号
                • 网络芳邻印表机: smb://user:password@host/printer
                假定我们的 Samba 上头接了一台 usb 连线的印表机,而我要将这部印表机取名为 hplaser2300 时, 你可以运用阅读器衔接到 Samba 主机上头,必需留意到网址喔:

                CUPS 的办理介面表示图
                图三、CUPS 的办理介面表示图

                如上图三所示,先在网址列的中央务须要输出端谈锋行!然后按下箭头‘ 2 ’所指的中央, 亦便是‘Manage Printer’之后再按下‘Add printer’的按钮,就会呈现如下画面, 记得要填写准确的材料喔!

                CUPS 的办理介面表示图
                图四、CUPS 的办理介面表示图

                然后如下图所示,选择准确的安装地点处!我们假定运用的是 USB 的印表机衔接埠:

                CUPS 的办理介面表示图
                图五、CUPS 的办理介面表示图

                之后便是选择准确的型号啰,假定这部印表机为 HP 所生产的:

                CUPS 的办理介面表示图
                图六、CUPS 的办理介面表示图

                选择规范的雷射印表机驱动顺序吧!

                CUPS 的办理介面表示图
                图七、CUPS 的办理介面表示图

                最初都乐成后,就会找到如下所示的画面了。

                CUPS 的办理介面表示图
                图八、CUPS 的办理介面表示图

                到此为止我们可以假定你的 CUPS 曾经有一台印表机存在了,即便该印表机现在无法任务, 但是便是有一台印表机嘛!^_^!接上去看看怎样将他保持到我们的 Samba 效劳器中吧!


              52. 3. 在 smb.conf 当中参加印表机的援助
              53. 然后开端通知 Samba 将这部印表机给他分享出去吧!你需求如许处置:
                [root@linux ~]# vi /etc/samba/smb.conf
                [global]
                        .....其他省略.....
                        # 这里列出的则是印表机相干的材料啊!
                        printcap name = cups
                        load printers = yes
                        printing      = cups
                [printers]                             <==这个分享的资源称号肯定是 printers
                        comment     = All Printers
                        printable   = yes              <==可以停止列印的功用
                        browsable   = yes              <==可以让其别人阅读
                        public      = yes
                        valid users = @users dmtsai    <==可运用的职员有这些
                        path        = /var/spool/samba <==列印伫列的中央,暂存材料
                        printer admin = dmtsai         <==这是印表机办理员!需求可运用 SAMBA 者
                        .....其他省略.....
                
                根本上透过如许的设定你的 Samba 就可以顺遂的提供印表机的效劳了! 不外惋惜的是,Windows 用户端照旧得要装置印表机的驱动顺序才干够运用 Samba 所提供的印表机, 此时真是费事兼厌恶啊~有没有能够让 Samba 自动的提供驱动顺序给运用者,如许一来用户端就不需求额定去找驱动顺序啰! 是可以的,透过 Samba 3.x 即可处置!

                大概你会想,印表机的型号这么多,那么 Linux 该怎样提供这些印表机的驱动顺序啊?岂不费事? 还好啦, CUPS 次要是透过应用 Postscript 的列印言语与印表机相同的,因而用户端只需获得 postscript 的驱动顺序他们就可以运用我们的 Samba 效劳器所提供的印表机了!云云一来, 不管印表机的型号为何,只需他们可以援助 Postscript 的列印款式,OK 搞定!并且 CUPS 官网自身就有提供 CUPS 的 Postscript 驱动顺序啰!可以究竟下的保持去下载:
                由于 CentOS 4.x 运用的是 1.1.x 版本,以是鸟哥下载的是 cups-samba-5.0rc3.tar.gz 这个文件, 接上去我们要将这个文件解紧缩,然后将相干的顺序给他装置到准确的目次去。 不外您得要留意的是,除了这个驱动顺序外,要援助 Windows 2000/xp 的用户端, 你还失掉 Windows XP 的底下目次去下载几个文件:
                  C:\WINDOWS\system32\spool\drivers\w32x86\3
                外面的 PS 扫尾的文件统统下载上去,应该有四个文件的,请将他复制成为小写的文件,而且安排到你 Samba 主机上的 /usr/share/cups/drivers/ 目次下,然后将 cups-samba-5.0rc3.tar.gz 解紧缩后实行 ./cups-samba.install 文件, 就可以将驱动顺序统统装置到 /usr/share/cups/drivers/ 目次下了!这便是根本的驱动顺序说! 在鸟哥的这个目次底下至多含有这几个文件便是了:
                [root@linux ~]# ll /usr/share/cups/drivers
                -r--r--r--  1 root root  14234 Sep 24  2002 cups5.hlp
                -r--r--r--  1 root root 280268 Jan  4  2004 cupsdrv5.dll
                -r--r--r--  1 root root 219540 Jan  4  2004 cupsui5.dll
                -rw-r--r--  1 root root 129024 Dec 27 14:18 ps5ui.dll
                -rw-r--r--  1 root root 455168 Dec 27 14:18 pscript5.dll
                -rw-r--r--  1 root root  27568 Dec 27 14:18 pscript.hlp
                -rw-r--r--  1 root root 792644 Dec 27 14:18 pscript.ntf
                
                上述的文件鸟哥将他打包成为一个文件了,你可以在底下的保持下载:
                不外您得留意,这个文件内的 Windows 材料是由 Windows XP 下面捉来的,以是关于 Windows 98/ME 是没有作用的。 您得自行上彀查阅相干的材料下载方法喔。 接上去我们必需要在 smb.conf 外面添加一笔新的分享材料,这个分享材料必需是 [print$] 称号才行! 有点相似如许啦:
                [root@linux ~]# vi /etc/samba/smb.conf
                        .....其他省略.....
                [print$]
                        comment    = Printer drivers
                        path       = /etc/samba/drivers  <==寄存印表机驱动顺序的目次
                        browseable = yes
                        read only  = yes
                        write list = dmtsai              <==这个驱动顺序的办理员
                        .....其他省略.....
                
                [root@linux ~]# mkdir /etc/samba/drivers
                [root@linux ~]# chown dmtsai /etc/samba/drivers
                # 由于我们将印表机办理员以及驱动顺序办理员的身份设定为 dmtsai 这个运用者,
                # 因而寄存的目次也要改动一下权限才行呐!
                
                [root@linux ~]# testparm                 <==测试语法
                [root@linux ~]# /etc/init.d/smb restart  <==重新启动
                
                [root@linux ~]# smbclient -L //127.0.0.1 -U dmtsai
                Password: <==输出暗码先
                Domain=[VBIRDSERVER] OS=[Unix] Server=[Samba 3.0.10-1.4E.9]
                
                    Sharename    Type      Comment
                    ---------    ----      -------
                    print$       Disk      Printer drivers
                    hplaser2300  Printer   HP Laser Jet 2300 printer
                # 瞧!有看到一台印表机以及驱动顺序地点的分享材料啰!
                
                如今我们的要见告 Samba 说,我们的 CUPS 可提供 Windows 2000/XP 用户真个驱动顺序, 以是用户不需求自行设定他们的驱动顺序哩!要由 cups 见告 Samba 是由 cupsaddsmb 这个指令来搞定的, 整个指令的实行很复杂的:
                [root@linux ~]# cupsaddsmb -H [SAMBA 主机名] -h [CUPS 主机名] \
                >   -a -v -U [运用者帐号]
                参数:
                -H :后续接的是 Samba 主机名,本机的话可以间接用 localhost 即可;
                -h :后续接的为 CUPS 的主机名,异样的可运用 localhost 即可;
                -a :搜索一切可用的印表机;
                -v :列出更多的资讯;
                -U :印表机办理员
                
                典范:应用后面的阐明将印表机驱动顺序挂上 SAMBA
                [root@linux ~]# cupsaddsmb -H localhost -U dmtsai -a -v
                Password for dmtsai required to access localhost via SAMBA: <==输出 dmtsai 暗码
                # 这里会闪过许多的讯息,阐明曾经装置了某些资讯,底下鸟哥仅列出复杂的讯息罢了。
                putting file /usr/share/cups/drivers/pscript5.dll as 
                \W32X86/pscript5.dll (1438.5 kb/s) (average 1342.5 kb/s)
                
                Printer Driver hplaser2300 successfully installed.
                
                Succesfully set hplaser2300 to driver hplaser2300.
                
                [root@linux ~]# ll /etc/samba/drivers
                drwxr-xr-x  3 dmtsai dmtsai 4096 Dec 27 14:40 W32X86
                
                最初在驱动顺序的寄存目次会多出一个 W32X86 的目次,你可以盘问一下该目次的内容, 那便是估计要给用户端运用的驱动顺序啦!如许就搞定了!不外,为了将一切的材料统统驱动, 发起您将 CUPS 及 SAMBA 统统重新启动吧!
                [root@linux ~]# /etc/init.d/cups restart
                [root@linux ~]# /etc/init.d/smb restart
                

              54. 4. 一些题目的克制:
              55. 假如统统顺遂的话,你在 Windows 用户端应该可以顺遂的衔接到印表机啰! 开心吧!不外,假如你已经印错材料,那么该怎样进入 Linux 的 Samba 主机将该材料移除呢? 你最好晓得底下的几个指令,关于这些指令的进阶用规律请自行给他 man man 看了:
                [root@linux ~]# lpstat -a
                hplaser2300 accepting requests since Jan 01 00:00
                # 列出一切可用的印表机形态
                
                [root@linux ~]# lpq
                hplaser2300 is ready
                no entries
                # 列出印表机的任务,如有列印任务存在时,会如下所示:
                hplaser2300 is ready and printing
                Rank    Owner   Job  File(s)                 Total Size
                active  dmtsai   5   smbprn.00000003 测试页  42954752 bytes
                
                [root@linux ~]# lprm all
                # 移除一切等候中的列印任务!
                
                列印任务便是如许停止的啦!赶忙试看看吧!


                小标题的图示平安性办理
                运用 SAMBA 实在是有肯定水平的风险性的,这是由于许多网络打击的蠕虫便是透过 NetBIOS 来打击的! 因而,在搭建好了 SAMBA 之后,请记得将权限方面的任务做好!权限方面的任务除了 smb.conf 内的设定外, Linux 文件零碎的 r, w, x 权限也是相称紧张的喔!我们底下就复杂的引见一下一些根本的平安性办理吧!


              56. 应用 iptables 来办理
              57. 最复杂的办理登入 SAMBA 的办法便是透过 iptables 啦!细致的阐明我们曾经在 防火墙章节当中提过了,以是这里不在详加阐明。 要晓得的是,假如你仅要针对底下的范畴开放 Samba 时,可以如许想:
                • 仅针对 192.168.1.0/24 这个网络开放 SAMBA;
                • SAMBA 的 port 有 137~139 tcp/udp;
                • SAMBA 主机的网络卡为 eth0
                以是 iptables.rule 规矩当中应该要参加这几项:
                iptables -A INPUT -p tcp -i eth0 -s 192.168.1.0/24 --dport 139     -j ACCEPT
                iptables -A INPUT -p udp -i eth0 -s 192.168.1.0/24 --dport 137:138 -j ACCEPT
                
                固然啦!这是很复杂很复杂的防火墙规矩,您必需要根据您的情况自行修正 (通常修正谁人 192.168.1.0/24 网段即可!) 。除了 iptables 必需要开放之外,您还需求将控制 daemon 能否可以收支的 TCP Wrappers 开放才行呐!假如万一您看到 /etc/hosts.deny 外面多了这一行:
                [root@linux ~]# cat /etc/hosts.deny
                ALL : ALL
                
                不要疑心,很能够会形成不但 SAMBA 不克不及举措罢了~连其他的 daemon 都能够会无法举措呢!以是,请将这一行拿失吧! 或许是将合适的 daemon 开放在 /etc/hosts.allow 文件外面喔!


              58. smb.conf 的设定值
              59. 现实上 Samba 曾经有很多防火墙机制啦!那便是 hosts allow 及 hosts deny 这两个参数。 通常我们只需运用 hosts allow 即可,那么没有写入这个设定项目标其他泉源就会被回绝连线的! 举例来说,假如你只想要让本机、192.168.1.11, 192.168.1.21 运用 SAMBA 罢了,那么可以如许写:
                [root@linux ~]# vi /etc/samba/smb.conf
                [global]
                        # 跟平安有关
                        hosts allow = 127. 192.168.1.11 192.168.1.21
                	smb ports = 139
                
                云云一来不光只要数部主机可以登入我们的 SAMBA 效劳器,并且 Samba 只能以规范的 port 139 来保持, 封闭 Windows 常用且有点题目的 port 445 呢!如许会比拟好一些啦! 将来假如另有人想要保持你的 Samba 时,将他参加 hosts allow 前面即可! 不难吧! ^_^


              60. 应用 Quota 限定运用者空间运用
              61. quota 是磁碟配额限定的一个 daemon ,您可以根据差别的运用者来加以限定他们可以运用的硬碟空间, 条件是‘该磁碟空间必需是一个独立的 partition ’才行,不发起针对根目次 ‘ / ’停止 quota !这也是为什么我们在主机计划时特殊发起各人独立出一个 partition 来停止硬碟计划的缘由!关于 quota 的细致用法在‘ 鸟哥的 Linux 私房菜--根底学习篇’外面曾经谈得很清晰了, 这里我们不再详谈!只给各人来做个训练便是了!

                例题:
                在计划主机的时分,我将 /dev/hda2 独立一个 partition 给 /home 这个目次,如今想要计划 quota 针对 dmtsai 这个运用者停止磁碟配额的限定,他的 hardlimit 为 50mb 而 softlimit 为 40mb ,叨教整个举措应该怎样停止?
                答:
                1. 编辑修正 /etc/fstab ,使得 /dev/hda2 这个 partition 成为如下容貌:
                  /dev/hda2 /home  ext3  defaults,usrquota,grpquota 1 1
                  修正终了之后,请万万记得运用 mount -a 盘问看看有没有设定错误 (下面统共只要六个栏位喔!), 这个举措假如发作错误,那么请记得再次的停止 /etc/fstab 的修正!请特殊注意啊!由于写错的话, 很容易形成无法正常开机的困境!

                2. 上述举措确定没有题目之后,请重新开机启动 quota 的援助:
                  sync; sync; sync; reboot
                3. 实行底下的指令,树立 quota 所需求的设定文件:
                  quotacheck -avug
                  特殊留意,假如上述的举措发作‘找不到设定档’的意思的讯息时,您可以如许做:
                  touch /home/aquota.user; touch /home/aquota.group
                  然后再停止一次 quotacheck 即可!

                4. 启动 quota 啰:
                  quotaon -av
                5. 设定 bird 的磁碟配额:
                  edquota -u dmtsai
                  Disk quotas for user dmtsai (uid 501):
                  Filesystem   blocks    soft  hard inodes  soft  hard 
                  /dev/hdb2        32  40000  50000     8     0     0
                  由于我们只针对硬碟空间,不针对 inode 做限定,以是只需后面的数字修订即可!请留意,数字的单元为 kbytes !


              62. 关于备份
              63. 跟 SAMBA 最有关确当然便是运用者的资讯啰!以是,您应该要备份的便是运用者的材料,以及 Samba 相干的设定材料了!比拟相干的有几个咚咚:
                • /etc (由于含有 /etc/passwd 以及 /etc/samba 外面的材料,以是发起可以全部给他备份上去 )
                • /home (照旧可以观察一下,能否有其他非须要的!不外,普通来说,都市是备份的团体材料比拟多啦!)
                • 其他由 smb.conf 外面设定开放的目次。
                无论怎样,备份照旧挺紧张的!

                小标题的图示主机装置时的计划与中文磁区挂载
                如今您晓得 Samba 效劳器的功用是用来作为文件效劳器的,每个运用者都可以拥有家目次, 并透过网芳的功用来保持到 Samba 效劳器中。这就有个题目啦,那便是你的运用者假如太多, 而且将他们的紧张材料都放到这部 Samba 主机上头的话,那一定 /home 将来会有点缺乏啊! 以是 /home 地点的磁碟大概可以运用大一点的硬碟,或许运用磁碟阵列,运用 LVM 也是个不错的方案。 底下为复杂的考虑偏向:
                • 在装置 Linux 的时分,发起不需求装置 X Window ;
                • 在计划 Linux 时,/home 最好独立出一个 partition ,并且硬碟空间最好可以大一些;
                • /home 独立出来的 partition 可以独自停止 quota 的作业,以标准每个运用者可以运用的最大硬碟容量;
                • 由于 SAMBA 可以做为印表机效劳器,以是发起印表机可以间接衔接在 Linux 主机的列印埠 (LPT1, USB...);
                • 由于 SAMBA 普通来说都仅针对外部 (LAN) 主机停止开放,以是,能够的话 SAMBA 主机间接运用外部保存 IP 来设定即可,固然啦, SAMBA 能否运用 private IP 还得视您的整个网络的 IP 网段的特性来计划。 以鸟哥研讨室来说,由于实行室一切电脑的 IP 都是 Public IP,那么 SAMBA 假如运用 Private IP ,固然各人都无法衔接上啊! ^_^
                • 假如您的 SAMBA 主机运用 Public IP 时,请特殊注意标准好防火墙的设定,只管即便仅让 LAN 内的电脑可以连线出去即可,不要对 Internet 开放喔!
                别的,假如你的 Samba 效劳器需求挂载含有中文的 partition 时,譬如说你将本来 Windows XP 的 FAT32 文件零碎挪到 Linux 零碎下,此时假如用普通形式来挂载该联系槽时,一些中文档名能够会无法被顺遂的列印出来。 这个时分你就得需求如许做了:
                mount -t vfat -o iocharset=big5,codepage=950 /dev/hd[a-d][1-16] /mount/point
                
                此中 iocharset 指的是本机的语系编码方法, codepage 则与远端软件有关。由于我们是在本机停止挂载, 以是实践上运用 iocharset 这个参数即可啦!更多阐明则请看下节的用户端设定局部啰!

                大标题的图示Samba 用户端软件功用
                如今你曾经搭建好了 Samba 效劳器啦!有效劳器固然要有效户端来运用才是好的效劳器嘛!否则要这个效劳器干嘛? 而我们假定地区网络内有 Windows/Linux 零碎,这两种零碎都是透过 NetBIOS over TCP/IP 来连上 Samba 主机的, 在设定之前你必需要晓得的有几件事:
                • 在区网内的主机最好具有相反的任务群组,且具有差别的主机称号;
                • Windows XP pro. 最多仅能容许十个用户同时衔接到网芳;
                • 你可以在网芳当中看到的通常是相反群组的主机;
                • 可以运用‘搜索’-->‘电脑’-->‘输出 IP’来查到 Samba 主机;
                • Windows 的网芳预设仅有统一网络的主机才干登入!
                接上去我们就辨别按照 Windows XP 及 Linux 零碎来做阐明吧!


                小标题的图示Windows 零碎的运用
                在 Windows 下面的搜索真实挺复杂的,你有好几种办法可以处置:
                • 翻开‘文件总管’,‘网络上的芳邻’、‘整个网络’、‘Microsoft Windows Network’ 就能看到属于您群组的一切电脑主机了!

                • ‘开端’、‘搜索’、‘文件或材料夹’、‘电脑某人员’、‘网络上的电脑’, 然后在呈现的方框当中填写准确的 IP ,按下‘搜索’即可! 这个办法可以实用于不在统一个群组当中的网络主机喔!
                举例来说,假如想要衔接到我们的 Samba 主机的话,而又不知到这部 Samba 主机的 NetBIOS name , 那应用搜索的后果会有点相似如下的图示:

                Windows XP 用户端搜索表示图
                图九、Windows XP 用户端搜索表示图

                上图九中先在左侧的中央输出准确的 IP 后,按下搜索,假如统统顺遂的话那么右上方就会呈现这部 Samba 主机的阐明了。 双击一下该主机称号,就会呈现右下方的项目!瞧!那便是我们所设定的几个根本项目标啦!真是好快乐! 然后你就可以开端进入绝对应的目次停止材料的存取了,就这么复杂。 假如是印表机的话,那么你将滑鼠挪动到印表机的上方,按下右键后可以选择‘连线’的项目, 如下所示:

                Windows XP 用户端连线印表机表示图
                图十、Windows XP 用户端连线印表机表示图

                假如统统顺遂的话,嘿嘿!你就可以在点选‘开端’、‘设定’、‘印表机和传真’后所呈现的视窗看到这部印表机啰! 真是好棒呐! ^_^


              64. 让 Windows 零碎的网芳援助差别网络的 IP 连线
              65. 由于 Windows XP sp2 这个作业零碎版本预设的防火墙仅开放相反网络的 IP 泉源运用本机的网芳材料, 以是假如是差别的网络想要运用时,预设是无法穿透 Windows 防火墙的。此时你可以修正一下防火墙的设定啊! 请叫出控制台,然后点选‘Windows 防火墙’就会呈现如下的图示了:

                Windows XP 效劳器防火墙表示图
                图十一、Windows XP 效劳器防火墙表示图

                依照上图的阐明,依序点选‘破例’、‘文件及印表机共用’、‘编辑’后, 就会呈现该防火墙机制所办理的端口以及可连线的网络,如下图所示:

                Windows XP 效劳器防火墙表示图
                图十二、Windows XP 效劳器防火墙表示图

                你可以将四组端口统统改动成你所需求的 IP 泉源,或许是将他设定为任何电脑都能连线。 不外,鸟哥不发起喔!可以参考底下的作法:

                Windows XP 效劳器防火墙表示图
                图十三、Windows XP 效劳器防火墙表示图

                选择自订的方法来设定可以运用你 Windows 网芳材料的泉源 IP 或网段即可,然后确定之后即可处置呐! 如许一来,实时我们的 Linux 不与 Windows 同在一个网络中,也可以登入 Windows 存取网芳材料哩。


              66. 透过 port 445 的特别登入方法
              67. 假如你晓得 Samba 主机有分享出 port 445 ,而且他曾经分享了某个目次时,举例来说, 我们的 192.168.1.254 有分享出 public 这个分享资源称号时,那么这个目次的完好写法为:‘ \\192.168.1.254\public ’,我们可以透过‘开端’、‘实行’来处置这个玩意儿! 如下所示:

                Windows XP 透过 port 445 连线
                图十四、Windows XP 透过 port 445 连线

                假如可以登入的话就会顺遂登入,不然就会弹出一个要你输出帐号暗码的视窗,输出准确的材料即可! 呼呼!真过瘾~除此之外,我们还可以登入他人 Windows 主机的 C 或 D 槽喔!写规律酿成如许:
                  \\192.168.1.21\c$
                以是说,怕了吧!俺还真惧怕~以是啊,Samba 没须要时,谁人 port 445 应该是可以封闭的吧!

                小标题的图示Linux 零碎的运用
                我们的 Samba 有提供 Linux 网芳的用户端功用喔!也便是说 Linux 可以挂载 Samba 主机也能挂载 Windows 提供的网芳啦! 次要是透过 smbclient 来察看,再以 smbmount 或 mount 来挂载磁区哩。先来引见一下 smbclient 这个指令吧:
                1. 关于盘问的功用
                [root@linux ~]# smbclient -L //[IP|hostname] [-U username]
                [root@linux ~]# smbclient -L //127.0.0.1 -U dmtsai
                Password:
                Domain=[VBIRDSERVER] OS=[Unix] Server=[Samba 3.0.10-1.4E.9]
                ....分享的资源输入省略....
                Domain=[VBIRDSERVER] OS=[Unix] Server=[Samba 3.0.10-1.4E.9]
                
                    Server           Comment
                    ---------        -------
                
                    Workgroup        Master
                    ---------        -------
                    VBIRDGRP         VBIRD_OP_2
                    VBIRDHOUSE       VBIRDSERVER
                # 从这里可以晓得在现在网络当中有几多个任务群组与次要的称号剖析主机
                
                除了这个先前用过的盘问功用之外,我们可以如许浅易运用网芳的:
                2. 应用相似 FTP 的方法登入远端主机
                [root@linux ~]# smbclient '//[IP|hostname]/资源称号' [-U username]
                # 意思是运用某个帐号来间接登入某部主机的某个分享资源,举比方下:
                [root@linux ~]# smbclient '//127.0.0.1/dmtsai' -U dmtsai
                Password:
                Domain=[VBIRDSERVER] OS=[Unix] Server=[Samba 3.0.10-1.4E.9]
                smb: \> dir
                # 在 smb 底下实在便是在 //127.0.0.1/dmtsai 这个目次底下啦!以是,
                # 我们可以运用 dir, get, put 等常用的 ftp 指令来停止材料传输了!
                ?   :列出一切可以用的指令,常用!
                cd  :变更到远端主机的目次
                del :杀失某个文件
                lcd :变更本机真个目次
                ls  :观察现在地点目次的文件
                dir :与 ls 相反
                get :下载单一文件
                mget:下载少量文件
                mput:上传少量文件
                put :上传单一文件
                rm  :删除文件
                # 其他的指令用法请参考 man smbclient 喔!
                
                现实上,运用 smbclient 一点也不方便,由于运用的是 ftp 的功用语法,有点怪怪的~能不克不及像 Windows 那样,可以间接连线网络磁碟机啊?这固然没有题目!不外就需求藉由 smbmount 来帮忙了!smbmount 可以将远端主机分享出来的目次整个给他 mount 到本机的 mount point (某个目次),云云一来, 远端主机的目次就仿佛在我们本机的一个 partition 一样喔!可以间接实行复制、编辑等举措!这可就好用的多了! 底下我们来谈一谈怎样用这个 smbmount 吧!
                [root@linux ~]# smbmount //IP/分享资源 /挂载点 [-o options]
                参数:
                -o 前面接的参数 (options) 常用的有底下这些:
                   username=你的登入帐号:比方 username=dmtsai
                   password=你的登入暗码:需求与下面 username 绝对应啊!
                   iocharset=本机的语系编码方法,如 big5 或 utf8 等等;
                   codepage=远端主机的语系编码方法,比方繁体中文为cp950
                
                典范一:以 dmtsai 的身份将其家目次挂载至 /mnt/samba 中
                [root@linux ~]# smbmount //127.0.0.1/dmtsai /mnt/samba
                > -o username=dmtsai,password=pw_test,codepage=cp950
                [root@linux ~]# df
                //127.0.0.1/dmtsai  20161024  3088896  17072128  16% /mnt/samba
                
                经过 smbmount 的举措,我们就可以随便的将远端分享出来的咚咚给他挂载到本人 Linux 本机下面!好用的很~现实上,本来 mount 这个指令假如有援助 smbfs 的话, 那也就可以间接挂载网络上的芳邻分享出来的目次了!比方下面的例子当中,我们也可以如许下达指令:
                mount -t smbfs //127.0.0.1/dmtsai /mnt/samba \
                -o username=dmtsai,password=pw_test,codepage=cp950,iocharset=big5
                
                更细致的 mount 用法,请 man mount 或许看考‘鸟哥的 Linux 私房菜 -- 根底学习篇’的内容喔! ^_^


              68. 盘问 NetBIOS name 与 IP 及其他相干资讯:
              69. 如今我们可以透过一些 NetBIOS 相干的功用来获得 NetBIOS name ,不外,假如你还想要晓得这个 NetBIOS name 的其他资讯时, 比方 IP、分享的资源等等,那可以运用 nmblookup 这个指令来搞定即可。他是这么运用的:
                [root@linux ~]# nmblookup [-S] [-U wins IP] [-A IP] name
                参数:
                -S :除了盘问 name 的 IP 之外,亦会找出该主机的分享资源与 MAC 等;
                -U :前面普通可接 Windows 的次要称号办理效劳器的 IP ,可与 -R 互用;
                -R :与 -U 互用,以 Wins 效劳器来盘问某个 Netbios name;
                -A :绝对于其他的参数, -A 前面可接 IP ,藉 IP 来找出绝对的 NetBIOS 材料;
                
                典范一:藉由本机找出 vbirdserver 这部主机的 IP 位址
                [root@linux ~]# nmblookup -U localhost vbirdserver
                querying vbirdserver on 127.0.0.1
                192.168.1.254 vbirdserver<00>
                
                典范二:找出 vbirdserver 的 MAC 与 IP 等资讯:
                [root@linux ~]# nmblookup -S vbirdserver
                querying vbirdserver on 192.168.1.255
                192.168.1.254 vbirdserver<00>
                Looking up status of 192.168.1.254
                        VBIRDSERVER     <00> -         B <ACTIVE>
                        ..__MSBROWSE__. <01> - <GROUP> B <ACTIVE>
                        VBIRDHOUSE      <1e> - <GROUP> B <ACTIVE>
                
                        MAC Address = 00-00-00-00-00-00 <==由于是本机材料,以是 MAC 会成为如许
                

              70. 应用 smbstatus 察看 SAMBA 的形态
              71. 假如想要查阅现在 SAMBA 有多大家来连线且哪些资源分享曾经被运用的话,可以如许看:
                [root@linux ~]# smbstatus [-pS] [-u username]
                参数:
                -p :列出曾经运用 SAMBA 连线的顺序 PID ;
                -S :列出曾经被运用的资源分享形态;
                -u :只列出某个运用者相干的分享材料
                
                典范一:列出现在主机完好的 Samba 形态
                [root@linux ~]# smbstatus
                Samba version 3.0.10-1.4E.9
                PID     Username      Group         Machine
                -------------------------------------------------------------------
                 4973   dmtsai        dmtsai        127.0.0.1    (127.0.0.1)
                # 下面列出的是与 PID 有关的资讯,可用 smbstatus -p 单纯列出
                
                Service      pid     machine       Connected at
                -------------------------------------------------------
                dmtsai        4973   127.0.0.1     Thu Dec 28 10:58:36 2006
                # 下面列出的则是分享资源,谁人 Service 便是分享的目次。
                
                你可以透过这个小顺序来理解到现在有几多人运用你的 SAMBA 的啦!

                大标题的图示效劳器进阶办理
                除了后面提到的几个资讯之外,在这里我们也来谈谈怎样让你的 Samba 作更多的事变! 包罗将 Windows 运用者的家目次放到 Samba 上头呢!^_^


                小标题的图示让 Samba 办理网络运用者:PDC
                后面引见的内容都是属于 Peer/Peer 的连线情况,也便是 Samba 效劳器与 Windows 用户端实在是对等位置的啦! 以是 Windows 用户端需求晓得 Samba 效劳器内的帐号暗码材料后,才干够顺遂的运用 Samba 的资源。 不外,如许的方法在较大型一些的地区网络情况能够就会有点困扰,比方学校的情况。

                举例来说,假如你有一个电脑课堂外面有 50 部 Windows XP Pro. 的团体电脑,由于电脑课堂各人都市运用, 因而外面这 50 部团体电脑有运用复原精灵,也便是每次电脑重新开机后整个作业零碎就会复原成本来的样子。 但我们晓得运用者总是需求有团体家目次吧?他们总不盼望这次的任务在重新开机后就得到了~ 以是我们可以应用一台主机来让他们贮存材料啊!那便是 Primary Domain Controller (PDC) 主机啰。

                实在 Samba PDC 的作用很复杂,便是让 Samba PDC 成为整个地区网络的范畴办理员 (domain controller), 然后让 Windows 主机参加这个范畴,将来运用者应用 Windows 登入时,Windows 会前去 PDC 效劳器获得运用者的帐号暗码, 同时 PDC 还会传送运用者的紧张材料到那部 Windows 团体电脑上,而 Windows 电脑上的运用者登出时, 该运用者修正过的材料也会回传给 PDC ,云云一来不论这个运用者在哪一台团体电脑下面登入, 他都可以获得准确的团体材料!很棒的作用吧!

                PDC 是个很庞大的情况,他可以到达的功用相称的多,并且暗码的验证也不用在统一台 PDC 主机下面, 不外这里我们不谈那么庞大的工具,只是做一个复杂的训练,因而底下的这部 PDC 运用本人的暗码来停止验证, 而且也办理本人所分享出去的资源啰!整个根本的设定流程应该是如许的:
                • 设定好 PDC 主机的 TCP/IP 与 Windows 主机的网络,这个你应该已知怎样处置了;
                • 设定 PDC 的脚色定位,由于 PDC 办理本人的暗码,以是 security = user
                • PDC 最好拥有整个网络的称号剖析权利,亦即成为次要的称号剖析器;
                • 需有 netlogon 资源分享,提供 windows 2000/XP pro. 用户真个登入之用;
                • 由于 Windows 需读入团体设定档,预设目次为 profile,Linux 零碎需事后设定此目次;
                • 添加 PDC 上的运用者帐号以及呆板代码 (machine account) 等等
                • 在 Windows 2000/XP pro. 团体电脑上设定成为 PDC 的用户端。
                底下我们就来依序处置处置先!


              72. 0. 设定 lmhosts 或 /etc/hosts 对应 Netbios 与 IP
              73. 由于我们的 Samba 行将成为整个网络的称号剖析者,因而你最好将整个网络的 NetBIOS name 与 IP 的对应写入此这个文件当中。固然啦,假如你的网络 IP 的获得为 DHCP ,那这个文件就不要写了吧! 以我们这个案例为例,这个文件的内容应该是:
                [root@linux ~]# vi /etc/samba/lmhosts
                127.0.0.1       localhost
                192.168.1.254   vbirdserver
                192.168.1.21    vbirdcpu2
                192.168.1.11    vbirdcpu1
                

              74. 1. 设定 smb.conf 成为具有 PDC 的才能
              75. 假定我们要让 PDC 用户端登入时可以获得他本人的家目次,那么需求如许处置:
                [root@linux ~]# vi /etc/samba/smb.conf
                [global]
                        workgroup         = vbirdhouse
                        netbios name      = vbirdserver
                        server string     = This is vbird's samba server
                        unix charset      = utf8
                        display charset   = utf8
                        dos charset       = cp950
                        log file          = /var/log/samba/%m.log
                        max log size      = 50
                        socket options    = TCP_NODELAY SO_RCVBUF=8192 SO_SNDBUF=8192
                        dns proxy         = no
                        template shell    = /bin/false
                        winbind use default domain = no
                        security          = user
                        encrypt passwords = yes
                        smb passwd file   = /etc/samba/smbpasswd
                        printcap name     = cups
                        load printers     = yes
                        printing          = cups
                
                        # 与 PDC 有关的一些设定值:
                        # 底下几个设定值处置成为本地区网络内的次要称号剖析器
                        preferred master = yes
                        domain master    = yes
                        local master     = yes
                        wins support     = yes
                        # 作业零碎 (OS) 品级越高才干成为主网络的控制者,普通 NT 为 32,
                        # Windows 2000 为 64 ,以是这里我们设定高一点,但不行超越 255
                        os level = 200
                        # 底下则是设定可否应用 PDC 登入,且登入需求停止哪些举措:
                        domain logons = yes
                        logon drive   = K:          <==登入后家目次挂载成 Windows 哪一槽
                        logon script  = startup.bat <==每个运用者登入后会主动实行的顺序
                        time server   = yes         <==主动调解 Windows 工夫与 Samba 同步
                        admin users   = root        <==预设的办理员帐号!预设为 root 
                # 由于鸟哥不喜好在 Samba 当中运用 root ,以是这里你也可以指定成其他帐号。
                
                # 这个在指定登入者可以停止的任务,外面次要是具有很多实行顺序:
                [netlogon]  <==与后面的 logon script 有关,该顺序安排在这里
                   comment         = Network Logon Service
                   path            = /home/samba/netlogon  <==你要本人自动树立此目次
                   writable        = no
                   write list      = root
                   follow symlinks = yes
                   guest ok        = yes
                
                [homes]
                        comment = Home directories
                        browseable = no
                        writable = yes
                        valid users = %S
                        create mode = 0664
                        directory mode = 0775
                [temp]
                        comment   = Temporary file space
                        path      = /tmp
                        read only = no
                        public    = yes
                
                [root@linux ~]# testparm
                [root@linux ~]# /etc/init.d/smb restart
                
                下面的设定有几个中央比拟风趣一点:
                • time server:要使 Samba 与 Windows 主机的工夫同步,运用这个项目;
                • logon script:当运用者以 Windows 用户端登入后,Samba 可以提供一支批次档, 让运用者去设定好他们本人的目次设置装备摆设。整个设置装备摆设的内容记载在 startup.bat 当中。 你要留意的是,这个 startup.bat 档名可以随意变动,不外他必需要安排到 [netlogon] 所指定的目次内;
                • logon drive:那么这个家目次要挂载到谁人联系槽? 在 Windows 底下大多以 C, D, E... 做为磁碟的代号,你这里可以指定一下家目次要安排成为谁人磁碟代号;
                • admin users:指定这个 Samba PDC 的办理员身份。
                • [netlogon]:指定应用网络登入时起首去盘问的目次资源。

              76. 2. 树立所需求的目次与文件
              77. 先来树立 [netlogon] 内所需求的材料好了,那便是一个目次:
                [root@linux ~]# mkdir -p /home/samba/netlogon
                
                接上去我们还得要树立容许运用者实行的文件,便是谁人 startup.bat 才行! 留意一下,我们这里假定运用者家目次为 K 槽,而 Samba 额定分享的 temp 则为 L 槽, 那你可以如许做:
                [root@linux ~]# vi /home/samba/netlogon/startup.bat
                net time \\vbirdserver /set /yes
                net use K: /home
                net use L: \\vbirdserver\temp
                # 这个文件的款式为:net use [device:] [directory]
                
                # 再将该文件转成 DOS 的断行款式才行!由于是提供应 Windows  零碎嘛!
                [root@linux ~]# unix2dos /home/samba/netlogon/startup.bat
                [root@linux ~]# cat -A /home/samba/netlogon/startup.bat
                net time \\vbirdserver /set /yes^M$
                net use K: /home^M$
                net use L: \\vbirdserver\temp^M$
                # 瞧见吗?会多出个奇异的 ^M 标记,那便是 Windows 断行字元。
                

              78. 3. 树立运用者
              79. 在 Samba 外面树立运用者便是应用 smbpasswd 这个指令罢了,我们曾经树立过,以是这里不再阐明。 但是由于我们需求 root 这个帐号来办理 PDC 与 Windows 用户端之间连线树立时所需求的权限, 以是你必需要树立起这个运用者才行。树立的办法很复杂,间接如许做吧:
                [root@linux ~]# smbpasswd -a root
                
                别的,我们都晓得 Windows XP pro. 的运用者设定档会被安排到‘ C:\Documents and Settings\运用者帐号 ’目次中, 在该目次底下会有相似桌面、我的最爱、使用顺序设定、启动、我的文件夹啊等等的, 这些工具会安排到 Samba PDC 的那边去备份啊?实在是安排到:
                  /home/运用者帐号/profile/
                目次下的,该目次预设会被自动的树立起来,不外偶而会有一些权限错误的题目~伤头脑~ 以是你可以事后处置该目次,以 chmod 或 chown 来改动成该运用者可以存取的权限。 别的,为了防止困扰,关于新增的运用者而言,你可以如许做:
                [root@linux ~]# mkdir /etc/skel/profile
                
                那当前新增的运用者都有可以寄存来自 Windows 的特别设定档目次喔!比拟好办理啰~ 固然啦,运用 useradd 新增运用者后,记得也要运用 smbpasswd -a username 来让该运用者可以运用 Samba 喔!


              80. 4. 树立呆板码帐号
              81. 由于 PDC 会针对 Windows 用户真个主机称号 (NetBIOS name) 停止主机帐号反省, 以是我们也要为用户真个主机称号停止帐号的设定。咦!啥是主机帐号? 普通运用者帐号是英文或数字,主机帐号则在该帐号最初面加上一个钱字号‘$’即可! 举例来说, vbirdcpu2 这部主机可设定的帐号称号为 vbirdcpu2$。

                而我们晓得要运用 smbpasswd 添加的运用者必需要在 /etc/passwd 当中, 因而要树立这个帐号你就得要如许做:
                [root@linux ~]# useradd -M -s /sbin/nologin -d /dev/null vbirdcpu2$
                [root@linux ~]# useradd -M -s /sbin/nologin -d /dev/null vbirdcpu1$
                
                会添加 -M -s -d 等参数的缘由是由于不想要让这个帐号具有可以登入的权限, 因而将这个主机帐号设定的比拟怪一点~ ^_^~接上去让 Samba 晓得这个帐号是主机帐号, 以是你应该要如许做:
                [root@linux ~]# smbpasswd -a -m vbirdcpu1$
                [root@linux ~]# smbpasswd -a -m vbirdcpu2$
                
                如许便参加主机帐号啰!而我们的 Samba PDC 也就可以透过‘主机帐号’来判别 Windows 用户端可否连下去, 若衔接上 PDC 与 Windows 用户端后,接上去普通运用者帐号就可以在 windows 用户端登入了!


              82. 5. Windows XP Pro. 用户真个连线与登入
              83. 请留意,底下的办法仅是用于 Windows 2000, Windows XP 专业版 (Pro.),普通的 Windows XP home 版本是不援助的! 假如你用户真个主机是随机版的 Windows XP ,通常是 Windows XP home ,那底下的办法能够就无法实用啰! 要衔接上 Samba PDC 的进程也是挺复杂的,你可以如许做:
                1. 确认 windows 用户真个网络与主机称号

                  起首我们必需要确认 Windows 用户真个任务群组与主机称号跟我们的 Samba PDC 相反, 确认的方法在地区网络外面曾经提过了,这里在夸大一次。将滑鼠挪动到‘我的电脑’下面,按下右键, 选择‘内容’,然后点选‘电脑称号’,会呈现如下图示:

                  Windows 用户端连上 PDC 的方法
                  图十五、Windows 用户端连上 PDC 的方法

                  如上图所示,你要先确认箭头 1 处指的主机称号与任务群组,在我们这个案例当中的任务群组为 vbirdhouse, 这部 Windows 主机的 NetBIOS 称号则为 vbirdcpu2 喔!假如不合错误的话,请按下‘变卦’来设定, 而且重新开机。重新开机终了后再到图十五的画面当中,按下箭头 2 所指的网络辨认处。

                2. 设定主机称号与网络称号

                  接上去我们要设定这部 Windows XP pro. 要保持到地区网络上的哪部 PDC 下面, 亦便是处置主机帐号以及 Samba PDC 担任的网络 (domain) 啦! 在图十五按下‘网络辨认’后,辨别在呈现的视窗当中选择:

                  1. 下一步;
                  2. 这台电脑是公司网络的一台份,并且我在任务时用来连线到其他电脑(T)
                  3. 我的公司运用一或多个网络的网络(C)
                  4. 下一步


                  然后就会呈现如下的视窗:

                  Windows 用户端连上 PDC 的方法
                  图十六、Windows 用户端连上 PDC 的方法

                  请依序填写 Samba 主机下面的办理员帐号与暗码,要留意这个暗码是记载于 /etc/samba/smbpasswd 中的谁人,可不是 /etc/shadow 喔!别搞混了~这是 Samba 主机的设定呢。 输出之后按下一步吧,通常都市呈现找不到准确主机的画面,如下所示:

                  Windows 用户端连上 PDC 的方法
                  图十七、Windows 用户端连上 PDC 的方法

                  鸟哥也以为很奇异,总是通知我找不到!不外没有干系,这里我们照旧再填一次主机的 NetBIOS name 以及群组称号, 如上图所示,然后持续按下一步,就会呈现如下的画面啦:

                  Windows 用户端连上 PDC 的方法
                  图十八、Windows 用户端连上 PDC 的方法

                  这次就给他输出准确的办理员帐号与暗码,记得最初面的网络便是任务群组称号,别写错了。 处置终了后给他按下确定吧!然后就会呈现如下画面:

                  Windows 用户端连上 PDC 的方法
                  图十九、Windows 用户端连上 PDC 的方法

                  祝贺您,这就表现曾经衔接上 Samba PDC 啰!我们盼望一切的运用者都间接由 Samba PDC 办理,以是这里请填写 ‘此时不新增运用者’吧!按下一步去。

                3. 假如发作错误状况

                  假如总是发作错误讯息为‘运用的帐户是电脑帐户。请运用您的通用运用者帐户或本机运用者帐户来存取这台效劳器’时, 你可以如许做的:

                  • 先观察一下 /var/log/samba 外面的登录档资讯,尤其是 vbirdcpu2.log 关于这部主机的资讯呐;
                  • 假如照旧无法处理,可以在 lmhosts 外面添加 vbirdcpu2 的 IP 与主机称号的对应,然后将 samba 整个关失‘/etc/init.d/smb stop’,等候一段工夫让 NetBIOS 的称号剖析工夫逾时,再重新启动 samba ‘/etc/init.d/smb start’,然后再重新做一次输出 root 的暗码谁人举措

                  在鸟哥实验过的案例中,下面第二个步调挺无效的!不外,照旧得要观察 /var/log/samba 外面的登录资讯才行喔!

                4. 重新开机并以新的网络称号登入

                  在图十九之后请重新开机,开机后整个画面会有点相似如许:

                  Windows 用户端连上 PDC 的方法
                  图二十、Windows 用户端连上 PDC 的方法

                  请输出你在 Samba PDC 下面拥有的帐号与暗码,固然啦,上图中最底下的选项最紧张! 如今这部 Windows 主机可以运用他本人的帐号登入,也可以透过 Samba 主机来登入喔! 粉不错啦! ^_^

                5. 察看运用者的家目次与设定档

                  假如你可以顺遂登入的话,翻开文件总管后应该可以看到相似下方的画面:

                  Windows 用户端连上 PDC 的方法
                  图二十一、Windows 用户端连上 PDC 的方法

                  呵呵!该连上的统统保持下去啰!你也可以在本人的家目次 (K 槽) 新增移除材料的!能否很不错啊! ^_^! 而当你登出之后,你在 Windows 桌面上头所停止的各项团体化设定统统会被挪动到 /home/dmtsai/profile 当中喔! 假如不置信的话,请自行前去 Samba 主机上头瞧一瞧就晓得了。

                6. 一些运用下面的本领

                  固然 PDC 很好用,不外你要留意的是,每次你运用 PDC 上头的帐号登入 Windows 用户端主机时, Windows 主时机由 /home/username/profile/ 当中载入所需求的材料, 并临时启动一个材料夹在 C:\Documents and Settings\username 当中,假如你的家目次下的 profile 材料太多时, 光是传输就会花去许多工夫的!

                  以是,你应该将一些文件材料安排到你的家目次下,亦即 K 槽当中,只管即便不要运用 Windows 预设的‘我的文件夹’, 由于‘我的文件夹’会将材料挪动到 /home/username/profile/My Documents 目次下,异样的, 贮存到桌面的材料会被安排到 /home/username/profile/桌面 目次中,那样在登入与登出时会花去许多工夫喔! 这个小中央也要留意的呢! ^_^
                好了,关于 SAMBA 的 PDC 作法我们就谈到这里,另有更多的资讯您可曩昔往这个章节最初面的参考材料所列出的网址去查阅, 由于另有许多的作法呐!现实上,鸟哥以为在一个网络当中,假如有多部的 Windows NT 主机,比方 Windows 2000/XP pro. 这一类的比拟波动的团体运用桌面版本时,运用 PDC 就很有效了!由于 Windows 2000/XP pro. 也是一个多人的作业零碎,不像 Windows 98 是单人的作业零碎。以是,当运用 Windows 2000/XP pro. 而无法登入 PDC 时,您是无法运用 Windows 2000/XP pro. 下面的任何的资讯的。 但是在 Windows 98 下面若无法准确的登入,您依然具有该电脑的主控权喔!

                别的,设定 Windows 用户端之前,请先确认你的 Windows 是什么版本? 上述的举措关于 Windows XP 家用版 (Home) 是没有作用的!请先确认才行喔!


                小标题的图示题目克制
                通常我们在设定 SAMBA 的时分,假如因此 Workgroup 的方法来停止 smb.conf 的设定时,简直很容易就可以设定乐成了!并没有什么很困难的步调。不外,万一照旧无法乐成的设定起来, 请务必观察登录档,也便是在 /var/log/samba 外面的材料!在这外面的材料当中,您会发明:咦! 怎样这么多文件啊!由于我们在 smb.conf 外面设定了:
                  log file = /var/log/samba/%m.log
                谁人 %m 是指 Client 的 NetBIOS Name 的意思,以是,当有个 vbirdcpu2 的主机来登入我们的 vbirdserver 主机时,那么登入的资讯就会被记录在 /var/log/samba/vbirdcpu2.log 文件喔!而假如万一泉源 IP 并没有 Netbios name 的时分,那么很能够是一些错误讯息,这些错误讯息就会被记录到 log.smbd, log.nmbd 外面去了!以是,假如您要观察某部电脑连上您的 SAMBA 主机发作了什么题目时,特殊要注意这个登录档的方式喔!

                别的,假如您的 SAMBA 明显曾经启动完成了,却偏偏总是无法乐成,又无法查出题目时,发起先封闭 Samba 一阵子,再重新启动:
                  /etc/init.d/smb stop
                在我的案例当中,的确有频频是由于 PID 与 NetBIOS 的题目,招致整个 SAMBA 怪怪的~以是完好的封闭之后, 颠末一阵子的长久工夫,再重新启动,应该就可以规复正常了!

                另有,万一您在停止写入的举措时,总是发明‘您没有相干写入的权限!’,不要疑心,简直可以确定是 Permission 的题目,也便是 Linux 的权限与 SAMBA 开放的权限并不符合合!无论怎样,您必需要理解能不克不及写入 Linux 磁碟,看的是 PID 的权限与 Linxu 文件零碎能否符合,而谁人 smb.conf 外面设定的相干权限只是在 SAMBA 运作进程当中‘估计’要给运用者的权限罢了,并不克不及代替真正的 Linux 权限喔!以是,万一真的发明该题目存在, 请登入 Linux 零碎,检验一下该对应的目次的 permission 吧! ^_^


                小标题的图示运用者修正 samba 暗码
                有个题目是,我们晓得运用者可以透过 passwd 修正 /etc/shadow 内的暗码,那么运用者能否修正 samba 在 /etc/samba/smbpasswd 内的暗码呢?可以啊!间接输出 smbpasswd 就可以修正本人的暗码了! 十分复杂吧~不外,假如想要让 /etc/shadow 与 /etc/samba/smbpasswd 同步的话, 那就得要动点手脚了~您可以参考底下这两个保持来处置呢。

                小标题的图示应用 ACL 共同单一运用者时的办理
                想像一个案例,假如你是学校的网管职员,有个兼任教师向您请求帐号,次要是要在许多班级内获得同窗的专题材料。 由于该教师是兼任的,您大概担忧一不警惕该教员就将同窗的辛劳材料给烧毁,倒不是教员们成心的, 而是许多时分....不熟嘛!这个时分假如你将该教师参加同窗的群组,然后偏偏同窗们地点的目次是群组可写入的话, 那么该教员就可以拥有可读写的权限了,也就容易形成一些莫名的劫难~

                那该怎样办?实在可以透过 ACL 来办理某个目次的单一运用者权限啦!以是说, 权限的办理不用透过 smb.conf 的设定,只需透过 ACL 来办理就可以到达你所需求的目标了。 关于 ACL 的阐明我们在后面的看法网络平安当中曾经提过了, 这里不再啰唆,请自行前去查阅呐! ^_^

                大标题的图示重点回忆
                • Samba 称号的由来是由于需包括没故意义的 SMB server 之故;
                • SAMBA 可以让 Linux 与 Windows 间接停止文件零碎的运用;
                • SAMBA 是由 Andrew Tridgwell 在 1991 年的时分应用差别平台所开展出来的;
                • SAMBA 次要架构在 NetBIOS 上开展的,且以 NetBIOS over TCP/IP 克制 NetBIOS 无法跨路由的题目;

                大标题的图示课后训练
                • 普通来说, SAMBA 运用的设定档安排在那边?档名为何?
                • 运用的档名为 smb.conf ,通常会安排在 /etc/samba/smb.conf 外面,不外,最好可以运用 rpm -qc packagename 来盘问!
                • 哪一个指令可以用来判别 smb.conf 这个设定档的准确性?
                • 当我们修正完 smb.conf 之后,记得要以 testparm 来停止 samba 确实认!
                • 哪一个指令可以用来观察 SAMBA 主机分享出什么目次?
                • 应用 smbclient 即可:‘smbclient -L NetBiosName -U username ’!
                • smbmount 的功用为何?
                • 在 Linux 零碎下面,将 Windows 的网络上的芳邻,或许是 Linux 的 SAMBA 所提供分享的资源挂载到本人的零碎下!
                • 我明天运用 smbpasswd 去新增一位运用者 badbird,让他可以登入我的 Linux SAMBA 主机,但是无论怎样便是无法新增。您以为缘由能够是什么?
                • 由于 Samba 运用者的资讯必需要存在于 /etc/passwd 外面,既然无法新增,应该先确认 badbird 这个运用者曾经存在于 Linux 零碎当中了!假如照旧无法新增,则需求查阅 smb.conf 的设定,看看能否 /etc/samba/smbpasswd 这个暗码文件不存在?

                大标题的图示参考材料

                2001/09/17:良久曩昔已经完成的一项义务 ^_^
                2003/07/26:将 2001/09/17 所写的内容做了大幅度的修订,添加原理以及更多的设定项目!
                2003/09/10:将 PDC 局部增补的更完好,由于参加了团体化的 Profiles 在 /home/samba/profiles 当中了!同时参加课后训练喔
                2003/09/30:参加了 CUPS 印表机的援助!
                2005/10/17:Samba 2.2 在中文编码下面与最新的 samba 3.0.x 版本差别。请参考: 中文编码 网友的细致阐明喔!
                2006/12/20:将旧的文章挪动到 此处
                2006/12/29:终于写完了 Samba 了!将 PDC 改写,许多乱乱的中央都改失了~
                2007/04/12:本来对 homes 的阐明中,谁人 umask 应该是 002 ,原先的 022 是错的!

                 
                     
                中国存储网 ChinaStor.com排版整理
                原文作者鸟哥,主页,更多Linux学习材料在线看:Linux零碎办理员手册 - Linux下令大全 - Linux挪用大全- Linux专栏 - 国产Linux