Solaris8和Solaris10下SAMBA的安装和配置

本文实践成功,Solairs8是sun blade 150 ,  Solaris10是Sun Enterprise T2000
都是sparc 64bit!

也是原创文件,请尊重作者m@QiNtOsHi的成果,不要转载,仅限引用,多谢合作!

一。 关于Samba是什么,我就只讲一句了:提供Unix和Windows之间的文件和打印机共享服务,也能作为client访问网络中其它Windows
系统上的共享文件.Solaris8默认并没有安装SAMBA,而Solairs10  Jan/2006之后的都已经默认安装了Samba3.0,只要简单的配置就可以成为
Samba Server。Samba 服务器包含两个Daemon,smbd和nmbd。smbd是 samba的内核,是建立对话,验证客户和提供文件系统和打印服务
的基础;nmbd则处理所有的名字注册和解析请求,实现了网络浏览的功能;它的任务是向局域网广播Samba服务器所提供的服务;
nmbd使Samba服务器显示在windows操作系统的网络邻居中,允许用户浏览可以通过samba使用的资源。

二。SAMBA服务关联文件结构
目录&文件                              说明                             其它
/etc/sfw/smb.conf-example    Samba 配置文件示例        系统自带,是smb.conf的示例文件
/etc/sfw/smf.conf                  Samba 配置文件             系统自己没有这个文件,
                                           需要从/etc/sfw/smb.conf-example拷贝或者手工创建这个文件
/usr/sfw/bin/smb(*)               Bin工具                        smbcacls, smbcontrol
                                                               smbpasswd, smbtar
                                                               smbtree, smbsh, smbclient
                                                               smbspool, smbstatus, smbcquotas
/var/samba/log                     默认samba日志目录    
/etc/init.d/samba                  samba管理命令               Solaris10已改为更简便的SVC服务管理方式


