一:什麼是samba
samba是linux、unix與windows之間進行互動操作的軟體元件,它是基于gpl協定的自由開源軟體,通過smb/cifs協定為支援該協定的作業系統提供安全、穩定、快速的檔案與列印服務;
二:安裝與配置
1.所需安裝包
samba(伺服器軟體包)
samba-client(用戶端軟體包)
samba-common(公共軟體包)
cifs-utils
2.主要程式
smbd:提供對檔案及列印資源的共享通路
監聽端口 tcp 139 tcp 445
nmbd:提供基于netbios協定的主機名解析
監聽端口 udp 137 udp 138
3.系統服務腳本
/etc/init.d/smb
4.主配置檔案
/etc/samba/smb.conf
[global] //定義全局政策
workgroup = mygroup /工作組名稱
server string = samba server version /伺服器描述
security = user / 重要!!!預設使用的安全級别(share:匿名共享 user:使用者認證)
passdb backend = tdbsam /賬戶與密碼存儲方式
[homes] //共享名稱
browseadble = no //共享目錄是否可以被浏覽
writable = yes //共享目錄是否可以進行寫操作
[printers] //列印機共享
comment = all printers //共享描述資訊
path = /var/spool/samba //列印機共享池
browseable = no //是否所有人可見
guest ok = no // 是否允許匿名通路
writable = no //
printable = yes //
[baitao] //自定義共享名
comment = this my love //描述
path = /usr/src //共享目錄
public = yes //是否所有人可用,等效于getst ok
writable = yes //是否可寫,與read only = yes作用相反
5.配置檔案檢查工具
testparm
三、驗證
1.查詢
smbclient -l 伺服器IP
2.連接配接
smbclient //伺服器位址/共享名
smbclient -u 使用者 //伺服器位址/共享名
3.挂載
mount [-t cifs] //伺服器ip/共享名 挂載點
mount -o username=使用者,password=密碼 //伺服器ip/共享名 挂載點
.
四.安全
1.驗證登入
共享賬号
建立共享賬号時,必須先有同名的系統賬号
共享賬号的密碼是獨立的
通路共享時以共享賬号/密碼登陸、權限取決于對應的系統賬号
預設使用tdb資料格式
存放位置:/etc/samba/passdb.tdb
valid users = 使用者,使用者 //共享賬号清單
write list = 使用者,使用者 //哪些使用者有寫的權限
directory mask = 0755 //上傳文檔的預設權限
create mask = 0644
pdbedit [選項]... [共享賬号名]
-a:将指定的系統使用者添加為共享賬号
-L:檢視共享賬号資訊
-x:删除指定的共享賬号
若要重高密碼,可執行smbpasswd 使用者名
2.賬号别名映射
在全局中添加以下語句
username map = /etc/samba/smbusers
vim /etc/samba/smbusers
liufu = baitao
3通路位址限制
多用在[global]全局配置
hosts allow = 客戶機IP
hosts deny = 客戶機ip
注:以空格分隔多個位址
如,允許網段192.168.4.0/24 、10.0.0.0/8通路
hosts allow = 192.168.4. 10.
五.注意事項
1.使用匿名登入時,不要輸入密碼,直接回車确認
windows
\\伺服器ip\共享名