使用Samba服務器構建私有和公共共享目錄

 
使用Samba服務器構建私有和公共共享目錄
 
實驗背景:
      小諾公司使用RHEL4系統構建了Linux服務器,並在該服務器上默認安裝了Samba服務器及相關軟件包做爲該公司的文件服務器。公司如今須要爲全部用戶創建一個公用文件夾做爲全部員工交流用,其次爲每一個員工創建一個屬於本身的共享文件夾,要求必須經過對應的帳號和密碼才能訪問。本實驗採用文件夾public做爲公用文件夾,而xiaonuo和dreamfire做爲兩個私人文件夾,對應的用戶名和文件夾名相同。
 
實驗步驟:
 
一、 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
 
二、 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
 
三、 使用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
 
四、 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
相關文章
相關標籤/搜索