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軟體包
可以先檢視linux系統中samba相關軟體的安裝情況
挂載系統鏡像CD光牒(centos6.5),安裝samba伺服器核心軟體包。
開啟smb服務和nmb服務
samba伺服器提供兩種服務程式:smbd 負責提供伺服器中的共享資源
nmbd 負責提供基于netbios協定的主機名稱解析,以便為windows網絡中的主機進行 查詢服務。
驗證服務程序狀态,檢視相關端口是否處于監聽狀态。
smdb服務程式負責監聽tcp協定的139端口(smb協定)、445端口(cifs協定)
nmbd服務程式負責監聽udp協定的137-138端口(netbios協定)
注意:開啟samba相關服務之前,需要現将網卡配置完成。
2.主配置檔案/etc/samba/smb.cof各部分含義
全局配置:這部配置設定置項内容對整個samba伺服器都有效,主要的配置項如下
workgroup 設定伺服器所在的工作組名稱
server string 設定伺服器的說明文字
security 設定伺服器的安全級别即驗證登陸方式,共有四種:
share(可匿名通路)
user(需要本伺服器驗證使用者名及密碼)
server(需要指定另一台伺服器來驗證使用者名及密碼)
domain(由windows域控制器驗證使用者名及密碼)
log file 設定samba伺服器的日志檔案,預設設定為“/var/log/samba/log.%m”,按每客戶機建立一個日志檔案,其中“%m”變量表示用戶端主機名或ip位址。
passwd backend 設定共享賬戶檔案類型,預設使用tdbsam(tdb資料庫檔案)。
宿主目錄共享設定:設定linux使用者的預設共享,對應使用者的宿主目錄。當使用者通路伺服器中與自己使用者名同名的共享目錄時,通過驗證後将會自動映射到該使用者的宿主檔案夾中。
列印機共享設定:可以在這裡配置共享列印機裝置
comment 設定對應共享目錄的注釋、說明資訊
path 設定對應共享目錄在伺服器中的檔案夾路徑
browseable 設定共享目錄在“網路上的芳鄰”中是否可見,設定為no時相當于隐藏共享目錄。
guest ok 與“public”配置項作用相同,設定是否所有人都可以通路共享目錄。
writable 與“read only”配置項作用相反,設定該共享目錄是否可寫。
3.配置可匿名通路的共享
在修改配置檔案smb.conf之前,先将其備份。
修改smb.conf配置檔案
在[global]全局配置下,将安全級别設定為share。
添加共享目錄public
選項:public 是否所有人都可以通路此目錄,等同于”guest ok”
重新載入smb.conf檔案,更新服務。
設定目錄/var/share/public/的通路權限,因為在配置檔案中已經将共享目錄設定為了隻讀,是以這裡給權限為777。
4.配置使用者驗證的共享
先建立jishubu組和fjc系統使用者,并将fjc的基本組改為jishubu
(注意:共享使用者必須對應系統中存在的使用者)
指令:”pdbedit” 對共享使用者進行管理
選項:”-a” 添加
“-u” 指定使用者名稱
“-l” 列出所有的samba共享使用者
“-v” 輸出詳細内容
“-x” 删除指定的samba共享使用者
(注意:共享需要授權一個組時,需要為組内每個系統使用者都建立對應的samba共享使用者)
修改配置檔案/etc/samba/smbusers,給root設定一個别名adm
啟用别名配置檔案
使用使用者驗證通路samba共享,需要将安全級别提升為user
添加peixun的共享目錄配置段
選項:valid users 能夠使用該共享資源的使用者群組
write list 能夠讀取和寫入該共享資源的使用者群組
重新載入配置檔案smb.conf
對共享目錄/var/share/training/設定通路權限
補充:
hosts allow 指定僅允許通路共享的客戶機位址段(白名單)
host deny 指定僅拒絕通路共享的客戶機位址段(黑名單)
testparm程式可以對smb.conf配置檔案的正确性進行檢查
5.通路共享檔案夾
windows系統通路共享的方法比較簡單,這裡說一下linux通路samba共享的方法。
指令:”smbclient -l” 查詢目标主機的共享資源清單(在工作組環境,不需要使用者驗證,在提示輸入密碼時直接按eenter鍵。)
登入并通路共享檔案夾(允許匿名通路的不需要指定密碼,直接回車。)
在”smb:\>”環境中,使用”?”或”help”指令檢視各種互動指令的線上幫助
選項:”-u” 指定使用者通路需要驗證的共享檔案,這裡的使用者adm便是root的别名。
将共享檔案夾挂載到本地,即可通過挂載點目錄直接使用共享檔案夾的内容。
注意:當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:能否删除共享資源裡面已經被定義為隻讀的檔案