三。SAMBA設定                                            

  Solaris 10

        Solaris10的samba服务默认不会启动
    a    查看SAMAB是否已经启动?                                        
        #svcs -l samba                                        
        …                 
        state: online                    
                ...
        如果是offline的话,#svcadm enable samba                

    b    SAMBA配置文件设定                
        #vi /etc/sfw/smb.conf                
    (没有的话就:#cp /etc/sfw/smb.conf-example /etc/sfw/smb.conf复制sample过来修改)    

********************************************                
        SMB.CONF                
********************************************                                        
[global]

workgroup = WORK1 --> (1)

server string = Samba Server --> (2)

security = user --> (3)

encrypt passwords = yes --> (4)

socket options = TCP_NODELAY SO_RCVBUF=8192 SO_SNDBUF=8192 --> (5)

 ; interfaces = 192.168.12.2/24 192.168.13.2/24 --> (6)

map to guest = Bad User --> (7)

guest ok = Yes

coding system = euc --> (8)

client code page = 932 --> (9)

(1) 工作组指定,自己按要求看着弄吧.

(2) Windows 的网上邻居,或者我的网络里,用来表示这个共享目录的comment,property.

(3) samba工作模式.
user:   用户模式,也就是Samba是用户连入模式,连接到samba的时候需要密码验证
share: 共享模式,对任何访问这个samba地址的client来说,都是完全开放的.  这次我就弄这个
domain: domain认证模式,我没用过...

(4) 不显示真实密码设置. 就是*****的方式显示密码

(5) 网络性能设置.socket参数,buffer大小等.

(6) 通常不用管这个,当服务器启动了2个 NIC (俗称网卡)的时候,需要指定哦! “; “注释掉.

(7) 当(3)的值为share以为的时候,才有效。sguest用户访问设置,有3个选项
Never :密码不正确的login都拒绝  (默认值是Never!)
Bad User: 密码不正确的登陆被拒绝,如果这个用户不存在则会指定guest accout的用户来登陆
Bad Password:密码不正确的登陆被拒绝而且指定guest accout的用户来登陆
                          要小心哦,这个时候只要是密码不对都被用guest accout登陆哦!

(8) Encoding,不再详细介绍了。。。euc,sjis, cap, utf8 etc...

(9) Windows code page 指定,比如中文是2312,日語是932
        
        下面是共享目录设定:                                        
        #=========== Share Definitions ============                                        
        # Un-comment the following and create the netlogon directory for Domain Logons                    
        [samba]                                ; [SAMBA Dir Name]                    
        comment = Sun T2K Samba Dir            ; comment                    
        browseable = yes                            ; browseable = yes/no                     
        writable = yes                            ; writable = yes/no                     
        path = /export/home2/ws                ; path = 服务器本地要共享路径                    
        guest ok = yes                            ; guest ok = yes/no 是否无IP限制,可以随意访问                    
        create mask = 0777                        ; create mask = 上传或创建文件的属性                    
        directory mask = 0777                    ; directory mask = 上传或创建文件目录的属性                    
        … …                                         
        ********************************************                                        


    c    设置好了就,重新启动SAMBA服务,使得上面的smb.conf的修改内容得以刷新                                        
        #svcadm restart samba                                        


    Solaris 8                                            
         由于Solairs8默认没有安装samba,那就比较恶心要手动自己装了,而且还少了很多必要的软件。
     具体请参考:
    
     a    http://www.sunfreeware.com这里,把下面的软件都下载了先!(很多吧?!可以没办法!一个字:慢慢下!)
        coreutils-8.2-sol8-sparc-local, db-4.7.25.NC-sol8-sparc-local
        gcc-3.4.6-sol8-sparc-local,        gmp-4.2.1-sol8-sparc-local
        krb5-1.7-sol8-sparc-local,        libiconv-1.13.1-sol8-sparc-local
        libintl-3.4.0-sol8-sparc-local,        libtool-2.2.6b-sol8-sparc-local
        ncurses-5.6-sol8-sparc-local,        openldap-2.4.16-sol8-sparc-local
        openssl-0.9.8l-sol8-sparc-local,        popt-1.14-sol8-sparc-local
        readline-5.2-sol8-sparc-local,        samba-3.4.2-sol8-sparc-local
        sasl-2.1.21-sol8-sparc-local,        zlib-1.2.3-sol8-sparc-local                        

        上面是2010。1。18日的文件状况,如果有最新版本就下最新版本,脑子不要太死哦!
        samba的下载说明请参考: (!请注意x86和sparc版本!)                    
        http://www.sunfreeware.com/programlistsparc8.html#samba

    b    把刚才下好的软件安装!                        
        注意其中有依赖关系,方正gcc要先装。而gcc安装需要:libiconv and libintl.                        
                我大概列举下:

        libintl-3.4.0-sol8-sparc-local.gz  needs  libiconv                        

        krb5-1.7-sol8-sparc-local.gz  needs openssl and ncurses                        

        openldap-2.4.16-sol8-sparc-local.gz  needs openssl, libtool, sasl, db-4.7.25.NC                        

        libtool needs coreutils                        

        coreutils-8.2-sol8-sparc-local.gz  needs gmp                            

        gcc-3.4.6 needs  libiconv and libintl.                             

        samba-3.4.2以外的都装好了,再装samba!
        为了方便不知道gz怎么解压,pkgadd不会的人,例举下:
        #gunzip libiconv-1.13.1-sol8-sparc-local.gz                            
        #pkgadd -d libiconv-1.13.1-sol8-sparc-local (-d 是指定当前目录的pkg安装,否则你就都放在sfw/spool里巴)                           

    c    SMB.CONF修改,修改内容参见solaris10的 这部分,这里只讲solaris8下,
         安装好samba,smb.conf-exmple的路径:                       
         #cp /usr/local/doc/samba/example/smb.conf.default /usr/local/samba/lib/smb.conf                           
         然后请参看前面solaris10下的smb.conf的配置

    d.    配置swat(Samba Web Administration Tool)不?需要的话就设个端口号让OS认识swat                                                                                  
        # vi /etc/services                                            
        最后一行添加以下内容:                                            
        swat    901/tcp    # swat on samba                                            
                                                    
        再设置inetd,好让swat通过inetd来启动                                            
        # vi /etc/inet/inetd.conf                                            
        最后一行添加以下内容:                                            
        swat   stream  tcp   nowait.400    root    /usr/local/samba/sbin/swat   swat                                            
                                                    
        services和inetd.conf文件修改保存后,重新启动inetd服务:
       
#pkill -HUP inetd                                            
                                                    
    e    制作SAMBA起動脚本,
            
        可以简单:  我推荐这个                                 
        # vi /etc/rc3.d/S99samba                                            
        /usr/local/samba/sbin/smbd -D -s/usr/local/samba/lib/smb.conf && echo "smbd started."                                            
        /usr/local/samba/sbin/nmbd -D -l/usr/local/samba/logs -s/usr/local/samba/lib/smb.conf && echo "nmbd started."                                            
                
        也可以稍微复杂:
#####################################
#!/bin/sh

if [ ! -d /usr/bin ]
then                    # /usr not mounted
        exit
fi

killproc() {            # kill the named process(es)
        pid=`/usr/bin/ps -e |
             /usr/bin/grep -w $1 |
             /usr/bin/sed -e 's/^  *//' -e 's/ .*//'`
        [ "$pid" != "" ] && kill $pid
}

# Start/stop processes required for samba server

case "$1" in
'start')
#
# Edit these lines to suit your installation (paths, workgroup, host)
# Add the following parameters to nmbd, smbd, winbindd if needed
#  (this may be needed for custom file locations)
#  -D -s$BASE/lib/smb.conf
#
   BASE=/usr/local/samba
   $BASE/sbin/nmbd
   $BASE/sbin/smbd

   ;;
'stop')
   killproc nmbd
   killproc smbd

   ;;

'restart')
   killproc nmbd
   killproc smbd
   BASE=/usr/local/samba
   $BASE/sbin/nmbd
   $BASE/sbin/smbd
   ;;

*)
   echo "Usage: /etc/init.d/samba { start | stop | restart }"
   ;;
esac
#########################################
                                                    
    f    测试samba起動,结果出现:                                            
        # /etc/rc3.d/S99samba start                                                                                        
        ld.so.1: smbd: fatal: libtalloc.so(!这里的库文件可能是别的!): open failed: No such file or directory
        Killed   

        爬文很久,发现需要重新更新下solaris8的动态连接库文件路径,让samba的依赖软件和库文件重定位:

        参考了http://bwachter.lart.info/solaris/solfaq.html                                                                                        
        # crle -c /var/ld/ld.config -l /usr/local/lib:/usr/local/ssl/lib:/usr/local/BerkeleyDB.4.7/lib:/usr/local/samba/lib:/opt/sfw/lib:/usr/lib:/lib\                                           
    e    最后再测试下启动,终于无错误:                                            
        # /etc/rc3.d/S99samba start                                            
        $ps -ef | grep smbd                                            
        $ps -ef | grep nmbd            
        
搞定!
本文实践成功,Solairs8是sun blade 150 ,  Solaris10是Sun Enterprise T2000
都是sparc 64bit!

也是原创文件,请尊重作者m@QiNtOsHi的成果,不要转载,仅限引用,多谢合作!
posted @ 2010-01-22 16:08  荖K  阅读(924)  评论(0编辑  收藏  举报