<b>samba</b><b>檔案共享服務</b><b></b>
<b>要求:</b><b></b>
? <b>在</b><b>/var/share/</b><b>目錄中建立三個子目錄</b><b>public</b><b>、</b><b>training</b><b>、</b><b>devel</b><b>,用途如下:</b><b></b>
u <b>pubic</b><b>目錄用于存放公司資料,如公司的規章制度、員工手冊等</b><b></b>
u <b>training</b><b>目錄用于存放公司的技術教育訓練資料</b><b></b>
u <b>devel</b><b>目錄用于存放項目開發資料</b><b></b>
<b>具體步驟:</b><b></b>
1. 插入rhel5CD光牒并挂載到/media目錄下,然後進入到/media/server目錄下,使用rpm指令安裝samba軟體包及相關的軟體包。如圖所示:
2. 啟動samba服務,并檢視端口。如圖所示:
3. 分别建立三個字目錄public、training、devel。如圖所示:
4. 建立組賬戶benet、tech;建立benet組的員工賬戶ben01、技術部員工賬戶tec01;建立普通使用者yua01。如圖所示:
5. 使用pdbedit指令将以上使用者依次建立為共享使用者,并設定共享密碼。如圖所示:
samba共享使用者的賬戶資料庫檔案預設位于/etc/samba/passdb.tdb,是一個經過加密的檔案,其中儲存了share使用者的賬号名稱、登入密碼、賬号可用狀态等資訊。使用<b>pdbedit</b>工具可以對共享使用者進行管理。
? <b>-a</b><b>:</b>表示添加
? <b>-u</b><b>:</b>指定使用者名稱(也可以省略“-u”選項直接指定使用者名)。
? <b>-l</b><b>:</b>列出所有的samba共享使用者
? <b>-v</b><b>:</b>結合l選項可以檢視某一個使用者的更詳細的内容,可以指定使用者名稱作為參數
? <b>-x</b><b>:</b>删除samba共享使用者,指定使用者名作為參數
6. <b>共享賬号映射(别名)</b>。為root使用者設定别名admin。編輯/etc/samba/smbusers配置檔案,添加一行“root = administrator admin”。如圖所示:
對于授權給共享使用者root通路的共享檔案夾,隻要使用共享使用者admin也可以通路(密碼仍然使用共享使用者root的)。
<b>設定好共享使用者的别名記錄以後,若要正常啟用賬戶映射功能,需要修改注配置檔案</b><b>/etc/samba/smb.conf</b><b>,添加全局配置項“</b><b>username map = /etc/samba/smbusers</b><b>”,然後重新加載配置即可生效。</b>如下所示:
[root@localhost~]#<b> vim /etc/samba/smb.conf</b>
<b>[global]</b>
<b>username map = /etc/samba/smbusers</b>
<b></b>……//省去部分内容
l <b>通路位址限制</b><b></b>
針對通路samba伺服器的客戶機,可以通過“<b>hosts allow</b>”、“<b>hosts deny</b>”配置項進行通路限制,前者用于指定僅允許通路共享的客戶機位址,後者用于指定僅拒絕通路共享的客戶機位址,兩種方式任選其一即可。
通路位址限制一般應用于[global]全局配置部分,也可以應用于某個具體的共享配置段部分。限制的對象可以是主機、ip位址或者網絡位址(省去主機部分),多個位址之間以逗号或空格進行分隔。
例如:若希望僅允許來自192.168.4.0/24,137.17.0.0/16網段的客戶機通路samba伺服器。如下所示:
<b>hosts allow = 192.168.4. 173.17.</b>
……//省去部分内容
? <b>将</b><b>/var/share/public/</b><b>目錄共享為</b><b>public</b><b>,所有員工都可以通路,但隻有讀取權限。</b><b></b>
? <b>将</b><b>/var/share/training/</b><b>目錄共享為</b><b>peixun</b><b>,允許管理者</b><b>admin</b><b>和技術部的所有員工讀取資料,但不能寫入,禁止其他人通路。</b><b></b>
? <b>将</b><b>/var/share/devel</b><b>目錄共享為</b><b>kaifa</b><b>,技術部的所有員工都可以讀取該目錄中的檔案,但是隻有管理者</b><b>admin</b><b>及</b><b>benet</b><b>項目組的員工有寫入權限。</b><b></b>
1. 編輯/etc/samba/smb.conf配置檔案。如圖所示:
? <b>[global]</b><b>全局設定:</b>這部配置設定置項的内容對整個samba伺服器都有效。
? <b>[homes]</b><b>宿主目錄共享設定:</b>設定linux使用者的預設共享,對應使用者的宿主目錄。當使用者通路伺服器中與自己使用者名同名的共享目錄時,通過驗證後将會自動映射到該使用者的宿主檔案夾中。
? <b>[printers]</b><b>列印機共享設定:</b>如果需要共享列印機裝置,可以在這部分進行配置。
若需要在smb.conf檔案中設定新的共享檔案夾,隻需要增加一段如“<b>[myshare]</b>”開始的共享設定即可,其中“myshare”為使用者自定義的共享名。新的共享檔案設定可以參考“[homes]”和“[printers]”部分的内容。
samba伺服器提供了一個配置檔案檢查工具——testparm程式,使用<b>testparm</b>工具可以對smb.conf配置檔案的正确性進行檢查,如果發現有錯誤将會進行提醒。如圖所示:
2. 重新加載smb.conf檔案中的配置,或重新開機smb服務。如圖所示:
3. 通過samba伺服器共享本地的檔案夾時,使用者最終是否擁有讀取、寫入權限,除了需要設定使用者授權以外,還要滿足一個前提條件——在伺服器本機中,與共享使用者同名的系統使用者對釋出為共享的本地檔案必須有相應的讀取、寫入權限。為了簡便起見,可以将三個子目錄public、training、devel的權限設定為777。如圖所示:
另外,當通過共享目錄上傳文檔時,對于共享使用者所上傳的檔案,建立子目錄的預設權限,可以分别使用配置項“directory mask”、“create mask”進行指定。例如:若要使使用者通路public共享時,所上傳的目錄的預設權限為755,檔案的預設權限為644。如下所示:
[ public ]
…… //省略部分内容
directory mask = 0755
create mask = 0644
n <b>通路共享檔案夾</b><b></b>
? <b>使用</b><b>smbclient</b><b>通路共享檔案夾</b><b></b>
<b>1. </b><b>查詢目标主機的共享資源清單</b><b></b>
使用smbclient指令查詢共享資源時,需要添加“<b>-l</b>”選項,并指定目标主機的ip位址或主機名。在工作組環境中查詢共享資源時,一般不需要使用者驗證,提示輸入密碼時直接按Enter鍵即可。
<b>2. </b><b>登入并通路共享檔案夾</b><b></b>
使用smbclient指令通路共享檔案夾時,需要通過“//主機位址/共享名”的形式指定共享檔案夾的位置,對于允許匿名通路的共享檔案夾,提示輸入密碼時直接按Enter鍵即可。
如果通路的是需要使用者驗證的共享檔案夾,則必須結合“<b>-u</b>”選項指定經過授權的共享使用者名稱(或映射的别名),并輸入正确的密碼進行驗證。
通過smbclient工具成功登入samba伺服器以後,會出現“smb:\>”提示符,提供了一個類似于ftp指令程式的環境。在“smb:\>”環境中,使用特定的指令可以對共享目錄進行清單、上傳、下載下傳等操作。例如:使用<b>ls</b>用于清單目錄,<b>pwd</b>檢視目前路徑,<b>get</b>和<b>mget</b>用于下載下傳檔案,<b>put</b>和<b>mput</b>用于上傳檔案……使用“<b>?</b>”或“<b>help</b>”指令可以檢視各種互動指令的線上幫助資訊。
n <b>使用</b><b>mount</b><b>挂載共享檔案夾</b><b></b>
smbclient用戶端工具可以非常友善的登入到samba伺服器,但是隻有将檔案下載下傳到本地以後才能檢視檔案内容。而若使用<b>mount</b>工具将共享檔案夾挂載到本地,則通過本地的挂載點目錄即可直接使用共享檔案夾的内容,使檔案共享更加友善。
使用mount指令挂載共享資源時,隻需通過“//主機位址/共享名”的形式指定共享檔案夾的位置(視為裝置資源),并指定本地的挂載點目錄即可。