天天看點

Samba檔案共享服務

samba服務:在linux/unix系統中實作了微軟的smb/cifs網絡協定,應用範圍主要是windows和linux系統共存的網絡,主要是提供共享檔案和共享列印機的服務,使得跨平台的檔案共享更容易。

實驗要求:

1.安裝裝samba軟體包,開啟samba服務。

2.設定可匿名通路共享:将/var/share/public/目錄共享為public,所有使用者都可以通路,但隻有隻讀權限。

3.設定需使用者驗證的共享:将/var/share/training/目錄共享為peixun,允許root和技術部所有員工通路,但隻有root使用者可以寫入,并要求root使用者可以用adm賬戶通路,禁止其他人通路。

4.在linux客戶機通路共享,并使用mount指令把public共享目錄挂載到/media/smbdir目錄下,從/media/smbdir目錄下使用共享檔案。

1.安裝samba軟體包

Samba檔案共享服務

可以先檢視linux系統中samba相關軟體的安裝情況

Samba檔案共享服務

挂載系統鏡像CD光牒(centos6.5),安裝samba伺服器核心軟體包。

Samba檔案共享服務
Samba檔案共享服務

開啟smb服務和nmb服務

samba伺服器提供兩種服務程式:smbd 負責提供伺服器中的共享資源

 nmbd 負責提供基于netbios協定的主機名稱解析,以便為windows網絡中的主機進行 查詢服務。

Samba檔案共享服務

驗證服務程序狀态,檢視相關端口是否處于監聽狀态。

smdb服務程式負責監聽tcp協定的139端口(smb協定)、445端口(cifs協定)

nmbd服務程式負責監聽udp協定的137-138端口(netbios協定)

注意:開啟samba相關服務之前,需要現将網卡配置完成。

2.主配置檔案/etc/samba/smb.cof各部分含義

Samba檔案共享服務

全局配置:這部配置設定置項内容對整個samba伺服器都有效,主要的配置項如下

workgroup       設定伺服器所在的工作組名稱

server string   設定伺服器的說明文字

security        設定伺服器的安全級别即驗證登陸方式,共有四種:

                    share(可匿名通路)

    user(需要本伺服器驗證使用者名及密碼)

    server(需要指定另一台伺服器來驗證使用者名及密碼)

    domain(由windows域控制器驗證使用者名及密碼)

log file        設定samba伺服器的日志檔案,預設設定為“/var/log/samba/log.%m”,按每客戶機建立一個日志檔案,其中“%m”變量表示用戶端主機名或ip位址。

passwd backend  設定共享賬戶檔案類型,預設使用tdbsam(tdb資料庫檔案)。

Samba檔案共享服務

宿主目錄共享設定:設定linux使用者的預設共享,對應使用者的宿主目錄。當使用者通路伺服器中與自己使用者名同名的共享目錄時,通過驗證後将會自動映射到該使用者的宿主檔案夾中。

Samba檔案共享服務

列印機共享設定:可以在這裡配置共享列印機裝置

comment      設定對應共享目錄的注釋、說明資訊

path         設定對應共享目錄在伺服器中的檔案夾路徑

browseable   設定共享目錄在“網路上的芳鄰”中是否可見,設定為no時相當于隐藏共享目錄。

guest ok     與“public”配置項作用相同,設定是否所有人都可以通路共享目錄。

writable     與“read only”配置項作用相反,設定該共享目錄是否可寫。

3.配置可匿名通路的共享

Samba檔案共享服務

在修改配置檔案smb.conf之前,先将其備份。

Samba檔案共享服務

修改smb.conf配置檔案

Samba檔案共享服務

在[global]全局配置下,将安全級别設定為share。

Samba檔案共享服務
Samba檔案共享服務

添加共享目錄public

選項:public   是否所有人都可以通路此目錄,等同于”guest ok”

Samba檔案共享服務

重新載入smb.conf檔案,更新服務。

Samba檔案共享服務

設定目錄/var/share/public/的通路權限,因為在配置檔案中已經将共享目錄設定為了隻讀,是以這裡給權限為777。

