一、安装
在安装 之前应该使用命令rpm -qa检测系统是否安装了Samba相关软件包。如下所示:
[root@CentOS ~]# rpm -qa |grep samba
samba-client-3.0.33-3.29.el5_5
samba-3.0.33-3.29.el5_5
samba-common-3.0.33-3.29.el5_5
如果系统还未安装Samba软件包,使用命令安装所需的软件包。
把CD光盘挂载上
[root@CentOS ~]# mount /dev/cdrom /mnt
mount: block device /dev/cdrom is write-protected, mounting read-only
安装Samba主程序软件包,如下所示:
[root@CentOS CentOS]# rpm -ivh samba-3.0.33-3.28.el5.i386.rpm
其他软件包的安装方法同上。
二、配置
主配置文件/etc/samba/smb.conf
该配置文件smb.conf中以“#”开头为注释,为用户提供相关的配置解释信息,方便用户参考,不用修改它。
以“;”开头的都是一些格式范例,默认是不生效的。
1、全局变量区域Global Settings
该设置项目针对Samba服务所有的共享资源生效。
#======================= Global Settings =====================================

[global]
#
        workgroup = MYGROUP                                                        #设置Samba服务器的工作组为MYGROUP,可自定义
        server string = Samba Server Version %v                             #设置简要说明Samba服务的版本

;       netbios name = MYSERVER                                                  

;       interfaces = lo eth0 192.168.12.2/24 192.168.13.2/24          #多个网卡时使用
;       hosts allow = 127. 192.168.12. 192.168.13.                          #允许访问的网段
        writeable = yes                                                                       #用户有写入权
        browseable = yes                                                                   #不隐藏目录(系统默认为显示)
        max connections = 5                                                              #最在连接数
        deadtime = 50                                                                        #断掉连接时间(分钟),0为不限制


# ----------------------- Standalone Server Options ------------------------安全选项
        security = user                                  #安全模式为user,需要用户登录
        passdb backend = tdbsam


# --------------------------- Printing Options -----------------------------打印选项
        load printers = yes
        cups options = raw


#============================ Share Definitions ==============================

[homes]
        comment = Home Directories
        browseable = yes
        public = yes
        writable = yes
;       valid users = %S
;       valid users = MYDOMAIN\%S

[pubilc]
        comment = public directory      #目录相关信息
        path = /tmp/share                    #共享目录
        broweseable = yes                  #目录可见
        writeable = yes                        #用户可写
       
[printers]
        comment = All Printers
        path = /var/spool/samba
        browseable = no
        guest ok = no
        writable = no
        printable = yes

[askos]
       comment = linux owner
       path = /home/askos
       writeable = yes
       valid users = askos             #只有askos用户可访问
[test1]
      comment = test1
      path = /home/test1
      read list = test1                  #只有test1用户可读
      write list = test1                  #只有test1用户可写   
      guest ok = yes                   #允许匿名访问,相当于public = yes

相关的日志文件:
/var/log/samba目录下。
nmbd.log记录nmbd进程的解析信息
smbd.log记录用户访问Samba服务器的问题,以及服务器本身的错误信息。

三、登录
登录到Samba服务要有与linux系统相对应的用户。即Samba系统中的用户必须是linux系统存在的用户,密码可以不一样。
Samba中添加用户:
smbpasswd -a 用户名
如:
smbpasswd -a askos
Samba服务的启动:
service smb start   或     /etc/rc.d/init.d/smb start
停止:
service smb stop   或    /etc/rc.d/init.d/smb stop
重新启动:
service smb restart 或  /etc/rc.d/init.d/smb restart
重新加载:
service smb reload 或 /etc/rc.d/init.d/smb reload

自动加载Samba服务:
1、chkconfig
chkconfig --level 3 smb on         #运行级别3自动加载
chkconfig --level 5 smb off         #运行级别3不自动加载
2、ntsysv

四、客户端登陆
smbclient命令
smbclient -L 192.168.179.88    #192.168.179.88为本机IP,此命令用于查看共享了哪些目录
smbclietn //192.168.179.88/askos -U askos%123456       #登录命令
windows中只要在风上邻居中输入“\\IP”就可以登录了。


五、排错
1、testparm
testparm命令用于检测smb.conf配置是否有错。
2、查看日志文件:
tail /var/log/samba/smb.log
3、使用smbclient命令进行测试
smbclient -L 192.168.179.88 -u askos%123456
如果出现“tree connect failed”说明可能在smb.conf配置文件中设置了host deny字段,多与权限有关
如果
smbclient -L 192.168.179.88 
如果返回信息“connection refused”(连接拒绝),说明Samba服务器smbd进程可能没有开启,确保smbd和nmbd进程开启,并使用netstat -a查看netbios使用的139端口是否处于监听状态。
提示信息如果为“session setup failed”(连接建立失败),表明服务器拒绝了连接请求。