在redhat下配置smb 服务很多次了,由于每次都间隔时间长,配置的时候都一路找资料配置下来,有的时候网上找的资料不一定管用,这次从一个没有装smb服务的系统上,从0开始配置,记录下来,以后配置就按照这个来进行。
我的环境是:uname -a 显示:
Linux my.server.com 2.6.18-238.el5 #1 SMP Sun Dec 19 14:24:47 EST 2010 i686 i686 i386 GNU/Linux
1、查看系统中是否安装有smb 服务
rpm -qa|grep samb
可以看到如果列出带有samb开头的包:
samba-common-3.0.33-3.29.el5_5.1 samba-client-3.0.33-3.29.el5_5.1 samba-3.0.33-3.29.el5_5.1
说明有已经安装,如果没有列出,说明没有安装。
实际上,也可以通过查看系统服务,查看服务中是否有smb 服务来判断是否安装了该服务。
查看系统服务可以通过
setup-->system service
2、安装服务
通过第 1 步的判断没有安装,则这一步将展示安装过程,安装过程比较简单,就是找到安装包,可以从网张下载,也可以从光盘介质中安装,最好是从光盘介质中安装,这样比较全,因为安装过程中会要求安装依赖的包,光盘介质中都有。
我安装过程如下:
a、挂载光驱
mount -t iso9660 /dev/cdrom /mnt/cdrom
b、进入到光盘的Server目录进行安装
列出光盘中 samb包:
ls -l samb*
列出结果:
-r--r--r-- 171 root root 17016953 2010-09-14 samba-3.0.33-3.29.el5_5.1.i386.rpm -r--r--r-- 107 root root 5952463 2010-12-07 samba3x-3.5.4-0.70.el5.i386.rpm -r--r--r-- 107 root root 15646045 2010-12-07 samba3x-client-3.5.4-0.70.el5.i386.rpm -r--r--r-- 107 root root 17272703 2010-12-07 samba3x-common-3.5.4-0.70.el5.i386.rpm -r--r--r-- 107 root root 8460962 2010-12-07 samba3x-doc-3.5.4-0.70.el5.i386.rpm -r--r--r-- 107 root root 38410 2010-12-07 samba3x-domainjoin-gui-3.5.4-0.70.el5.i386.rpm -r--r--r-- 107 root root 3699917 2010-12-07 samba3x-swat-3.5.4-0.70.el5.i386.rpm -r--r--r-- 137 root root 4319348 2010-12-07 samba3x-winbind-3.5.4-0.70.el5.i386.rpm -r--r--r-- 137 root root 15505 2010-12-07 samba3x-winbind-devel-3.5.4-0.70.el5.i386.rpm -r--r--r-- 171 root root 5938214 2010-09-14 samba-client-3.0.33-3.29.el5_5.1.i386.rpm -r--r--r-- 219 root root 7046933 2010-09-14 samba-common-3.0.33-3.29.el5_5.1.i386.rpm -r--r--r-- 171 root root 8630505 2010-09-14 samba-swat-3.0.33-3.29.el5_5.1.i386.rpm
不知道开始先安装哪个,不要紧,一眼看下来,samba-3.0.33-3.29.el5_5.1.i386.rpm 肯定是要安装的,就先装它吧:
rpm -ivh samba-3.0.33-3.29.el5_5.1.i386.rpm
这个时候会提示需要安装依赖的包,然后按照提示一个一个把依赖的包装上去,就ok。
3、配置服务
安装完毕后,需要进行配置和设置访问权限
a、编辑smb.conf 文件:
vi /etc/samb/smb.conf
shift + G 到文件最后,将[public] 的注释打开,并且修改如下:
# A publicly accessible directory, but read only, except for people in # the "staff" group [public] comment = Public Stuff path = /home/pub public = yes writable = yes printable = no write list = +staff
其中path是提供外界访问的目录,我这里是/home/pub,wq保存
b、增加访问用户
我这里增加一个pub用户
smbpasswd -a pub
按照提示输入密码
在/home下新建pub目录
c、启动smb 服务
service smb start
这个时候就可以在外面通过\\ip的方式访问。
d、开启开机启动
如果有设置开机启动,则在系统服务中将 smb 服务钩上(setup-->system service-->smb)
4、注意 如果经过上述以后,还是不能访问,有可能是系统安装了防火墙,将防火墙关闭掉。
service iptables stop
如果能打开\\ip,但是进不了pub目录,可能是 SELinux 强制访问控制 导致,将SELinux关闭掉,
vi /etc/selinux/config
将 SELINUX 设置为 disabled,将SELINUXTYPE 注释掉,如下:
# This file controls the state of SELinux on the system. # SELINUX= can take one of these three values: # enforcing - SELinux security policy is enforced. # permissive - SELinux prints warnings instead of enforcing. # disabled - SELinux is fully disabled. SELINUX=disabled # SELINUXTYPE= type of policy in use. Possible values are: # targeted - Only targeted network daemons are protected. # strict - Full SELinux protection. #SELINUXTYPE=targeted
修改selinux后,需要重新启动 init 6。重启后可以访问。