samba服務簡析

samba程序簡介:
在介紹samba程序以前得先簡單瞭解幾款協議:
NetBIOS協議:NetBIOS協議(Network Basic Input/Output System),簡單的理解,這個協議能夠給局域網內的每臺計算機賦予一個新的統一規則的名字---NetBIOS名,而且將這個名字解析爲IP地址,實現信息通信,主要做用仍是局域網內部的消息通訊和資源共享。ios

SMB協議:SMB協議(Server Message Block)是由微軟開發的一種軟件程序級的網絡傳輸協議,基於NetBIOS,主要功用是使得一個網絡上的機器共享計算機文件、打印機、串行端口和通信等資源,使用C/S架構運行,主要做用在Windows平臺。web

CIFS協議:CIFS協議是公共的或開放的SMB協議版本,微軟但願將這個而協議擴展到Internet上,成爲Internet上計算機之間相互共享數據的一種標準,所以它將原有的SMB協議進行整理,從新命名爲CIFS(Common Internet File System)。vim

samba是Linux和Unix平臺的一款實現了SMB協議的軟件,可使得windows平臺的主機也能夠訪問Linux和Unix平臺主機共享出來的資源。windows

samba服務監聽的協議端口有:
UDP的137-NetBIOS名字服務;nmbd
UDP的138-NetBIOS數據報服務
TCP的139-文件和打印共享;smbd
TCP的445-NetBIOS在Windows2000及之後版本使用此端口瀏覽器

samba程序的安裝
若是系統沒有自帶samba程序,可配置yum源後,如下指令安裝
[root@localhost ~]# yum -y install samba
安裝samba程序時會安裝四個程序包:
samba-client;samba服務做爲客戶端,鏈接其餘服務器共享資源時用到此程序
samba-common;samba服務的公用包
samba-winbind;使服務器可以加入到windows的AD域中
samba-winbind-client;
samba服務
samba程序有兩個服務腳本:
/etc/rc.d/init.d/nmb 啓動nmb服務
/etc/rc.d/init.d/smb 啓動smb服務
samba的主程序文件:
/usr/sbin/nmbd
/usr/sbin/smbd
samba的主配置文件:
/etc/samba/smb.conf
啓動samba服務:
service nmb start
service smb start
可以使用ss -tunl命令查看137和138端口都處於監聽狀態,說明samba服務啓動成功安全

訪問Windows平臺的共享資源
當samba程序安裝完成後就已經能夠訪問windows平臺的共享資源:
使用smbclient命令
smbclient -L HOST -U USENAME
例:[root@localhost ~]# smbclient -L 172.16.20.2 -U nice/22服務器

獲取到共享信息後:
smbclient //HOST/shared_name -U USERNAME
例:smbclient //172.16.20.2/share/ -U nice/22網絡

對於Windows平臺的共享資源還可使用掛載的方式訪問:
mount -t cifs //HOST/shared_name /mount_point -o username="USERNAME",password="PASSWORD"
也能夠不使用密碼選項,直接回車,而後根據提示輸入密碼,提升安全性
例:架構

[root@localhost ~]# mount -t cifs //172.16.20.2/share/ /mnt -o username="nice\22"
Enter=[NICE] OS=[Windows 10 Enterprise 14393] Server=[Windows 10 Enterprise 6.3]

Windows平臺訪問Linux共享資源配製ide

[root@localhost ~]# vim /etc/samba/smb.conf
workgroup = WORKGROUP

因爲windows主機默認屬於WORKGROUP工做組,而Linux的smb.conf配製文件中的設定是MyGroup,工做組不同,是沒法訪問到共享資源的,因此須要修改成WORKGROUP
且訪問samba服務時須要用到用戶名密碼,這裏的用戶就是系統用戶,存儲在/etc/passwd中,而密碼使用samba服務的自有密碼文件,因此首先要建立好系統用戶,而後將系統用戶加入到samba服務的密碼文件中。
這裏須要使用到一個命令:smbpasswd
smbpasswd
選項:
-a USERNAME:將指定的系統用戶添加到samba密碼文件中。
-d USERNMAE:將指定的已經存在samba密碼文件中的用戶禁用。
-e USERNAME:將指定的已經存在samba密碼文件中的被禁用的用戶啓用。
-x USERNAME:將指定的已經存在samba密碼文件中的用戶刪除。
例:

[root@localhost ~]# useradd user1
[root@localhost ~]# smbpasswd -a user1
New SMB password:
Retype new SMB password:
Added user user1.
[root@localhost ~]#

