被动土压力 发表于 2007-7-3 01:39:00

关于samba的困惑

要在局域网共享文件,想试试用samba,摸索了半天.找资料却发现这样的
感觉有些有道理,有些则象用惯了win的人说的话.不知道说这话的人斤两如何?
ps:北南南北的samba教程真的好

http://aleng2006.blogcn.com/diary,103282528.shtml
samba和微软文件打印共享的对比

------------------------------------前言---------------------------
这是我学习samba的心得,是给刚学习samba的新人看的。
linux从诞生那天开始就是两条腿走路,从左面学习unix,从右面学习win,走在他们两个的中间。samba正是这么个中间产物。samba做到今天这种程度,我觉得也很难得了。但是不好用,不推荐。
------------------------------写这篇文章的目的-----------------------------------------------
1对于初学者,即使我没写这篇文章,你的头脑里也应该有 “为什么要用win搭建文件共享服务器?”或“为什么要用samba搭建文件共享服务器?” “我要在‘我’单位搭建共享服务器应该用win还是linux?” “我要在‘我’单位搭建共享服务器应该先考虑好哪些问题?”等这些思考。而我的文章或多或少为你提供了这些问题的答案。
2软件只是工具,什么简单+方便+功能强大我们就应该用什么。我们应该理性分析,而不应该固执地盲目崇拜某种解决方案。我看到有些人非要实现当前samba版本不能实现的功能,不易实现的功能。我觉得很诧异。
这就好像你用斧子砍柴,觉得不那么顺手。为什么不顺手?是太大,太扁你并不十分清楚。但是你不去找鲁班探讨解决。非得去找李逵研究。你为什么不想想:李逵用斧子砍人那是行家里手,但是砍柴却不精通 呢?


----------------------------------------------正文------------------------------
差别一:samba打印共享差。--------驱动问题
samba模仿的是“微软文件和打印共享”。linux 下用打印机就好像男人给小孩喂奶,难,体现在:
1大多数喷墨、彩色激光、针式打印机没有驱动。没有利益驱动,没有前人开发经验,也开发不出什么好东西来。
2一款驱动驱动多种打印机。
世界上好像只有win的驱动,是厂家必须给用户提供的。那当然是厂家开发的。基本上是最好的。对于所有*unix系统。如果厂家不给开发,那就只有操作系统厂商来开发。而操作系统不可能对每个设备都有一个驱动。也就是出现了,1个驱动多用的现象。1个驱动要想多用。那要看这些设备的相似性有多少。1个驱动多用的时候,为了兼容,难以兼顾。从linux来讲,黑白+激光+低分辨率打印机有linux通用驱动程序 ,实际使用效果也不错,因为它们都遵守pcl语言或ps语言。
现在出现了1对多的彩色喷墨驱动。1款驱动能驱动epson和LEXMARK的打印机。因为这两家打印机的原理差别很大。分辨率、喷嘴数目都不同。对一种打印机颜色还行,对另一打印机就会偏色,或者无法双面打印,各种小毛病都来了,所以建议大家别用。
3天生不能传送驱动。
打印服务器上面一般安装winxp,win98的驱动程序。如果打印服务器和客户机都是win,客户机就可以从网络安装服务器上的驱动。
我们说,对于黑白+激光+低分辨率打印机是可以用linux做打印服务器的,但他不能把自己的驱动传送给win客户机。因为传送过去客户机也用不了。总之linux下,给共享客户机安全驱动很麻烦。

实际情况是linux人中,用samba共享文件的多,共享打印机的没几个。这方面的文章也少,因为没人能解决问题。

--------------samba只作文件共享--------------------------------
差别二:samba基本无法杀毒。
连接文件共享的客户端,大都是win。如果服务器上不能杀毒,一旦服务器传播了毒,那管理员的饭碗恐怕要糟。
linux下基本没什么病毒,这是他的优点,linux下也没什么厉害的杀毒软件。linux下最厉害的杀毒软件可能还不及win下最差的。这就是平台的差异。.exe .eml .pif .html 等都可能染毒。

差别三:磁盘分区格式的差别。
1 ext3抗断电的能力不如ntfs,扫描磁盘错误的次数要多。
2 ext3簇比较大,比较浪费磁盘空间,但文件碎片相对少,节省了磁盘整理时间。
3 ntfs的“卷影副本”功能相当于,linux定期备份文件。
4 文件名的字母大小写区别。基本上可以这样认为:你如果想把(ABC.txt)和(abc.txt)当作两个文件使用,那么应该用samba搭建文件服务器。否则请用win作为服务器。但好像实际应用中,很少必须用文件名字母大小写来区别文件,尤其是非英文国家。
5 文件名保留字差别。有些特殊字符,被系统保留起来了,作为特殊用途。这些保留字win和*unix不同。在win中,英文的“:”作为盘符标志,不能出现在文件名中。




差别四:权限的差别。
你把文件从win移动到linux(或反之),文件原有的权限将丢失,因为是两个系统。
samba受linux系统权限的影响,只能划分3种不同权限(user,group,other)导致samba的共享权限控制不能像win那么灵活,高不成低不就。

linux
samba是通过系统权限,即linux权限,来控制共享访问的。
ext3的共享权限划分比fat32复杂,比ntfs简单。
win
如果你想实现简单的共享权限控制,请用fat32分区,他不区分用户,即对所有人只读,或读写权限。
如果你想给不同用户不同的共享访问权限,请用ntfs。
还可以把不想区分用户的共享放在fat32分区,把细分权限的共享资源放在ntfs分区。




