在安装 之前应该使用命令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”(连接建立失败),表明服务器拒绝了连接请求。