什么是samba
samba是實現(xiàn)windows迂曲、linux冗荸、unix的系列主機之間文件共享存儲的一種解決方案。samba首先讓linux主機實現(xiàn)NetBIOS協(xié)議粤攒,讓主機可以基于這個協(xié)議與windows交互栽渴,解析主機名到網(wǎng)上鄰居中尖坤,然后又實現(xiàn)了windows主機之間共享的SMB協(xié)議,SMB協(xié)議也叫做CIFS協(xié)議:通用互聯(lián)網(wǎng)文件系統(tǒng)闲擦。
linux主機啟動samba應(yīng)用之后慢味,能響應(yīng)NetBIOS主機解析,又能響應(yīng)SMB的工作邏輯墅冷。所以他可以出現(xiàn)在windows的網(wǎng)上鄰居中纯路,也可以點擊圖標的方式訪問在linux主機上共享的打印機或者文件系統(tǒng)。windows還有更加緊密的管理方式——域方式寞忿,linux可以啟動samba-server服務(wù)感昼,linux主機加入域,成為windows的域成員罐脊,甚至還能成為整個域服務(wù)的域控主機,把所有windows主機的賬號密碼存到linux上管理蜕琴。一般現(xiàn)在企業(yè)不會這么用萍桌,這里只介紹linux主機安裝samba后能夠加入windows網(wǎng)上鄰居的過程。
其中samba服務(wù)的配置文件smb.conf中
Global Settings下有很多子段
Network-Related Options #網(wǎng)絡(luò)相關(guān)的選項
Logging Options #日志相關(guān)的選項
Standalone Server Options #samba自己作為一個獨立服務(wù)器相關(guān)的選項
Domain Members Options #samba加入到域相關(guān)的選項
Domain Controller Options #samba自己成為域控相關(guān)的選項
Browser Control Options #瀏覽器控制相關(guān)的選項
Printing Options #打印相關(guān)的選項
File System Options #文件系統(tǒng)相關(guān)的選項
客戶端掛載samba提供的共享文件需滿足以下三點才能擁有寫權(quán)限:
第一凌简,當(dāng)前用戶對當(dāng)前文件系統(tǒng)路徑有寫權(quán)限
第二上炎,映射過去的掛載用戶對遠程服務(wù)器目錄有寫權(quán)限
第三,掛載時候用戶對共享權(quán)限有寫權(quán)限
samba配置
環(huán)境配置
192.168.10.10 samba服務(wù)器
192.168.10.11 客戶端
配置samba服務(wù)器
[root@localhost ~]# yum -y install samba
[root@localhost ~]# cd /etc/samba
[root@localhost samba]# cp smb.conf{,.bak}
[root@localhost samba]# vim smb.conf
# ----------------------- Network-Related Options -------------------------
workgroup = MYGROUP #工作組
server string = Samba Server Version %v #鼠標停留提示條
; interfaces = lo eth0 192.168.12.2/24 192.168.13.2/24
#監(jiān)聽的ip地址
hosts allow = 127. 192.168. #白名單雏搂,不允許的都拒絕
# --------------------------- Logging Options -----------------------------
log file = /var/log/samba/log.%m #日志路徑藕施,m表示每個用戶一個日志
max log size = 50 #日志超過50KB會做日志滾動
# ----------------------- Standalone Server Options ------------------------
security = user #運行在user安全模式下,另外兩種已廢除
passdb backend = tdbsam #利用系統(tǒng)用戶當(dāng)作賬號凸郑,使用另外一套密碼
裳食。。芙沥。诲祸。浊吏。。
#我們只是用samba提供一個簡單的文件共享存儲救氯,只是簡單配置下就行了
[root@localhost samba]# testparm #測試samba配置的參數(shù)是否正常
[root@localhost samba]# systemctl start nmb.service smb.service
#啟動兩個服務(wù)
[root@localhost samba]# useradd smbuser1
[root@localhost samba]# smbpasswd -a smbuser1
New SMB password:
Retype new SMB password:
Added user smbuser1.
#配置一個samba登錄賬號
客戶端連接
此時客戶端有兩種方式連接samba服務(wù)器
1.smbclient找田,像ftp一樣交互式訪問
訪問共享的家目錄:
[root@localhost ~]# yum -y install samba-client #安裝客戶端
[root@localhost ~]# smbclient -L 192.168.10.10 -U smbuser1
Enter SAMBA\smbuser1's password:
Sharename Type Comment
--------- ---- -------
IPC$ IPC IPC Service (Samba Server Version 4.7.1)
smbuser1 Disk Home Directories
Reconnecting with SMB1 for workgroup listing.
Server Comment
--------- -------
Workgroup Master
--------- -------
MYGROUP LOCALHOST
WORKGROUP MS-20180305MWRV
#看到共享的用戶家目錄
[root@localhost ~]# smbclient //192.168.10.10/smbuser1 -U smbuser1
Enter SAMBA\smbuser1's password:
Try "help" to get a list of possible commands.
smb: \> ls
. D 0 Tue Jun 19 03:20:43 2018
.. D 0 Tue Jun 19 03:20:43 2018
.bash_logout H 18 Wed Aug 2 17:11:00 2017
.bash_profile H 193 Wed Aug 2 17:11:00 2017
.bashrc H 231 Wed Aug 2 17:11:00 2017
18855936 blocks of size 1024. 17667968 blocks available
smb: \> lcd /tmp
smb: \> get .bashrc #下載文件成功
getting file \.bashrc of size 231 as .bashrc (37.6 KiloBytes/sec) (average 37.6 KiloBytes/sec)
smb: \> lcd /etc
smb: \> put fstab #上傳文件成功
putting file fstab as \fstab (75.7 kb/s) (average 75.7 kb/s)
smb: \> ls
. D 0 Tue Jun 19 03:38:19 2018
.. D 0 Tue Jun 19 03:20:43 2018
.bash_logout H 18 Wed Aug 2 17:11:00 2017
.bash_profile H 193 Wed Aug 2 17:11:00 2017
.bashrc H 231 Wed Aug 2 17:11:00 2017
fstab A 465 Tue Jun 19 03:38:19 2018
18855936 blocks of size 1024. 17667324 blocks available
自定義共享目錄并配置權(quán)限:
配置服務(wù)端:
[root@localhost samba]# mkdir -pv /data/samba/files
[root@localhost ~]# vim /etc/samba/smb.conf
[myfiles]
comment=A test shared dir. #描述
path=/data/samba/files #路徑
public=yes #所有用戶都可瀏覽
writable=yes #可寫的
browseab=yes #沒有訪問權(quán)限的也可以瀏覽
[root@localhost ~]# testparm #檢測語法
[root@localhost ~]# smbpasswd -a smbuser2
New SMB password:
Retype new SMB password:
Added user smbuser2.
#添加賬號2
[root@localhost ~]# ll -d /data/samba/files/
drwxr-xr-x 2 root root 6 Jun 19 04:15 /data/samba/files/
#目錄屬性中的其他用戶沒有寫權(quán)限
[root@localhost ~]# setfacl -m u:smbuser2:rwx /data/samba/files
[root@localhost ~]# getfacl /data/samba/files
getfacl: Removing leading '/' from absolute path names
# file: data/samba/files
# owner: root
# group: root
user::rwx
user:smbuser2:rwx
group::r-x
mask::rwx
other::r-x
#賦予smbuser2賬戶對此目錄有操作權(quán)限
連接客戶端:
[root@localhost ~]# smbclient -L 192.168.10.10 -U smbuser2
Enter SAMBA\smbuser2's password:
Sharename Type Comment
--------- ---- -------
IPC$ IPC IPC Service (Samba Server Version 4.7.1)
myfiles Disk A test shared dir.
smbuser2 Disk Home Directories
Reconnecting with SMB1 for workgroup listing.
Server Comment
--------- -------
Workgroup Master
--------- -------
MYGROUP LOCALHOST
WORKGROUP MS-20180305MWRV
#此時共享文件myfiles已經(jīng)顯示
[root@localhost ~]# smbclient //192.168.10.10/myfiles -U smbuser2
Enter SAMBA\smbuser2's password:
Try "help" to get a list of possible commands.
smb: \> lcd /etc
smb: \> ls #此時是空的
smb: \> put fstab
putting file fstab as \fstab (90.8 kb/s) (average 90.8 kb/s)
smb: \> ls
. D 0 Tue Jun 19 05:02:59 2018
.. D 0 Tue Jun 19 04:15:17 2018
fstab A 465 Tue Jun 19 05:02:59 2018
18855936 blocks of size 1024. 17667776 blocks available
#smbuser2對這個目錄擁有讀寫權(quán)限
2.mount.cifs,提供一個共享文件掛載在本地目錄下
[root@localhost ~]# mount -t cifs //192.168.10.10/myfiles /mnt -o username=smbuser2,password=112233
#把myfiles掛載到本地的mnt下
[root@localhost ~]# cd /mnt
[root@localhost mnt]# cp /etc/hosts ./
[root@localhost mnt]# ls
fstab hosts
#成功拷貝文件