差别五:用户名、密码的差别。
samba
1客户端向samba发送用户名密码,samba用/etc/samba/smbpasswd来验证。
2验证通过后,这个用户名就成了一个验证过的linux用户,会直接进入这个linux用户的主目录。访问这个linux用户所能访问的资源。或者根据/etc/samba/smbusers中的用户名映射关系切换成另外一个linux用户。
它把smb的用户映射到linux上。总之用两套用户名,密码,3个配置文件,极容易乱套。

win
1在win服务器上建立用户名,设置密码。
2在客户端用这个用户名,密码访问共享资源。



差别五:中文支持的差别。-------源于linux对中文文件名兼容差。
samba服务器中文目录名、文件名容易乱码。linux里面用的比较多的文件名编码是utf8,win2000以上统一用unicode即utf16编码。他们之间不兼容。当然这不能说是linux或win的错。
linux可以设置local。从文件名编码这块看linux下文件名编码是灵活的,手动的。这就很不好了,如果是文件名编码灵活,而且能够智能识别就好了。在linux不能智能识别文件名编码的情况下,如果某些文件名中包含1种中文编码,另一些文件名中包含另1种中文编码。那么在linux上就只能或a编码不乱码或b编码不乱码。
linux磁盘扫描程序可能把这些,它不能识别的中文文件目录名修复得更乱,那就糟了。
相对而言,用win2003server作文件服务器,用win和linux客户机,更容易统一,不容易乱码。


差别六:设置比较难--------这是linux的通病
学用微软文件共享搭建服务器,解决使用中的问题太简单,在100个有问题的人中,有80%是很菜的菜鸟,他们大都不是计算机专业的,女士,或水平极差劲,只有20%的问题稍难,这些问题大多可以通过设置组策略完成很多高级功能。

使用samba搭建服务器的人士,有80%以上玩win共享文件毫无问题比较有水平了,但是这80%的人使用samba却不行。大概有50--60%卡在了,权限设置,两套用户名密码的转换上。剩下的20%--30%并没有学通整个smb.conf配置文件。
还有20%是不太常用的功能,比如限制哪台客户端不能访问服务器,限制客户机访问服务器的时间段。


差别七:仿造的总是不如原装的。-------总有小毛病。
这些小毛病,有些是我遇到的,我不知道怎么解决,可能大多无法解决。有些是别人在网上说的,别人说的我没验证过。
1 我验证过 user模式下,不能以guest为用户名,密码空,自动登陆。要么弹出输入框,你必须手动输入用户名guest,密码空着。如果加上“ map to guest = Bad User 和 map to guest = Bad Password”自动出错。
2 别人说的 两个人不能同时复制一个大文件,如电影文件。
3 我遇到的 复制到服务器上的文件,在服务器上建立的目录,不能立即看到,要等一会(或按f5刷新)才能看到是否复制成功。这个毛病时有时无。
4 别人说的 经"我"认真测试,发觉复制的文件中,大约有百分之几的比例会快一秒,这个比例大概在6-8%左右吧。
5 在 server 模式下,即用户验证指向另外一台samba,即2台samba服务器用一套用户密码,用 password server =ip.客户机弹出[用户名密码输入框]过程特别慢,浏览文件夹速度特别慢。并且,客户端如果是vista不能弹出用户名密码输入框(winxp可以)。


差别八:能仿造的太露骨了-----或许会有授权问题。
samba能仿造的都仿造了,连win的域控制器都造出来了,windows域对用户的认证都能接管。所以说简直是抄袭,盗版。这里我想分别和各位讨论:
1 雷同不好。
就算你写篇作文,最多也就从1个地方抄90%,另10%或自己苦想出来,或从别的地方摘抄。而samba能抄的都抄了,不能抄的还在想办法抄。却没有丝毫他自己创造出来的功能?要是这样那可就有点无耻了。
2 samba通过软件领域的反向工程方法,分析使用了和文件打印共享相同的端口,工作方式,域认证接口等。99%模仿了微软专有的文件打印共享协议,相同的工作原理。就像早期linux模仿unix,仿的太像了,sco公司一发威,linux为了不涉及版权,去掉了那些专有的程序,而用自己新开发的。速度,稳定性马上就差了不少。文件和打印共享是微软的。nfs是sun的。这两大局域网协议都是有主的。如果人家追究起来是逃不掉的。如果微软认为“开源软件samba因为模仿了文件打印共享,构成侵权,应该从linux发行版中去除”,那linux可不方便多了。现在人家没追究,我觉得原因有二,1微软宽宏大量2samba开发团队非商业公司追究不易。

差别九:samba的域控制器和微软的域控制器。
还没酝酿出来,敬请期待。。。


总结:
samba和文件打印共享本来99%相同,只是他们存在于不同平台。我们看到,samba受linux遗传,增加了驱动少,不能杀毒,受分区格式限制,配置难,两套用户名管理机制等,权限管理高不成低不就。linux的这些特性只给samba带来了负面的作用,令samba失色很多。所以说不建议使用samba搭建服务器。建议用win2003+杀毒软件来部署服务器

[ 本帖最后由 被动土压力 于 2007-7-3 01:45 编辑 ]
页: [1]
查看完整版本: 关于samba的困惑