而後在windows主機上訪問網上鄰居中的Linux主機了,或者直接使用UNC路徑:\IP
例:\172.16.20.242
須要使用用戶名和密碼登錄,用戶名和密碼即剛剛加入到samba密碼文件中的
使用user1用戶登錄時,默認訪問的就是user1用戶的家目錄,以此類推

須要注意的是:若是使用Linux主機訪問Linux主機的共享資源,一樣須要在同一個工做組中。

配置文件簡析
/etc/samba/smb.conf
在此配置文件中,「#」註釋的是解釋信息,「;」註釋的是能夠啓用的指令或選項
samba服務簡析
workgroup:工做組名設定
server string:samba服務器描述
netbios name:設置netbios名
interfaces:samba服務所監聽的地址
hosts allow:白名單,僅容許來自哪些

samba服務簡析
log file:每一個客戶端訪問samba服務時都會生成客戶端地址爲後綴的日誌文件。
max log size:且每一個日誌文件超過50KB時,進會進行日誌滾動。

samba服務簡析

security = user:表示訪問samba服務時必須使用用戶名和密碼進行認證
passdb backend = tdbsam:samba用戶的密碼使用tdbsam格式存放

--Domain Members Options--
加入到windows域後的設置
...
...

samba服務簡析
公用的共享配置
[home]
comment:註釋信息
browseable = {yes|no}:訪問者非此家目錄的屬主或屬組時,是否容許訪問
writeable = {yes|no}:是否可寫,用戶經過samba服務登錄訪問此目錄後是否擁有寫權限
valid users = %s:有效的用戶,%S爲宏,表示爲它本身
[printers]中的配置不多用到,這裏不做詳細講解

特定共享的設定:
語法:
[shared_name]
path = /path/to/share_directory 共享路徑。
comment = COMMENT STRING 註釋。
guest ok = {yes|no} 是否容許來賓帳號訪問。
public = {yes|no} 是否公開。
writeable = {yes|no} 是否公開。
read only = {yes|no} ,yes表示只讀,no表示可寫。
browseable = {yes|no} 該參數是指出共享對於正在瀏覽的客戶是否可見,或者共享經過使用UNC(通用命名約定)才能訪問。
例如要訪問共享名 public ,而其瀏覽功能(browseable)已經被關閉(no)
則它不會出如今瀏覽列表中(即在瀏覽器中不可見)。
write list = +GROUP_NAME 表示組內用戶均可寫。

配置文件修改完成後,須要使用測試配置文件是否有語法錯誤:
testparm命令不只能夠測試配置文件語法錯誤,還能顯示最終生效的配置

值得注意的是:共享權限和文件系統權限須要一致,不然會致使訪問不到;若是有特殊用戶須要訪問共享目錄,不建議直接修改屬主或屬組權限,建議使用facl。

samba的圖形用戶界面
samba的圖形用戶界面是由samba-swat包提供,須要額外安裝
samba的圖形用戶界面基於web服務提供圖形界面,且是本身提供web服務,並不是依賴於httpd或Nginx,且服務經過xinetd(超級守護進程)代爲管理。
啓用圖形用戶界面
[root@localhost ~]# vim /etc/xinetd.d/swat
samba服務簡析
only_from選項用於指定可由哪些主機訪問swat頁面
修改only_from選項容許須要的主機訪問
修改disbale = no
保存配置文件後啓動xinetd服務
[root@localhost ~]# service xinetd start
在瀏覽器地址欄中輸入地址和端口:IP:901
例:
http://172.16.20.241:90
samba服務簡析
這裏彈窗提示須要輸入用戶名和密碼,直接使用操做系統的root用戶登錄便可
samba服務簡析

HOME爲主頁,裏面有各配置文件的詳細文檔。
GLOBALS爲全局信息
SHARES爲共享信息,裏面有已設置的共享的配置信息(從配置文件中讀取而來),能夠在此處更改配置信息,更改後點擊Commit Changes保存更改,這樣會自動修改配置文件並重啓服務。須要注意的是:這裏會直接修改並覆蓋原有配置文件,若是配置不當,極可能會致使原有配置丟失,建議修改以前備份配置文件。
PRINTERS
WIZARD
STATUS爲服務信息,能夠操做服務,啓動或中止或重啓,並顯示已鏈接的客戶端,以及對客戶端的一系列操做等等。
VIEW爲視圖信息,能夠查看視圖的詳細配置參數。
PASSWORD爲密碼信息,能夠在此處修改密碼,最初使用系統root用戶和密碼登錄,能夠在此處修改,不使用系統root用戶。

主要是筆記整理,寫的比較潦草,若有遺漏錯誤和爭議之處,歡迎你們的批評指正和討論,謝謝。還有些許地方不夠完整,繼續學習之後回來填坑。

相關文章
相關標籤/搜索