思維導圖:
1. Samba服務概述
1.1 smb/CIFS協議
- smb:Service Message Block
- cifs:Common Internet Filesystem
- smb協議也叫cifs協議
1.2 NetBIOS協議
- NetBIOS:網絡基本輸入輸出協議
- 作用:主機名解析(NetBIOS所支持的主機名最長不能超過15個字符)
- 工作方式:
- Windows的本地網絡主機名稱解析服務以廣播的方式在工作
- 以廣播的方式探測整個網絡內有多少主機對這個協議是支持的,而后去請求解析得到對方的主機名
- 等NetBIOS解析完畢后,才通過SMB協議實現文件系統共享
1.3 功能
- 文件系統共享
- 打印機共享
2. Samba程序結構
2.1 程序結構
1)服務端程序包
- 程序包:
- samba
- samba-common
- samba-libs
- 安裝:
- yum install samba -y
2)主程序
- nmbd:
- NetBIOS name server 實現NetBIOS協議的
- smba:
- SMB/CIFS services 實現文件共享
2.2 端口&配置
1)監聽的端口
- nmbd:137/udp、138/dup
- smbd:139/tcp、445/tcp
2)主配置文件
- /etc/samba/smb.conf
- 由samba-common包提供
3)Unit File
- smb.service
- nmb.service
- 注意:在用systemctl啟用samba服務時,上面的兩個服務都要啟用
2.3 客戶端程序
1)smbclient
- 作用:
- 交互式命令行客戶端,類似於lftp
- 查看Server端的共享:
- 參數:
- -L netbios 可以使用netbios,也可以直接指定主機名
- -U username 指定以哪個用戶的身份去訪問,如果不指定用戶名,則默認以匿名用戶訪問
- 示例:
- smbclient -L 10.0.0.201 查看此主機上的所有smb共享,以匿名用戶的身份訪問
- 參數:
- 登錄:
- 語法:smbclient //主機/共享名 -U 用戶名
- 示例:smbclient //10.0.0.201/smbuser1 -U hgzero
2)mount.cifs
- 直接掛載使用
- 掛載cifs文件系統的專用命令
3)與windows主機之間實現共享
4. Samba服務的配置
4.1 配置文件
- 配置文件:/etc/samba/smb.conf
- 配置文件語法檢測:testparm
4.2 全局配置
4.3 共享文件系統配置[ SHARED_NAME]
5. Samba用戶管理
6. Samba服務共享的查看
- 查看Server端的共享
- smbclient -L SMB_SERVER [ -U USERNAME ]
- 交互式文件訪問:
- smbclient //SMB_SERVER/SHARE_NAME [ -U USERNAME ]
- 掛載訪問:
- smbclient -t cifs //SMB_SERVER/SHARE_NAME /mnt -o username=USERNAME,password=PASSWORD
- 注意:掛載操作的用戶,與-o選項中指定的用戶直接產生映射關系,此時,訪問掛載點,是以-o選項中的username指定的用戶身份進行的
- smbstatus:
- 作用:顯示samba服務的相關共享的訪問狀態信息
- 參數:
- -b:顯示簡要格式信息
- -v:顯示詳細格式信息