一文把samba相關的都說清楚
1.前言
samba源碼都一樣,配置也也一樣,各個不同linux版本,唯一不同的是對服務的啟動方式不同。下面以ubuntu14.4為例,說明。
2. 安裝samba
samba的安裝,可以源碼安裝,大部分都可以直接采用相關linux版本的軟件安裝工具安裝最方便。
如:ubunt
sudo apt-get install samba
3.配置
samba的配置文件在,/etc/samba/smb.conf裏;需要root權限可編寫;
保險起見,先備份該文件,然後在該文件的最後加上自己需要共享的部分;
[dusf] //顯示的共享目錄名稱,自己填
comment = dusf //批註,隨便寫;
path = /home/dusf //需要共享的linux服務器上的目錄文件夾;
browseable = yes //可以瀏覽,yes
writable = yes //可以寫,yes
4. 設置訪問的用戶密碼
設置可以訪問的linux用戶使用的訪問密碼;
smbpassed -a user
說明:
刪除用戶是:
smbpassed -a user
顯示samba的所有用戶是:
pdbedit -L
5.重啟samba服務
各版本linux略有差異;ubunt是如下:
/etc/init.d/samba restart
停止是
/etc/init.d/samba stop
centos如下:
啟動Samba服務
/etc/rc.d/init.d/smb start
停止Samba服務
/etc/rc.d/init.d/smb stop
重新啟動Smaba服務
/etc/rc.d/init.d/smb restart
重新加載Smaba服務
/etc/rc.d/init.d/smb reload
編輯啟動加載項
ntsysv
chkconfig -level n smb on/off
6.windows上訪問
正常情況下,windows上的cmd窗口訪問,\\10.46.169.111,然後輸入用戶密碼以後均OK的。
7.故障排查
出現不能訪問是再正常不過的事情,有的時候是防火墻的原因,有的時候是其他亂七八糟的原因。但,解決問題總的有章可循。一股子勁,把問題現象在google百度上一搜,然後在嘗試上面的解決方法。
未嘗效率很低。
正常的姿勢是,查看samba的日誌(排除任何軟件的故障,都應該是這個思路);
smaba的日誌文件存在為:
/var/log/samba/....
可以用ls -ltr,查看那個是最新的日誌,打開這個日誌,或者tail -f xxx.log,再嘗試登錄,查看最新的日記記錄;
如果根本都沒有日誌顯示,證明都沒有到samba,很可能是防火墻等外圍的配置導致的;
如果有日誌,就根據日誌的顯示,在具體分析,或者網絡搜索,就有有的放矢,效率要高多了。
比如作者,windows也顯示沒有權限訪問,在網上一大堆這樣的問題,其實很多問題都是這個表象,我試了好久,都沒找到原因。後來看日誌,發現跟內存分配有關出現的panic了,再網上搜索解決方法;
[2018/10/20 09:05:10.626016, 0] ../source3/lib/util.c:801(smb_panic_s3)
smb_panic(): calling panic action [/usr/share/samba/panic-action 78861]
[2018/10/20 09:05:10.628158, 0] ../source3/lib/util.c:809(smb_panic_s3)
smb_panic(): action returned status 0
[2018/10/20 09:05:10.628207, 0] ../source3/lib/dumpcore.c:303(dump_core)
dumping core in /var/log/samba/cores/smbd
sudo apt-get install libtalloc2 重新安裝 talloc
8. windows的網絡共享補充知識
8.1 net use
windows的網絡共享有記憶功能,第一次失敗了,後面還是失敗。第一次進入了,第二次還是這樣進去的;所以有必要清除這些記錄,有便於排除問題:
顯示當前windows機器的共享連接:
net use
刪除特定的共享連接:
net use \\10.46.169.115\dusfshare delete
刪除所有的共享連接:
net use * /delete
8.2 subst
映射網絡共享為本地盤符:
subst x: \\10.46.169.115\dusfshare
刪除:
subst x: /d
一文把samba相關的都說清楚