samba文件共享服務
Samba服務協議
SMB協議:服務消息塊協議 { 139 |445 }
CIFS協議: 通用互聯網文件系統
Samba軟件包主要構成
samba: samba服務端軟件
samba-common: samba公用組件
samba-client: samba客戶端軟件
Samba服務器主要程序
smbd:提供對服務器中文件、打印資源的共享訪問
nmbd:提供基於NetBIOS主機名稱的解析
Samba服務腳本和配置文件:
/etc/init.d/smb
/etc/samba/smb.conf
testparm: 配置文件檢查工具
smb.conf文件配置內容
[global] :全局配置
[homes] :用戶家目錄共享設置
[printers] :打印機共享設置
smb.conf文件用戶可以配置,每個配置項都是中括號形式例:[share]
配置項含義:
workgroup:工作組名稱
server string:服務器描述信息
security:安全級別 { share | user | server |domain }
log file:日誌文件位置,“%m”變量表示客戶機地址
max log size:日誌文件的最大容量,單位爲KB
passwd backend:設置共享賬戶文件的類型
comment:對共享目錄的註釋、說明信息
path:共享目錄在服務器中對應的實際路徑
browseable:該共享目錄在“網上鄰居”中是否可見
guest ok:是否允許所有人訪問,等效於“public”
writable:是否可寫,與read only的作用相反
valid users:訪問授權用戶,多個以 , 隔開
write list:可寫授權列表,多個以,隔開
hosts allow :允許訪問主機
hosts deny:拒絕訪問主機
{限制的對象可以是主機名、IP地址、IP網段,多個地址以空格火逗號隔開,網段表示:192.168.1.0/24或192.168.1 (省去主機部分)}
username map:別名映射配置項,指向映射配置文件etc/samba/smbusers
directory mask :用戶上傳(創建)目錄的默認權限
create mask :用戶上傳(創建)文件得默認權限
配置:
在配置etc/samba/smb.conf時,爲了方便觀看,一般把註釋、空行、配置樣例行(以;開頭)去掉,可以用grep過濾和 > 重定向導入來去除。(建議事先備份一份),每配置一次都要重啓一下服務service smb restart
匿名訪問:
創建一個共享配置項,path指定其路徑,路徑目錄要存在
安全級別設置爲:security = share
允許所有人訪問:guset ok = yes
重啓服務:service smb restart
需驗證的共享
創建系統用戶
useradd tom
添加samba用戶並設密碼(系統存在的用戶名)
pdbedit -a tom
(smbpasswd -a tom)
安全級別設置爲:security = user
關閉(刪除)所有人訪問:gusetok = no
重啓服務:service smb restart
別名映射配置文件
/etc/samba/smbusers
配置:用戶名 = 別名(tom = zhangsan lisi)多個別名以空格相隔
編輯/etc/samba/smb.conf,在[global]中指定映射文件
usernamemap = /etc/samba/smbusers
用戶授權(只在此項中用戶可訪問)
編輯/etc/samba/smb.conf,添加valid users 配置項
例:valid users =tom,root
寫入授權(應刪除writable配置項)
編輯/etc/samba/smb.conf,添加write list配置項
例: write list= tom,root
客戶端授權
編輯/etc/samba/smb.conf,添加hosts { allow | deny} 配置項
例:hosts allow =192.168.1.9192.168.2192.168.3.0/24(允許此類地址訪問)
hosts deny = 192.168.1.9192.168.2192.168.3.0/24(阻止此類地址訪問)
注:hosts allow和hosts deny不應同時出現
使用smbclient訪問
匿名
smbclient -L 192.168.1.1 查看有哪些共享
smbclient //192.168.1.1/t78 訪問
非匿名
smbclient -L 192.168.1.1 -U tom 查看
smbclient -U tom //192.168.1.1/t78 訪問
mount掛載
掛載前要確定系統中安裝了cifs-util工具
mount -o username=tom,password=密碼 //192.168.1.1/t78/t78
開機自動掛載
在/etc/fstab中添加
//192.168.1.1/t78/t78 cifs defaults,username=tom%密碼 0 0
autofs自動掛載
需安裝autofs自動掛載工具
在/etc/auto.master中添加
/mnt /etc/samba.misc
指定掛載主目錄/mnt和掛載目錄配置/etc/samba.misc
新建/etc/samba.misc並添加以下掛載配置項
samba -fstype=cifs,usename=tom,password=密碼 ://192.168.1.1/t78
注:在訪問時不但需要共享的權限,還要具有本地文件系統的權限。