⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 0370samba.htm

📁 鸟哥的linux私房菜
💻 HTM
📖 第 1 页 / 共 5 页
字号:

		<li><span class=text_import1>smbmount</span>∶<br />
		在 Windows 上面我们可以设定『网路磁碟机』来连接到自己的主机上面,同样的,在 Linux 上面,我们可以透过 smbmount 
		来将远端主机分享的档案与目录挂载到自己的 Linux 主机上面哪!不过,其实我们也可以直接使用 mount 
		这个指令来进行同样的功能就是了。</li><br />

		<li><span class=text_import1>nmblookup</span>∶<br />
		有点类似 nslookup 啦!重点在查出 NetBIOS name 就是了。</li><br />

		<li><span class=text_import1>smbtree</span>∶<br />
		这玩意就有点像 Windows 系统的网路上的芳邻显示的结果,可以显示类似『靠近我的电脑』之类的资料,
		能够查到工作群组与电脑名称的树状目录分布图,有趣吧!</li><br />

		<li><span class=text_import1>/usr/share/doc/samba-&lt;版本&gt;</span>∶<br />
		这个目录包含了 SAMBA 的所有相关的技术手册喔!也就是说,当您安装好了 SAMBA 之后,您的系统里面就已经含有相当丰富而完整的 
		SAMBA 使用手册了!值得高兴吧! ^_^,所以,赶紧自行参考喔!</li>
		</ul>

		大致的套件结构就是这样,底下就准备来讲一个简单的案例吧! ^_^<br /><br />
	</div>

	<hr /><a NAME="server_smb.conf"></a><img src="images/penguin-s.gif" alt="小标题的图示" height="23" width="16" align="middle" /><span class="text_h2">基础设定流程与 smb.conf 
	的主要规划</span><br />
	<div class=block2>
		既然 Samba 是要加入 Windows 的网芳当中,所以他的设定方式应该是要与网芳差不多才是。所以我们先来聊一聊
		Windows 的一些设定方法再说。在早期 Windows 的网芳设定真是很简单,不过也因为太简单,
		所以产生的安全问题可是相当的麻烦的。后来在 Windows XP 的 sp2 (服务包第二版) 加入了很多的预设防火墙机制,
		因此使用网芳的预设限制常常会是这样的∶<br />
		<ul><span class=text_import2>
		<li>主机与主机之间必须要在同一个网域当中 (否则需要修改 Windows 预设防火墙);
		<li>最好设定为同一工作群组;
		<li>主机的名称不可相同 (NetBIOS name);
		<li>专业版 Windows XP 最多仅能提供同时十个用户连线到网芳。
		</span></ul>

		当你的 Windows 主机群符合上述的条件后,就很容易处理网芳分享的工作啦!分享的步骤是这样的∶<br />
		<ol>
		<li>叫出档案总管,然后在要分享的目录、磁碟或装置 (如印表机) 上面按下右键,选择『共用』,然后就能够设定好分享的资料了;
		<li>最好建立一组给用户使用的帐号与密码,让其他主机的使用者可以透过该帐号密码连线进入网芳;
		</ol>

		真是有够简单的!那么 Samba 怎么设定啊?也是很简单,依据上述的限制以及流程你可以这样想像∶<br />
		<ol><span class=text_import2>
		<li>在 smb.conf 当中设定好工作群组、NetBIOS 主机名、密码使用状态等等与主机相关的资讯;
		<li>在 smb.conf 内设定好预计要分享的目录或装置以及可供使用的使用者资料;
		<li>根据步骤 2 的设定,在 Linux 档案系统当中建立好分享出去的档案或装置的使用权限;
		<li>根据步骤 2 的设定,以 smbpasswd 建立起使用者的帐号及密码
		<li>启动 Samba 的 smbd, nmbd 服务,开始运转哩!
		</span></ol>

		瞧!根据上面的流程,其实我们最需要知道的就是 smb.conf 这个设定档的资讯就是了。
		所以首先我们就要来介绍一下这个档案的设定方式棉!这个档案其实可以分为两部份来看,
		一个是主机资讯部分,在 smb.conf 当中以 [global] 作为设定的依据;另一个则是分享的资讯,
		以个别的目录名称为依据。你要先知道的是∶<span class=text_import2>在 smb.conf 当中,
		井字号与分号 (# 跟 ;) 都是注解符号</span>!底下咱们就来谈谈这个咚咚吧!<br /><br />

		<a name="server_smb.conf_global"></a>
		<hr /><li><span class=text_import1>主机整体参数</span></li>
		<div class=block2>
		在 smb.conf 这个设定档当中的设定有点像底下这样∶<br />

<table class="term"><tr><td class="term"><pre>
<span class=term_say># 会有很多加上 # 或 ; 的注解说明,你也可以自行加上来提醒自己相关设定</span>
<span class=term_write>[global]
   参数项目 = 设定内容
   ....

[分享资源名称]
   参数项目 = 设定内容
   ....</span>
</pre></td></tr></table>

		在 global 当中的就是一些主机的整体参数了,包括工作群组、主机的 NetBIOS 名称、字元编码的显示、登录档的设定、
		是否使用密码以及使用密码验证的机制等等,都是在这个 [global] 项目中设定的。至于 [分享资源名称] 
		则是针对你开放的目录来进权限方面的设定,包括谁可以浏览该目录、是否可以读写等等参数。
		在 [global] 部分关于主机名称资讯方面的参数主要有∶<br />

		<ul>
		<li><span class=text_import2>workgroup = 工作群组的名称</span>∶注意,主机群要相同;
		<li><span class=text_import2>netbios name = 主机的 NetBIOS 名称</span>啊,每部主机均不同;
		<li><span class=text_import2>server string = 主机的简易说明</span>,这个随便写即可。
		</ul>

		另外,过去常常让使用者心生不满的语系显示问题方面,您务必要清楚的知道的是,
		<span class=text_import2>SAMBA 主机上面的资料 (例如 mount 磁碟分割槽的参数以及原本的资料编码), 
		SAMBA 伺服器显示的语系, Windows 用户端显示的语系, Windows 用户端连上 SAMBA 的软体</span> 都需要符合设定值才行!
		在新版的 3.x 上面有数个提供这些语系转换的设定喔,如下所示∶<br />

		<ul>
		<li><span class=text_import2>display charset = 自己伺服器上面的显示编码</span>,
		例如你在终端机时所查阅的编码资讯。一般来说,与底下的 unix charset 会相同。
		<li><span class=text_import2>unix charset = 在 Linux 伺服器上面所使用的编码</span>,一般来说就是 i18n 的编码棉!
		所以你必须要参考 /etc/sysconfig/i18n 内的『预设』编码。
		<li><span class=text_import2>dos charset = 就是 Windows 用户端的编码了!</span>
		一般来说我们的繁体中文 Windows 使用的是 big5 编码,这个编码在 Samba 内的格式被称为『 cp950 』喔!
		</ul>

		关于语系编码,建议您参考一下讨论区的这一篇∶<br />
		<ul><a href="http://phorum.vbird.org/viewtopic.php?t=22001"
		target="_blank">http://phorum.vbird.org/viewtopic.php?t=22001</a></ul>
		我们的网友 eyesblue 写得太好了!所以建议大家直接前往查阅即可!除此之外,还有登录档方面的资讯,
		包括这些参数∶<br />

		<ul><span class=text_import2>
		<li>log file = 登录档放置的档案,档名可能会使用变数处理;
		<li>max log size = 登录档最大仅能到多少 Kbytes ,若大于该数字,则会被 rotate 掉。
		</span></ul>

		还有跟密码有关的参数,包括这几个∶<br />

		<ul>
		<li><span class=text_import2>security = user, server, domain, share</span> 四选一,这四个设定值分别代表∶
			<ul>
			<li><span class=text_import2>user</span> ∶使用 SAMBA 本身的密码资料库,密码资料库与底下的 smb passwd file 有关;
			<li><span class=text_import2>share</span>∶分享的资料不需要密码即可分享;
			<li><span class=text_import2>server, domain</span>∶使用外部主机的密码,亦即 SAMBA 是用户端之意,如果设定这个项目,
			你还得要提供『password server = IP』的设定值才行;
			</ul>
		<li><span class=text_import2>encrypt passwords = Yes 代表密码要加密</span>,注意那个 passwords 要有 s 才对!
		<li><span class=text_import2>smb passwd file = 密码放置的档案,通常是 /etc/samba/smbpasswd 。</span>
		</ul>
		事实上 Samba 的密码方面设定值很多喔,包括你还可以利用 samba 来修改 /etc/passwd 里头的人物的密码呢!
		不过这个时候就得需要『 unix password sync 』以及『 passwd program  』这两个参数值的帮忙了。
		我们这里先谈比较简单的,其他进阶的部分可以 man smb.conf 去进行搜寻查阅喔! ^_^<br /><br />
		</div>

		<a name="server_smb.conf_dir"></a>
		<hr /><li><span class=text_import1>分享目录参数</span></li>
		<div class=block2>
		在目录参数部分,主要有底下这几个常见的参数喔∶<br />
		<ul>
		<li><span class=text_import2>[分享名称]</span> ∶这个分享名称很重要,他是一个『代号』而已。
		举例来说,你在 Windows 当中使用『共用』来分享网芳时,假设你将『D:\game』分享出来,
		系统不是还会要你输入一个『在网路上面的名称』吗?假设你输入『My_Games』这个名称好了,
		那么未来大家在网芳看到的这个资料夹 (D:\game) 名称其实是『\\你的IP\My_Games』啦!
		<li><span class=text_import2>comment</span> ∶这个目录的说明!
		<li><span class=text_import2>path</span> ∶在网芳中显示的名称 [分享名称] 中,所实际进入的 Linux 档案系统。
		也就是说,在网芳当中看到的是 [分享] 的名称,而实际操作的档案系统则是在 path 里头所设定的。
		<li><span class=text_import2>read only</span>∶是否唯读?
		<li><span class=text_import2>public</span> ∶是否让所有可以登入的使用者看到这个项目?
		<li><span class=text_import2>writable</span> ∶是否可以写入?这里需要注意一下喔!那个 read only 与 writable 
		不是两个蛮相似的设定值吗?如果 writable 在这里设定为 no ,亦即不可写入,那跟 read only 
		不就互相抵触了!那个才是正确的设定?答案是∶<span class=text_import2>最后出现的那个设定值为主要的设定!</span>
		<li><span class=text_import2>create mode 与 directory mode</span> 都与权限有关的咯!
		<li><span class=text_import2>valid users = 使用者</span>,这个项目可以指定能够进入到此资源的特定使用者。
		</ul>

		因为分享的资源主要与 Linux 系统的档案权限有关,因此里头的设定参数多与权限有关。<br /><br />
		</div>

		<a name="server_smb.conf_var"></a>
		<hr /><li><span class=text_import1>变数特性</span></li>
		<div class=block2>
		为了简化设定值,Samba 提供很多不同的变数给我们来使用,主要有底下这几个变数喔∶<br />
		<ul>
		<li><span class=text_import2>%S</span>∶取代目前的设定项目值,所谓的『设定项目值』就是在 [分享] 里面的内容!
		举例来说,例如底下的设定范例∶<br />

<table class="term"><tr><td class="term"><pre>
[homes]
   valid users = %S
   ....
</pre></td></tr></table>

		因为 valid users 是允许的登入者,设定为 %S 表示任何可登入的使用者都能够登入的意思~今天如果 dmtsai
		这个使用者登入之后,那个 [homes] 就会自动的变成了 [dmtsai] 了!这样可以明白了吗?
		%S 的用意就是在替换掉目前 [ ] 里面的内容啦!</li><br />

		<li><span class=text_import2>%m</span>∶代表 Client 端的 NetBIOS  主机名称喔!
		<li><span class=text_import2>%M</span>∶代表 Client 端的 Internet 主机名称喔!就是 HOSTNAME。
		<li><span class=text_import2>%L</span>∶代表 SAMBA 主机的 NetBIOS 主机名称。
		<li><span class=text_import2>%H</span>∶代表使用者的家目录。
		<li><span class=text_import2>%U</span>∶代表目前登入的使用者的使用者名称
		<li><span class=text_import2>%g</span>∶代表登入的使用者的群组名称。
		<li><span class=text_import2>%h</span>∶代表目前这部 SAMBA 主机的 HOSTNAME 喔!注意是 hostname 不是 NetBIOS name 喔!
		<li><span class=text_import2>%I</span>∶代表 Client 的 IP 咯。
		<li><span class=text_import2>%T</span>∶代表目前的日期与时间
		</ul>
		至于相关的变数运用,我们会在底下的设定当中略做介绍喔!<br /><br />
		</div>

		以上就是在 smb.conf 上头常看到的几种设定项目,相信初次接触 Samba 的朋友,看到上头写的资料肯定是一头雾水的!
		我们底下用几个小范例来实际的介绍 smb.conf 的设定后,您就会知道这些参数如何应用了!
		记得,<span class=text_import2>看完底下的下范例后,要回来再将这些参数的意义瞧一瞧,

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -