Samba服務器

使用Samba服務器構建私有和公共共享目錄
 
實驗背景:
      小諾公司使用RHEL4系統構建了Linux服務器,並在該服務器上默認安裝了Samba服務器及相關軟件包作爲該公司的文件服務器。公司現在需要爲所有用戶建立一個公用文件夾作爲所有員工交流用,其次爲每個員工建立一個屬於自己的共享文件夾,要求必須通過對應的賬號和密碼才能訪問。本實驗採用文件夾public作爲公用文件夾,而xiaonuo和dreamfire作爲兩個私人文件夾,對應的用戶名和文件夾名相同。
 
實驗步驟:
 
1、 Samba服務器的安裝
RHEL4系統中默認安裝了Samba服務器和客戶機的所有軟件包,這些軟件包都在RHEL4的第二張光盤中。如果需要可以使用rpm –ivh命令進行安裝。
clip_p_w_picpath002
 
爲了能夠更好地理解samba服務器的相關配置可以通過man smb.conf進行查看幫助。
clip_p_w_picpath004
 
爲了能夠更清晰地查閱smb.com文件,可以使用grep –v命令去除註釋行和樣例行的內容。
clip_p_w_picpath006
 
2、 Samba用戶賬號及用戶目錄設置
 
2.1、刪除用戶配置文件模板裏的文件
在smb.conf配置文件中,[homes]共享目錄是Samba服務器默認提供配置的,也是比較特殊的共享設置。[homes]共享目錄並不特指某個目錄,而是表示Samba用戶的宿主目錄,即Samba用戶登錄後可以訪問同名系統用戶的宿主目錄中的內容。
在宿主目錄中,默認情況下會存在一些隱藏的用戶配置文件,而在使用UNC路徑訪問的時候會出現這些隱藏的配置文件,會對用戶帶來不便,而每個用戶的配置文件都是從用戶配置文件模板“/etc/skel/”中複製過去的,因此需要將模板裏的配置文件都刪除掉,這樣,建立的用戶宿主目錄裏就不會存在任何文件。
clip_p_w_picpath008
 
2.2、建立Samba用戶賬號
Samba服務器不使用Linux系統的用戶賬號進行用戶人在,而是維護自己的用戶賬戶文件。Samba服務器用戶賬戶文件保持在“/etc/samba”目錄中,文件名是smbpasswd,初始狀態smbpasswd文件不存在,在第一次使用smbpasswd命令創建Samba用戶時自動建立。
使用smbpasswd命令的“-a”選項可以向smbpasswd文件中添加Samba用戶賬戶,命令中需要指定要添加的用戶名作爲參數,smbpasswd命令執行過程中會提示設置該Samba用戶的口令。在建立Samba用戶賬戶之前需要建立同名的Linux系統用戶賬戶。
注意:爲了考慮安全性,Linux系統用戶賬戶不需要設置密碼,也登錄不了系統。而在工作環境中,爲了考慮安全性,Samba服務器只是充當文件服務器,只允許虛擬用戶和管理員訪問,其它用戶是不允許登錄的。
 
Smbpasswd命令參數詳解:
-h:顯示smbapasswd的命令格式幫助
-a:添加指定的用戶賬戶
-d:禁用指定的用戶賬戶
-e:啓用指定的用戶賬戶
-x:刪除指定的用戶賬戶
clip_p_w_picpath010
 
使用ls –a 可以查看宿主目錄是否還有隱藏的文件。
clip_p_w_picpath012
 
2.3、添加公共目錄public
要求任何用戶都可以訪問公共文件夾public,並且具有讀寫的權限。任何用戶在公共目錄中都以Linux中nobody(nobody屬於系統中存在的特殊用戶,這個用戶是不允許在系統中正常登錄的)系統用戶的身份出現,即在公共目錄中任何用戶建立的文件都屬於nobody系統用戶。
clip_p_w_picpath014
 
2.4、smb.conf文件的全局配置
clip_p_w_picpath016
 
workgroup = xiaonuo.com 設置samba服務器所在的工作組的名稱
server string = samba server 設置samba服務器的說明文字,用於描述samba主機
clip_p_w_picpath018
 
log file = /var/log/samba/%m.log 設置samba服務器的日誌文件,“%m”變量表示客戶端主機的名稱。
Max log size = 50 設置日誌文件的最大容量
clip_p_w_picpath020
 
