redhat5配置samb服務的過程
在redhat下配置smb 服務很多次了,由於每次都間隔時間長,配置的時候都一路找資料配置下來,有的時候網上找的資料不一定管用,這次從一個沒有裝smb服務的系統上,從0開始配置,記錄下來,以後配置就按照這個來進行。
我的環境是:uname -a 顯示:
Python代碼
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 服務
Python代碼
rpm -qa|grep samb
可以看到如果列出帶有samb開頭的包:
Python代碼
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 服務來判斷是否安裝了該服務。
查看系統服務可以通過
Java代碼
setup-->system service
2、安裝服務
通過第 1 步的判斷沒有安裝,則這一步將展示安裝過程,安裝過程比較簡單,就是找到安裝包,可以從網張下載,也可以從光盤介質中安裝,最好是從光盤介質中安裝,這樣比較全,因為安裝過程中會要求安裝依賴的包,光盤介質中都有。
我安裝過程如下:
a、掛載光驅
Python代碼
mount -t iso9660 /dev/cdrom /mnt/cdrom
b、進入到光盤的Server目錄進行安裝
列出光盤中 samb包:
Python代碼
ls -l samb*
列出結果:
Java代碼
-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 肯定是要安裝的,就先裝它吧:
Python代碼
rpm -ivh samba-3.0.33-3.29.el5_5.1.i386.rpm
這個時候會提示需要安裝依賴的包,然後按照提示一個一個把依賴的包裝上去,就ok。
3、配置服務
安裝完畢後,需要進行配置和設置訪問權限
a、編輯smb.conf 文件:
Python代碼
vi /etc/samb/smb.conf
shift + G 到文件最後,將[public] 的注釋打開,並且修改如下:
Python代碼
# 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用戶
Python代碼
smbpasswd -a pub
按照提示輸入密碼
在/home下新建pub目錄
c、啟動smb 服務
Python代碼
service smb start
這個時候就可以在外面通過\\ip的方式訪問。
d、開啟開機啟動
如果有設置開機啟動,則在系統服務中將 smb 服務鉤上(setup-->system service-->smb)
4、注意 如果經過上述以後,還是不能訪問,有可能是系統安裝了防火牆,將防火牆關閉掉。
Python代碼
service iptables stop
如果能打開\\ip,但是進不了pub目錄,可能是 SELinux 強制訪問控制 導致,將SELinux關閉掉,
Python代碼
vi /etc/selinux/config
將 SELINUX 設置為 disabled,將SELINUXTYPE 注釋掉,如下:
Python代碼
# 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。重啟後可以訪問。