歡迎您光臨本站 註冊首頁

[RHEL5企業級Linux服務攻略]--第2季 Samba服務全攻略

←手機掃碼閱讀     火星人 @ 2014-03-09 , reply:0
1 Samba原理
1.1 Samba概述
接觸Linux我們聽的最多的就是Samba服務,為什麼Samba應用這麼廣泛哈~,原因是Samba最先在Linux和Windows兩個平台之間架起了一座橋樑哈,正是由於Samba的出現,我們可以在Linux系統和Windows系統之間互相通信,比如拷貝文件、實現不同操作系統之間的資源共享等等,我們可以將其架設成一個功能非常強大的文件伺服器,也可以將其架設成列印伺服器提供本地和遠程聯機列印,甚至我們可以使用samba Server完全取代NT/2K/2K3中的域控制器,做域管理工作,使用也非常方便滴哈~既然samba這樣滴強大哈,我們還不趕快來把玩一下哈~~~
1.2 Samba應用環境
文件和印表機共享:文件和印表機共享是Samba的主要功能,SMB進程實現資源共享,將文件和印表機發布到網路之中,以供用戶可以訪問哈.
身份驗證和許可權設置:smbd服務支持user mode和domain mode等身份驗證和許可權設置模式,通過加密方式可以保護共享的文件和印表機.
名稱解析:Samba通過nmbd服務可以搭建NBNS(NetBIOS Name Service)伺服器,提供名稱解析,將計算機的NetBIOS名解析為IP地址.
瀏覽服務:區域網中,Samba伺服器可以成為本地主瀏覽伺服器(LMB),保存可用資源列表,當使用客戶端訪問Windows網上鄰居時,會提供瀏覽列表,顯示共享目錄、印表機等資源.
1.3 Samba工作原理
Samba服務功能強大,這與其通信基於SMB協議有關.SMB不僅提供目錄和印表機共享,還支持認證、許可權設置.在早期哈,SMB運行於NBT協議(NetBIOS over TCP/IP)上,使用UDP協議的137、138及TCP協議的139埠,後期SMB經過開發,可以直接運行於TCP/IP協議上,沒有額外的NBT層,使用TCP協議的445埠.

當安裝了這個包以後,就可以通過瀏覽器(比如IE等哈)來對Samba伺服器進行圖形化管理(這個軟體包位於第三張RHEL5安裝光碟哈).
在Samba服務安裝完畢之後,並不是直接可以使用Windows或Linux的客戶端訪問Samba伺服器哈,我們還必須對伺服器進行設置,下面需要做的操作就是說我們要告訴Samba伺服器將哪些目錄共享出來給客戶端進行訪問,並根據需要設置其他選項哈,比如添加對共享目錄內容的簡單描述信息和訪問許可權等具體設置.
作為我們Linux系統工程師了解及熟悉Samba伺服器的搭建流程是至關重要滴. 基本的Samba伺服器的搭建流程主要分為四個步驟:
[1]、編輯主配置文件smb.conf,指定需要共享的目錄,並為共享目錄設置共享許可權.
[2]、在smb.conf文件中指定日誌文件名稱和存放路徑.
[3]、設置共享目錄的本地系統許可權.
[4]、重新載入配置文件或重新啟動smb服務,使用配置生效哈~
為了更好地理解設定流程中每一步的作用,下面通過一個圖例進行講解哈~
Samba工作流程:
---------(1)---------> ----------(2)---------->smb.conf主配置文件
[客戶端] [Samba伺服器]
-------- (4)----------> ----------(3)---------->日誌文件
(1)客戶端請求訪問Samba伺服器上的Share共享目錄.
(2) Samba伺服器接收到請求后,會查詢主配置文件smb.conf,看是否共享了Share目錄,如果共享了這個目錄則查看客戶端是否有許可權訪問.
(3)Samba伺服器會將本次訪問信息記錄在日誌文件之中,日誌文件的名稱和路徑都是需要我們設置.
(4)如果客戶端滿足訪問許可權設置,則允許客戶端進行訪問.
實際上,Samba伺服器和我們的圖書館有點相似之處哈,圖書館為讀者共享了圖書資源,而Samba伺服器共享了我們的文件數據哈.

nmbd.logsmbd.log,它們分別記錄nmbd和smbd進程的運行日誌.
4)samba服務配置重新載入
service smb reload/etc/rc.d/init.d/smb reload
注意:Linux服務中,當我們更改配置文件后,一定要記得重啟服務哈,讓服務重新載入配置文件,這樣新的配置才可以生效哈~
5)自動載入samba服務
chkconfig
我們可以使用chkconfig命令自動載入smb服務:
chkconfig --level 3 smb on #運行級別3自動載入
chkconfig --level 3 smb off #運行級別3不自動載入
ntsysv
我們還可以使用ntsysv命令利用文本圖形界面對smb自動載入進行配置,如果要自動載入smb可以在其前面選中「*」,否則取消掉就不自動載入了哈~
3.5 share伺服器實例及詳解
ok,上面已經對samba的相關性配置文件講了個大概哈,現在我們通過實例來掌握一下samba具體使用流程來搭建samba伺服器.
如果公司現在用一個工作組Workgroup需要添加samba伺服器作為文件伺服器哈,併發布共享目錄/share,共享名為public,這個共享目錄允許所有公司員工訪問.
我們分析下哈,這個案例屬於samba的基本配置,我們可以實用share安全級別模式,既然允許所有員工訪問,則需要為每個用戶建立一個samba帳號,那麼如果公司擁有大量用戶呢?1000個用戶,100000個用戶,一個個設置會非常滴麻煩哈,我們可以通過配置security = share來讓所有用戶登錄時採用匿名帳戶nobody訪問,這樣實現起來非常簡單哈~~~

(4).設置共享目錄的共享名為public
(5).設置共享目錄的絕對路徑為/share
(6).我們設置允許匿名訪問哈~
設置完smb.conf后保存退出哈~
2)重新載入配置
上面我們說過哈,Linux為了使新配置生效,需要重新載入配置,可以使用restart重新啟動服務或者使用reload重新載入配置哈~
注意哈:
偶這裡強調一下細節,重啟samba服務,雖然可以讓配置生效,但是restart是先關閉samba服務,再開啟服務哈,這樣如果在公司網路運營中肯定會對客戶端員工的訪問造成影響,建議使用reload命令重新載入配置文件使其生效,這樣不需要中斷服務就可以重新載入配置哈~
samba伺服器通過以上設置,現在用戶就可以不需要輸入帳號和密碼就可以直接登錄samba伺服器並訪問public共享目錄哈~
我們測試下,在/share目錄下建個文件試下:touch /share/test_sharemode_samba.tar
我們看下效果哈~
3.6 user伺服器實例及詳解
上面的案例我們講了share安全級別模式的samba伺服器哈,可以實現用戶方便滴通過匿名方式訪問,但是如果在我們samba伺服器上存在重要文件的目錄,為了保證系統安全性及資料保密性哈,我們就必須對用戶進行篩選,允許或禁止相應的用戶訪問指定滴目錄哈,這裡share安全級別模式就不能滿足我們這樣的實際要求了.
實現用戶身份驗證的方法很多,我們可以將安全級別模式配置為user、server、domain和ads,但是最常用的還是user安全級別模式哈,下面偶就來看下user這個安全級別模式的配置哈~


[火星人 ] [RHEL5企業級Linux服務攻略]--第2季 Samba服務全攻略已經有345次圍觀

http://coctec.com/docs/linux/show-post-55028.html