Security = user 表示由提供服務的Samba服務器負責檢測賬戶和密碼,是Samba默認的安全設置。
Security = share 表示用戶不需要賬戶及密碼即可登入Samba服務器。
Security = server 表示檢查賬戶及密碼的工作指定由另一臺Windows服務器或Samba服務器負責。
Security = domain 表示指定windows域控制服務器來驗證用戶的賬戶及密碼。
clip_p_w_picpath022
clip_p_w_picpath024
 
2.5、smb.conf文件的局部配置
 
配置[homes]共享目錄
comment用於設置共享的說明信息。
browseable設置爲no表示所有samba用戶的宿主目錄都不能被看到,只有登錄用戶才能看到自己的宿主目錄,這樣設置可以加強samba服務器的安全性。
writable設置爲yes表示用戶可以對該共享目錄寫入,設置用戶對自己的宿主目錄具有寫權限是比較合理的。
clip_p_w_picpath026
 
配置[public]共享目錄
注意:在smb.conf中有[public]的配置模板,可參考進行配置
path = /home/public 設置public目錄的共享路徑
public = yes 表示該目錄對於所有samba用戶是可見的
only guest 設置爲yes表示所有用戶在使用該共享目錄時的用戶身份都是guest,即linux系統用戶nobody。
writable設置爲yes表示該共享目錄對於用戶可寫。
clip_p_w_picpath028
 
2.6、對smb.conf文件配置的測試
在對smb.conf文件完成所有配置以後,可以使用testparm命令對該配置文件進行測試。testparm命令是samba服務器軟件包中提供的配置文件測試工具,可以對smb.conf配置文件的語法進行檢測,並顯示當前配置的清單。
注意:testparm命令顯示的配置清單可能與smb.conf中的配置內容稍有不同,這是由於testparm命令對配置文件的內容進行了處理,文件中的默認值設置項的內容會被忽略。可以看出testparm命令顯示的配置清單與smb.conf文件中配置含義是完全相符的。
clip_p_w_picpath030
clip_p_w_picpath032
 
2.7、啓動samba服務器
啓動smb服務,相當於同時對smbd和nmbd兩個服務器程序進行啓動。
clip_p_w_picpath034
 
3、 使用windows客戶端進行測試
在windows下使用UNC路徑進行訪問Samba服務器。
clip_p_w_picpath036
 
輸入虛擬用戶名和密碼
clip_p_w_picpath038
 
可以看到公共共享目錄public和登錄的用戶目錄xiaonuo
clip_p_w_picpath040
 
xiaonuo用戶可以在自己的目錄裏添加、修改、刪除文件或文件夾也可以在public目錄中添加、修改、刪除文件或文件夾。
clip_p_w_picpath042
clip_p_w_picpath044
 
刪除已有連接,然後使用dreamfire用戶登錄,可以看出,所有用戶登錄只能看到自己的目錄以及共享目錄,其它用戶的目錄是隱藏的,這樣可以增加其安全性,避免一些用戶使用宿主目錄名稱猜測密碼。
clip_p_w_picpath046
clip_p_w_picpath048
clip_p_w_picpath050
clip_p_w_picpath052
 
4、 Samba WEB工具管理(swat)可以通過web界面管理samba服務器。
 
4.1、安裝swat
Swat軟件包位於RHEL4系統的第四張安裝光盤中。
clip_p_w_picpath054
 
swat是受xinetd超級服務器管理的服務程序,在安裝的默認狀態下是禁用的,因此需要使用chkconfig命令啓用swat服務,並重新啓動xinetd服務程序。
clip_p_w_picpath056
 
4.2、配置swat
修改only_from = 200.200.200.100,也就是管理samba服務器的客戶端的IP地址,從配置中可以看出訪問的端口號爲901,使用的用戶爲root,也可以修改爲其它用戶。
clip_p_w_picpath058
clip_p_w_picpath060
 
4.3、重新啓動xinetd服務。
clip_p_w_picpath062
 
在Ip地址爲200.200.200.100的主機上使用http://200.200.200.222:901/訪問samba服務器,輸入用戶root以及對應的密碼即可。
clip_p_w_picpath064
clip_p_w_picpath066
本文出自 “【小諾的網路技術課堂】” 博客,請務必保留此出處http://dreamfire.blog.51cto.com/418026/163376
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章