Samba服務(wù)器基礎(chǔ)
Samba服務(wù)
- nmbd
- 用來管理工作組匣屡、NetBIOS name解析押搪。利用UDP協(xié)議開啟137\138端口解析名稱踩娘。
- smbd
- 用來管理samba主機分享的目錄熙尉、檔案和打印機等。利用可到的TCP協(xié)議傳輸數(shù)據(jù)窗轩,開放的端口是139\445
聯(lián)機模式
- peer-peer對等模式
- 局域網(wǎng)中的所有pc均可以在自己的計算機上面管理自己的賬號和密碼,同時每部計算機都具有獨立執(zhí)行各項軟件的能力座咆,只是由網(wǎng)絡(luò)將各個pc鏈接在一起痢艺。
- domain model主控模式
- 所有賬號密碼全都防止在一部主控計算機PDC中仓洼,在局域網(wǎng)中,在任何一臺計算機中輸入賬號和密碼堤舒,都可以根據(jù)身份使用不同的計算機資源色建。
軟件
-
samba
- 提供samba服務(wù)器所需要的各項服務(wù)程序、文檔舌缤、與samba相關(guān)的logrotate配置文件箕戳、開機默認(rèn)選項檔案。
-
samba-client
- samba客戶端程序
-
samba-common
- 服務(wù)器與客戶端都會使用到的數(shù)據(jù)国撵,包括samba的主要配置文件陵吸、語法檢驗指令。
-
/etc/samba/smb.con
- samba的主要配置文件介牙,主要設(shè)定項目是服務(wù)器相關(guān)設(shè)定
global
- samba的主要配置文件介牙,主要設(shè)定項目是服務(wù)器相關(guān)設(shè)定
/etc/samba/Imhosts
- 功能類似
/etc/hosts
,設(shè)定NetBios name壮虫,目前samba預(yù)設(shè)會使用本機的名稱作為NetBIOS name,可不用設(shè)定耻瑟。 -
/etc/sysconfig/samba
- 提供啟動smbd旨指、nmbd時,需要加入的相關(guān)服務(wù)參數(shù)喳整。
常用腳本
服務(wù)器
-
/usr/sbin/{smbd,bmbd}
- 服務(wù)器功能谆构,權(quán)限管理smbd,NetBIos name查詢nmbd
-
/usr/bin/{tdbdump,tdbtool}
- 服務(wù)器功能框都,tdbdump可以查看數(shù)據(jù)庫的內(nèi)容搬素,tdbtool則可以進入數(shù)據(jù)庫操作接口直接手動修改賬號密碼,但是需要安裝軟件
tdb-tools
- 服務(wù)器功能框都,tdbdump可以查看數(shù)據(jù)庫的內(nèi)容搬素,tdbtool則可以進入數(shù)據(jù)庫操作接口直接手動修改賬號密碼,但是需要安裝軟件
-
/usr/bin/smbstatus
- 服務(wù)器功能魏保,可以列出目前samba的聯(lián)機狀況
-
/usr/bin/{smbpasswd,edbedit}
- 服務(wù)器功能熬尺,管理samba用戶賬號和密碼,后期建議使用
pdbedit
管理用戶數(shù)據(jù)
- 服務(wù)器功能熬尺,管理samba用戶賬號和密碼,后期建議使用
-
/usr/bin/testparm
- 檢驗配置文件
smb.conf
語法是否正確谓罗,在編輯過配置文件時粱哼,務(wù)必使用testparm
檢查一次
- 檢驗配置文件
客戶端
-
/sbin/mount.cifs
- 使用
mount.cifs
將遠程主機分享的檔案文件與目錄掛載到主機上。
- 使用
-
/usr/bin/smbclient
- 用來查看其他計算機所分享的目錄與裝置檩咱,也可用在本機上查詢samba設(shè)定是否成功揭措。
-
/usr/bin/nmblookup
- 查詢NetBIOS name
-
/usr/bin/smbtree
- 查詢工作組與計算機名稱的樹狀目錄分布圖
update:2018-09-29
Samba設(shè)定流程
- 服務(wù)器設(shè)定,在文件
smb.conf
中設(shè)定好工作組刻蚯、NetBios Name绊含、密碼使用狀態(tài)(無密碼分享|本機密碼)。 - 規(guī)劃準(zhǔn)備分享的目錄參數(shù)炊汹。
- 建立所需要的文件系統(tǒng)躬充。
- 建立可用samba賬號,建立所需的Linux實體賬號,再以pdbedit建立使用samba的密碼
- 啟動服務(wù)smbd充甚,nmbd以政。 。
smb.conf文件
注意事項
- 符號
#
;
都是批注符號伴找; - 在該文件中不區(qū)分大小寫妙蔗;
global項目
-
[global]
中設(shè)定的是服務(wù)器的整體參數(shù),包括工作組疆瑰、主機的NetBios Name眉反、字符編碼的顯示、登錄文件的設(shè)定穆役、是否使用密碼以及使用密碼驗證的機制等寸五; - 主要參數(shù)
-
workgroup = 工作組名稱
//主機群要相同 -
netbios name = 主機的NetBios name
//每部主機均不相同 server string = 主機的簡易說明
-
log file = 日志文件
//文件名可能需要使用變量處理 max log size = 最大日志文件kb
-
- 安全參數(shù)
-
security = share|user|domain
//三選一-
share
分享的數(shù)據(jù)不需要密碼,大家均可以使用 -
user
使用samba服務(wù)器本身的密碼數(shù)據(jù)庫耿币,密碼數(shù)據(jù)庫與底下的passdb backend
有關(guān) -
domain
使用外部服務(wù)器的密碼梳杏,如果設(shè)定為該項,還需要配合password server = ip
一同使用
-
-
encrypt passwords = Yes
//代表密碼需要加密 -
passdb backend = 數(shù)據(jù)庫格式
//為了加快速度淹接,目前密碼文件已經(jīng)使用數(shù)據(jù)庫十性。默認(rèn)的數(shù)據(jù)格式喂tdbsam
,預(yù)設(shè)的數(shù)據(jù)庫文件存放在/var/lib/samba/private/passwd.tdb
-
- 資源分享參數(shù)
[分享名稱]
-
comment
//目錄說明 -
path
//分享資源的實際目錄 -
brosweable
//是否讓所有的用戶看到這個目錄 -
writeable
//是否可以寫入 -
read ony
//是否為只讀- 如果
read ony
與writeable
同時出現(xiàn),以最后出現(xiàn)的設(shè)定為主要設(shè)定
- 如果
-
writelist = 用戶|@群組
//指定能夠進入到此資源的特定使用者塑悼,如果使用@群組
則加入該群組的使用者均可取得使用權(quán)限
- 內(nèi)置變量
-
%S
取代目前的設(shè)定項目值 - smb.conf內(nèi)置變量.png
-
檢查
-
testparm
使用該命令檢查設(shè)置的smb.conf
是否存在錯誤-
-v
參數(shù)可以查閱完整的參數(shù)設(shè)定劲适,聯(lián)通默認(rèn)值也會顯示
-
-
smbclient -L [//主機或ip] [-U 使用者賬號]
-
-L
僅查閱后面接的主機所提供分享的目錄資源 -
-U
嘗試使用賬號來取得該主機的可用資源
-