SAMBA3.0.0 正式版,体验。!好辛苦啊!!!

SAMBA3.0.0 正式版,体验。!好辛苦啊!!!

(C.) 版权:本文为LiKuKu原创,只要承认作者的版权,允许任意转载,但是不得用于商业目的。
1-1-0 艰辛的编译路!

  1-1-1.下载这玩意儿时,没太在意,就9MB多点。可完全不是这么简单!
  解压完,TMD,有30多MB,进Packaging-RedHat,看Readme特简单,执行 sh makerpms.sh 就ok!
  Let`s start it!
  ... ... ...
  1-1-2. 乖乖!足足编译了40分钟,还没完!
  我是用CII900 256MB 金邦金条 MSI6199 Maxtor10.2G HDD(hdparm -t  要24.71MB/s)啊!
  50分时,卡住了!提示,硬盘不够,满了!
  看看它在哪里用硬盘! /var/tmp
  MyGod! 用了,7、8百MB了!临时文件一大堆!半成品一大堆!编译信息massage,也是一大堆!
  TNND,没见过,这么凶!全干掉!

  拉过hda14 ,newfs_xfs一下,挂到/var/tmp 上,2GB 够了吧!

  重新开工!我得睡会了!

1-1-3. 一小时20分后,搞定!
到/usr/src/redhat/i386 找到 samba-3.0.0-1.i386.rpm  20MB呢!
本来/usr/src/redhat/还有其他两个RPM 一个是源代码RPM 9.4MB,一个是编译信息RPM 嘿嘿200多MB,
太~~~TMD~~BT!
但对大部分人都没用,SRC么,自己下载最新版不就行了?干掉它们!
你要自己弄,用du查一下目录,就大概可以知道在哪里了。
rpm -ivh samba-3.0.0-1.i386.rpm 一切顺利!
在我的RH9 2.4.20-8 和SGI-XFS RH9 SGI_XFS_1.2.0 /2.4.20-8 都正常安装运行!


2-1-0. 新东西/新truble,开玩笑拉!

  2-1-1. 整合!
  3.0.0版已经把2.X.X版的nmbd合并到smbd里了!启动时只显示SMB Service [OK] ,用ps -ax 只显示smbd -D 守护进程。
  
  2-1-2. SWAT配置!
  强烈建议,用SWAT配置!并且用Advanced/高级模式,这样会很快发现、适应好多新功能!何况还有在线帮助,
  很详细的。很实用!例子很多哦!
  
  注意,用swat,先把
  /etc/xinit.d/swat 里的 disable = yes 改为no ; 注释掉only_from = localhost
  打开浏览器,键入 本机IP:901   在验证了root 和密码后就OK了!
  
  2-2-1. 变化了的smb.conf 配置
  2-2-2. 多语言设置
  我发现,直接将2.X.X版的配置好的smb.conf拿来用不行,尽是乱码!
     先说明一下,我用的是中文服务器注释,目录的共享名也是中文。没法,谁让我这以前的Win2kS就这样呢!为了兼容以前的设置,
     只好还是用中文了!要不然,就要把100多客户机的"网络驱动器映射"参数全一台台改一遍???!!
  后来,发现用swat,在Globals中,第一项,就是dos charset  dos文件编码设置 ,这不就结了么!
  简体中文改cp936或者gb2312,繁体中文改cp950,希腊文改cp737,冰岛语改cp861,西里尔/俄文字母改cp866,
  朝鲜/韩文改cp949,日语改cp932。
     当然,要是想自己写smb.conf文件,只要在Globals 里加一行 dos charset = cpxxx就好了!
     
  如果重启SMB后,还是乱码,最好用vi把smb.conf 里的中文重写一遍,重启SMB就OK!
  
  *注:如果你是用2.x版的,那在smb.conf 里写好中文内容以后,可以直接显示中文。在Win9X,Win2K下都可以正常显示中文,
  但是在WinXP下却是乱码! 只有你在Globals段添加以下内容:
  coding system = cp
  client code page = 963
  code page directory = /usr/share/samba/codepages
  就可以正确显示中文了!
  
  以上这些,和语言代码对照表,我是在我的FreeBSD4.8中 FreeBSD版的SAMBA的配置文件里看到的。
  
  2-2-3. 变化了的端口优化设置
  socket option =
  3.0.0版只能用一个参数了,不能用和2.X.X版一样的多个参数例:TCP_NODELAY SO_RVBUFD = 8912 SO_SNBUFD = 8912,
  否则启动SMB会出错!在swat中相关选项的帮助信息也证实了只能用一个参数。
  我只用TCP_NODELAY TCP优化就可以了,SMB就可以正常运行了!
  
3-0-0. 用户安全设置。我是用的共享级设置,除了访客/guest其它任何人(包括root)都不让访问!
  建议SAMBA2x、3x都把下面的这段,开启。因为默认guest是nobody ,但这是个系统用户,不少程序用nobody运行,不安全!
  guest account = pcguest
  访客用户定义。
  
  然后,把/etc/samba/smbusers改为:
  root = administrator admin  注释掉/删除
  nobody = guest pcguest smbguest 注释掉/删除
  pcguest = smbguest
  
  /etc/samba/smbpasswd 的内容干脆清空!
  
  接着,编辑/etc/passwd文件,仿照ssh用户或者ftp用户添加pcguest用户,这样,guest/访客就可以访问了。
  我的例子是:
  pcguest:1000:1000:pcguest:/var/empty:/sbin/nologin
  注意,UID/GID 最好比500大,因为小于500都是系统内置帐户,有可能以后发生冲突!
  
  以后,如果要添加新的系统级用户,使他可以远程访问他的用户目录,且有一切他的权限,可以用
  smbadduser 系统帐户名:SMB登录名/客户端登录名
  来添加,此时设置的密码是对应系统帐户的专用SMB 登录密码,最好与系统用户密码不同,这样更安全。

  SAMBA3.0.0没有smbadduser了,用smbpasswd 来添加系统用户,编辑smbusers文件来管理 系统用户对应的smb登陆名.

  
  在2.X.X版,我们并不想让guest用户可以看见系统用户的私人home目录,可以在home 段添加
  map to guest = Bad User
  这样guest就看不见系统用户的私人home目录了,只有系统用户才可见。

  但是,在3.0.0版中,用不着了。
  只要home段的browseable 为 no ,那任何用户(包括系统用户、root)都不可见home目录,
  为yes,那也只显示出一个home,不会随用户的变化而变化。已经相当安全。
  当然你只要加上map to guest = bad user 那又会不可见,无论上面是yes还是no.
  以下是我的 home 段设置:


[home]
          comment = Home Directory
       browseable = no
        writeable = yes
      create mode = 0644
   directory mode = 0755
      valid users = %S     #此项在SAMBA3.0.0里已经不可用! 会导致用户无法登陆!请注释掉/删除.
     map to guest = bad user
browseable 和 map to guest 联用,双保险.

  
4-0-0. 一点小建议
  不停的修改smb.conf 不停的重启smb,一遍遍输入/etc/rc.d/init.d/smb restart 很麻烦!我是这样的:
  用vi建立一个resmb的文件放在/bin里 内容是:
  /etc/rc.d/init.d/smb restart
  然后,用chmod 700 resmb修改权限,设为可执行文件。
  这样,只有root可以运行resmb了。假如你要修改resmb的运行权限、限制用户使用,你可以用chmod、chown 配合修改resmb的属性就可以!
  
  以后,只要直接输入resmb指令就可以快速重新启动SMB了!
  
(C.) 版权:本文为LiKuKu原创,只要承认作者的版权,允许任意转载,但是不得用于商业目的。
光看这篇文章,看不出 3.0 比起 2.x 有什么新异。