4.配置使用者驗證的共享

Samba檔案共享服務

先建立jishubu組和fjc系統使用者,并将fjc的基本組改為jishubu

(注意:共享使用者必須對應系統中存在的使用者)

Samba檔案共享服務
Samba檔案共享服務

指令:”pdbedit”  對共享使用者進行管理

選項:”-a” 添加

      “-u” 指定使用者名稱

      “-l” 列出所有的samba共享使用者

      “-v” 輸出詳細内容

      “-x” 删除指定的samba共享使用者

(注意:共享需要授權一個組時,需要為組内每個系統使用者都建立對應的samba共享使用者)

Samba檔案共享服務
Samba檔案共享服務

修改配置檔案/etc/samba/smbusers,給root設定一個别名adm

Samba檔案共享服務
Samba檔案共享服務

啟用别名配置檔案

Samba檔案共享服務

使用使用者驗證通路samba共享,需要将安全級别提升為user

Samba檔案共享服務

添加peixun的共享目錄配置段

選項:valid users   能夠使用該共享資源的使用者群組

      write list    能夠讀取和寫入該共享資源的使用者群組

Samba檔案共享服務

重新載入配置檔案smb.conf

Samba檔案共享服務

對共享目錄/var/share/training/設定通路權限

補充:

Samba檔案共享服務

hosts allow   指定僅允許通路共享的客戶機位址段(白名單)

host deny    指定僅拒絕通路共享的客戶機位址段(黑名單)

Samba檔案共享服務
Samba檔案共享服務

testparm程式可以對smb.conf配置檔案的正确性進行檢查

5.通路共享檔案夾

windows系統通路共享的方法比較簡單,這裡說一下linux通路samba共享的方法。

Samba檔案共享服務

指令:”smbclient  -l” 查詢目标主機的共享資源清單(在工作組環境,不需要使用者驗證,在提示輸入密碼時直接按eenter鍵。)

Samba檔案共享服務

登入并通路共享檔案夾(允許匿名通路的不需要指定密碼,直接回車。)

在”smb:\>”環境中,使用”?”或”help”指令檢視各種互動指令的線上幫助

Samba檔案共享服務

選項:”-u”  指定使用者通路需要驗證的共享檔案,這裡的使用者adm便是root的别名。

Samba檔案共享服務

将共享檔案夾挂載到本地,即可通過挂載點目錄直接使用共享檔案夾的内容。

注意:當samba伺服器的預設安全級别為”user”時,對于那些允許匿名通路的共享檔案夾,在客戶機中通過smbclient工具任然可以正常連接配接通路,但使用mount工具時将被拒絕挂載。

samba常見的配置項:

comment: 對共享目錄的備注

path:共享的路徑。

allow hosts和deny hosts:允許或者拒絕的主機

writeable:目錄預設是否可寫,也可以用readonly = no來設定可寫

valid users:能夠使用該共享資源的使用者群組

invalid users:不能夠使用該共享資源的使用者群組

read list:隻能讀取該共享資源的使用者群組

write list:能讀取和寫該共享資源的使用者群組

admin list:能管理該共享資源(包括讀寫和權限賦予等)的使用者群組

public:該共享資源是否能給遊客帳号通路,等同于”guest ok”

hide dot files:是否隐藏以“.”号開頭的檔案

create mode:建立立的檔案的屬性,一般是0644

directory mode:建立立的目錄的屬性,一般是0755

sync always:對該共享資源進行寫操作後是否進行同步操作

short preserve case:不管檔案名大小寫

preserve case:保持大小寫

case sensitive:是否對大小寫敏感,一般選no,不然可能引起錯誤

mangle case:指明混合大小寫

default case:預設的檔案名是全部大寫還是小寫(lower/upper)

force user:強制制定建立立檔案的屬主

wide links:是否允許共享連結檔案

max connections = n:設定最大并發連接配接數

delete readonly:能否删除共享資源裡面已經被定義為隻讀的檔案