调试Samba:揭开“拒绝访问”真正原因
本文解释了Samba拒绝访问的真是原因.
【IT专家网独家】“我们的口号是‘毛病也一致,特点也一致,总之我们完全与Microsoft Windows兼容’。Jerry Carter, Samba发布经理”
如何让你的Samba缺陷报告被忽略:
- 不要用完整的细节去描述如何重现这个缺陷。
- 不要说明你正在使用的Samba版本。
- 不要附上你的smb.conf文件。也不要附上所需要的级别调试日志。
- 不要理会对任何多余信息的请求。一定要在缺陷评论中包含一大堆CIFS数据包的文本。(译注:如果要提交一个有效的Samba缺陷报告,就需要把上面的准则反过来。)
下一次当某个用户遇到“拒绝访问”(Access Denied)的错误提示而归咎于Samba时,请让他慢下结论。Samba的发布经理Jerry Carter说,在大多数情况下,上述问题并不是Samba的错。“我们的口号是‘毛病也一致,特点也一致,总之我们完全与Microsoft Windows兼容’。”他说。
Carter经常笑着谈起这一口号,比如在今年8月份San Francisco举办的LinuxWorld会议的一次演讲中,但他的这个说法确实是严肃的。这个口号听起来有些傲慢,但确实在大多数情况下,Carter以及Samba团队中的其他人最终会发现,用户记录下来的“缺陷”(bug)要么是其系统自身的硬件问题,要么是实际存在于Windows中而非Samba中的缺陷。
拒绝访问
如果用户愿意承认Samba的每一个功能在绝大多数情况下都能正常工作,他们遇到错误提示时,就会开始调试这个软件来找出错误的真正来源。Carter说,为了重新跟踪执行过的步骤,他们应该研究“拒绝访问”的错误提示。
“在这种情况下,错误提示会包含类似这样的内容,‘执行该操作需要权限’,”Carter说,“只凭这个,你完全没法弄清真正的问题所在,因为用户只会把收到的错误提示告诉你,并期待你找出问题究竟出在什么地方。作为系统管理员,你必须去解读在用户面前弹出的信息,弄清Samba究竟发生了什么事。”
对每一个系统管理员来说,这个调试过程一开始都应该包括简单的一组步骤和一个排除过程,Carter说。首先,要确保你知道原来预期的运行结果是什么样子。接下来如果可行的话,对一台Windows服务器就同样的操作进行测试,并检查物理网络硬件是否存在问题。
基本操作:使用smbstatus命令检查权限
一旦完成了上述步骤,系统管理员接下来需要知道每个用户与什么系统相连接,以及他们各自的权限是什么,Carter说。“如果用户jbgood在连接时实际用的却是catzilla或其它某个ID……这就是立刻要检查的事情了。”他说。
- 本文关键词:

