王惠
摘要:在Windows環(huán)境下可以通過網(wǎng)上鄰居訪問局域網(wǎng)主機,而在Linux環(huán)境下則可以通過Samba客戶端訪問局域網(wǎng)內(nèi)的Windows主機,也可以通過Samba服務器給Windows主機提供文件、打印機等服務。該文就是通過實例系統(tǒng)介紹了如何在Linux環(huán)境下架設和配置Samba服務器。
關(guān)鍵詞:Linux;Samba服務器;網(wǎng)絡互訪;共享資源;訪問安全
中圖分類號:TP311 文獻標識碼:A 文章編號:1009-3044(2016)04-0062-02
The Research and the Realization of Samba Server with Linux
WANG Hui
(Jiuzhou College of Vocation & Technology, Xuzhou 221116,China)
Abstract:Computers with Windows of LAN can be accessed through the Network Neighborhood. Computers with Linux can access ones that run Windows by Samba Client and supply services of files and printing by Samba Server. This article is mainly about how to build and configure Samba server with Linux.
Key words:Linux; Samba Server;access each other; share resources; the security of access
1 Samba服務器簡介
計算機網(wǎng)絡最具吸引力的功能就是資源的共享。在Windows環(huán)境下我們可以通過網(wǎng)上鄰居實現(xiàn)不同計算機之間的相互訪問,但是當局域網(wǎng)中存在多種操作系統(tǒng)時,例如既有安裝Windows的計算機,又有安裝Linux的計算機,則需要Samba服務器實現(xiàn)它們之間的訪問。Samba服務器可實現(xiàn)不同類型計算機之間文件和打印機的共享。Samba服務器可以使Windows用戶通過網(wǎng)上鄰居等方式直接訪問Linux的共享資源,而Linux用戶也可通過Samba客戶端訪問到Windows的共享資源[1]。
Samba有兩個核心守護進程:smbd和nmbd。smbd守護進程負責建立對話、驗證用戶、提供文件和打印機共享服務等;nmbd守護進程負責實現(xiàn)網(wǎng)絡瀏覽。smbd守護進程負責建立對話、驗證用戶、提交文件和打印機共享服務等;nmbd守護進程負責實現(xiàn)網(wǎng)絡瀏覽。
2 Samba服務器的功能
文件共享和打印共享是Samba最主要的功能。Samba為了方便文件共享和打印共享,還實現(xiàn)了相關(guān)的控制和管理功能。具體來說,Samba完成的功能有:
1)共享目錄:在局域網(wǎng)上共享某個或某些目錄,使得同一個網(wǎng)絡內(nèi)的Windows用戶可以在網(wǎng)上鄰居里訪問該目錄,就跟訪問某些網(wǎng)上鄰居里的其他Windows機器一樣。
2)共享打印機:在局域網(wǎng)上共享打印機,使得局域網(wǎng)的其他用戶可以使用Linux操作系統(tǒng)下的打印機。
3)目錄權(quán)限:決定每一個目錄可以由哪些人訪問,具有哪些訪問權(quán)限。Samba允許設置一個目錄讓一個人、某些人、組合和所有人訪問。
4)打印機使用權(quán)限:決定哪些用戶可以使用計算機。
3 Samba服務器的配置
將Samba服務器相關(guān)的軟件包安裝完成后,Linux服務器和Windows客戶端之間還不能正?;ヂ?lián)。為了讓Samba服務器真正發(fā)揮作用,還需要正確地配置Samba服務器,例如指定Linux虛擬機的共享目錄、所在的工作組名稱、共享資源的訪問控制、安全級別等。這些配置可以通過編輯/etc/samba/smb.conf實現(xiàn),該文件結(jié)構(gòu)主要包括三部分:全局參數(shù)部分、目錄共享部分、打印共享部分。
3.1共享資源的訪問控制
3.1.1瀏覽權(quán)
訪問控制最高效的實現(xiàn)方式就是通過隱藏來保證安全,用browseable參數(shù)隱藏共享資源,并假定保護共享資源不被未授權(quán)訪問就可以了。因此通過設置browseable為yes使登錄用戶只能看到自己的宿主目錄,加強Samba服務器的安全性。
3.1.2主機訪問權(quán)
最基本的Samba訪問控制形式是通過域名和端口地址進行控制。通過smb.conf文件global和shares聲明的hosts allow和hosts deny參數(shù),可以限制對那些工作組和域中可信任的主機的訪問。
3.1.3用戶和組訪問
Samba通過username、only user、valid user和invalid users參數(shù)限制指定用戶的訪問權(quán)限。對于每—個參數(shù)所指定的用戶名,在授予訪問權(quán)或拒絕訪問之前,都通過相關(guān)的用戶列表檢查服務器提交的用戶名。
3.1.4 文件訪問許可
雖然已經(jīng)將連接的權(quán)限縮小到一部分客戶機用戶和主機的范圍內(nèi),但是還需要對共享文件和目錄對象操作的權(quán)限進行設置,通過Linux用戶和組標識符進行讀、寫和執(zhí)行的特權(quán)。
3.2安全級別的設置
在smb.conf文件中可以利用security參數(shù)設置Samba服務器的安全級別,Samba服務器提供5種安全級別,最常用的安全級別是共享或用戶[2]。
1)共享(Share):當客戶端連接到Samba服務器后,不需要輸入Samba用戶名和口令就可以訪問Samba服務器中的共享資源。這種方式方便但不太安全。
2)用戶(User):這是Samba服務器的默認安全級別。Samba服務器負責檢查Samba用戶名和口令,驗證成功后才能訪問相應的共享目錄。
3)域(Domain):Samba服務器本身不驗證Samba用戶名和口令,而由Windows與控制服務器負責。此時必須指定域控制服務器的NetBIOS名稱。
4)服務器(Server):Samba服務器不驗證Samba用戶名和口令,而將輸入的用戶名和口令傳遞給另一個Samba服務器來校驗。此時必須指定負責驗證的Samba服務器的名稱。
5)活動目錄域(ADS):Samba服務器不驗證Samba用戶名和口令,而由活動目錄域服務器來負責。此時必須指定活動目錄域服務器的NetBIOS名稱。
另外,還要正確地設置防火墻。因為默認情況下RHEL Server 5的防火墻不允許Windows客戶端訪問Samba服務器,所以必須打開相應的服務。此外,SELinux對于Samba服務也有影響,應禁用SELinux。
3.3配置實例
架設用戶級別的Samba服務器,其中peter用戶可利用Samba服務器訪問其個人主目錄、/tmp目錄,當前工作組為workgroup[3]。
配置過程如下:
1) 將peter用戶設置為Samba用戶,并設置其口令。
[root@localhost ~]#smbpasswd –a peter
2) 利用文本編輯器編輯/etc/samba/smb.conf文件如下:
[global]
workgroup=workgroup
security=user
[homes]
comment=Home Directory
browseable=no
writeable=yes
[tmp]
path=/tmp
writeable=yes
3) 利用testparm命令測試配置文件是否正確。
[root@localhost ~]#testparm
4) 重新啟動Samba服務。
[root@localhost ~]#service smb start
5) 設置防火墻和SELinux
在圖形界面下單擊“系統(tǒng)”—“管理”—“防火墻和安全級別”菜單[4],打開安全級別設置窗口如圖1。在“防火墻選項”中選中信任的服務“Samba”,在“SELinux”選擇“禁用”。
4 Windows計算機訪問Samba共享
在Windows計算機中雙擊桌面的網(wǎng)上鄰居,可找到Samba服務器,如圖2所示。雙擊Samba Server(Rhel),因為此時設置的安全級別是用戶User,那么將首先出現(xiàn)輸入網(wǎng)絡登錄用戶名和密碼對話框,在此輸入Samba用戶peter和所設置的密碼后將顯示所配置的Samba服務器的共享目錄,即peter用戶的個人主目錄和/tmp目錄。這時用戶就可以在Windows計算機上對Samba共享目錄進行相應的讀寫操作了。
5 Linux訪問Windows共享
如果局域網(wǎng)中的Samba服務器啟動成功后,Windows計算機也可以向Linux計算機提供共享服務。首先在Windows計算機上通過編輯文件夾的屬性設置共享文件夾。然后在Linux計算機的桌面環(huán)境下依次單擊“位置”—“連接到服務器”,在打開的窗口中選擇服務類型為windows共享,在服務器框中輸入要訪問的Windows計算機的IP地址,然后單擊連接,將訪問Windows計算機的共享目錄,如圖3所示。
6 結(jié)束語
Linux 是一個優(yōu)秀的操作系統(tǒng),尤其是它的網(wǎng)絡功能,可以與各種操作系統(tǒng)輕松連接,實現(xiàn)多種網(wǎng)絡服務。由于Linux系統(tǒng)的高穩(wěn)定性和可靠性,以及低廉的價格,使它受到越來越多用戶的青睞。在一些中小型網(wǎng)絡,或者企業(yè)的內(nèi)部網(wǎng)絡中,利用Linux建立文件服務器是一個很好的解決方案。針對企業(yè)內(nèi)部網(wǎng)中的絕大部分客戶機采用Windows的情況,所以可以通過使用Samba來實現(xiàn)文件服務器功能。Samba不僅使得Linux計算機與Windows計算機實現(xiàn)網(wǎng)絡互訪,而且可以通過使用不同的參數(shù),可以實現(xiàn)不同的訪問控制,從而實現(xiàn)Samba服務器的安全性。
參考文獻:
[1] 謝蓉.Linux基礎及應用[M].北京:中國鐵道出版社,2008.
[2] 曹江華.Linux服務器安全策略詳解[M]. 北京:電子工業(yè)出版社,2009.
[3] 林天峰.Linux服務器架設指南[M]. 北京:清華大學出版社,2014.
[4] 陸昌輝.網(wǎng)絡服務器組件,配置和管理Linux篇[M]. 北京:電子工業(yè)出版社,2008.