smb服務是微軟的網絡通訊協議,後來應用到了linux系統上。這款文件共享協議可以使得Linux與windows系統之間進行文件共享與打印功能(打印功能暫時不理解,希望讀者留言指導),由於NFS可以完成linux與linux之間的文件共享,所以smb服務最適用 的場合還是linux與windows系統間的文件共享。
安裝方式:
ubuntu:sudo apt-get install 。。。
centerOS:yum install 。。。
查看是否安裝成功:
rpm -qa | grep samba
如果輸出結果不爲空,一般都是已經正確安裝過了
重點
配置/etc/samba/smb.conf:
(括號或者#開頭的都是註釋,請知悉)
[global]
#省略一部分
netbios name = liuzz4(#這裏是在windows網絡上顯示的名稱)
security = user(我這裏設置爲用戶模式,需要輸入用戶名與密碼纔可以訪問)
[liuzz4]
comment = liuzz4(這裏可以隨便寫)
path = /work/share
writable = yes(允許登錄用戶創建文件或者文件夾)
valid users = @whulzz(這裏的whulzz是一個用戶組,可以通過groupadd創建,這裏只允許登錄用戶爲whulzz組的用戶,否則不能通過驗證)
在修改配置文件的時候用到了文件夾/work/share與用戶組whulzz
我們還要:
添加用戶組,修改/work/share文件夾的所屬組。下面是需要用到的命令
usergroup whulzz
useradd -g whulzz test
chown -R test:whulzz /work/share
創建smb用戶
smbpasswd -a test
開啓smb與nmb服務
service smb start
service nmb start
OK,現在可以在windows上驗證了,輸入\\liuzz4既可以訪問共享文件了
好了,相信你們都遇到了坑,看完下面就能解決你們遇到的問題了
問題1:windows彈出對話框提示無法訪問的問題
原因一:防火牆沒有關閉 service iptables stop
原因二:配置/etc/samba/smb.conf沒有關閉smb服務,這個問題我確實遇到了,通過testparm後才發現該問題,當時重啓機器,浪費了壯老大我好久的時間。
問題二:共享文件夾爲什麼不是我想要的名字,爲什麼不是liuzz4
原因:沒有按照我的步驟來修改,這個共享文件夾的名字是方括號中的字符串起作用的,例如[liuzz4]
問題三:爲什麼輸入\\liuzz4依然訪問不到,但是輸入IP地址卻可以
原因一:一定要在[global]中修改netbios name = liuzz4,否則在其他地方會被覆蓋
原因二:一定要先啓動smb再啓動nmb,因爲nmb是起DNS的作用的,他會監聽到udp廣播,如果匹配到會將本機IP返回給路由的。
好了,暫時遇到的坑就這些,如果大家遇到了其他坑,請留言,壯老大會盡量給你們解決的
作者:壯老大
參考文獻:鳥哥的私房菜
系列:跳坑指南