理論部分
samba:基於smb協議使網絡上的計算機能共享文件
samba的核心是smbd和nmbd兩個守護進程
smbd:管理samba服務器上的共享目錄
nmbd:進行netbios名解析,使客戶端能瀏覽服務器的共享資源
協議端口:
smbd:tcp 445和tcp139
nmbd:udp 137/138
工作流程:
samba服務器的安裝和配置
1、安裝samba
yum install samba -y
2、修改配置文件/etc/samba/smb.conf
#======================= Global Settings =================================
//第一部分:設置全局參數內容
[global]
workgroup=MYGROUP #設置服務器所在的工作組或域名
server string=Samba Server Version %v #設置samba服務器的描述信息
netbios=MYSERVER #設置samba服務器的netbios名稱
interfaces = lo eth0 192.168.12.2/24 192.168.13.2/24 #設置所使用的網卡接口、地址
hosts allow=127. 192.168.12. 192.168.13. #設置允許訪問的地址,多個地址用空格隔開
log file = /var/log/samba/log.%m #設置日誌文件保存的路徑和名稱,%m代表客戶端主機名
max log size = 50 #設置日誌文件的大小,單位是KB,爲0時表示不限制日誌的大小
max open files = 1000 #一個客戶端最多能打開的文件數量
security=user #設置samba服務的安全級別
常用的安全級別:
>share :不需要提供用戶名和密碼即可訪問samba服務器
>user:需要提供用戶名和密碼纔可訪問samba服務器,身份驗證由samba服務器負責
>server:需要用戶名和密碼,身份認證由指定的windows服務器或另外一臺samba服務器負責
>domain/ads:較少使用
encrypt passwords=yes #設置是否對samba的密碼進行加密,現在windows操作系統都是使用加密密碼,所以一般要開啓此項
passdb backend=smbpasswd #當使用加密密碼時,指定所使用的密碼數據庫類型
一般使用的數據庫類型:
>tdsam:使用一個數據庫文件來創建用戶數據庫,數據庫文件名爲passdb.tdb,可使用smbpasswd或pdbedit命令來創建samba用戶
>smbpasswd:使用smbpasswd命令來給系統用戶(真實用戶或者虛擬用戶)設置一個Samba密碼,客戶端使用這個密碼來訪問Samba的資源。
>ldapsam:基於ladp的賬戶管理方式來驗證用戶,較少使用
smb passwd file=/etc/samba/smbpasswd #使用smbpasswd類型的密碼數據庫時密碼文件的路徑
username map = /etc/samba/smbusers #設置用戶映射,比如可以將root換成administrator、admin等
password server=x.x.x.x #設置身份認證服務器的地址,當security爲ads、server或domain時才生效
#============================ Share Definitions ==============================
[share_name] #設置共享目錄的共享名稱
comment=description of the dir #共享目錄的註釋說明
path=/path/to/dir #共享目錄的路徑名稱
browseable=yes #共享目錄是否能被瀏覽
public=yes #是否允許匿名訪問,當security=share時才生效
guest ok=yes #效果與public相同
writable=yes #是否允許讀寫
read only=yes #是否爲只讀
valid users=@linuxidc,zhao #只有用戶名爲zhao或組羣爲linuxidc的用戶才能訪問
write list=@linuxidc #只有屬於組羣linuxidc的用戶才具有寫權限
create mask=0765 #設置默認創建的文件的權限是0765
directory mode=0755 #設置默認創建的目錄的權限
force group #設置默認創建的文件的組羣
force user #設置默認創建的文件的所有者
hosts allow #設置特定主機/網段的用戶才能訪問共享
3、啓動smb服務
service smb start
Samba排錯工具testparm
使用testparm命令可以檢查smb.conf配置文件的正確性
語法:testparm 配置文件
配置客戶端:
Linux:
1、安裝samba-client
yum -y install samba-client
2、使用smbclient命令進行連接和顯示共享目錄
顯示共享目錄
語法:smbclient [選項] [選項參數]
常用選項 | 說明 |
-L<主機> | 獲取指定主機的共享列表 |
-U<用戶名> | 指定用戶名 |
-I<IP> | 指定IP |
連接共享目錄
語法:smb //samba地址/共享目錄名 -U 用戶名
一次性連接共享目錄進行指定操作後退出
smbclient -c ”ls“ //samba地址/共享目錄名 -U 用戶名
3、使用mount命令掛載共享目錄
mount -o [username=samba用戶名] [//samba地址/共享目錄名] [本地掛載點]
4、使用smbget命令下載共享資源
smbget [選項] [smb://samba地址/共享目錄名/共享資源]
常用選項 | 說明 |
-u | 指定用戶名 |
-p | 指定密碼 |
Windows:
1、打開cmd
2、輸入 \\samba地址
注意要點:
1、使用smbpasswd添加samba用戶時,所添加的用戶必須事先存在於系統中
2、文件/etc/samba/smbusers保存着賬戶映射關係,格式如下
samba賬戶=映射後的用戶
例如:
linuxidc=muu
使用muu登錄時,其實登錄的是linuxidc這個用戶
------------------------------------分割線------------------------------------
如何在Ubuntu 14.04中使用Samba共享文件 http://www.linuxidc.com/Linux/2014-07/104894.htm
VMWare 虛擬機 Ubuntu 雙網卡 訪問 samba 速度 翻倍 http://www.linuxidc.com/Linux/2013-06/85445.htm
Samba文件共享服務器加入Windows Server 2003域 http://www.linuxidc.com/Linux/2013-06/86391.htm
Samba安裝配置 http://www.linuxidc.com/Linux/2013-06/86101.htm
Ubuntu 15.04安裝Samba服務 http://www.linuxidc.com/Linux/2016-03/129201.htm
CentOS 6.2 下Samba 服務的配置 http://www.linuxidc.com/Linux/2013-01/78390.htm
Samba服務器安裝和配置 http://www.linuxidc.com/Linux/2014-12/110459.htm
CentOS部署Samba企業文件共享服務 http://www.linuxidc.com/Linux/2016-06/132609.htm