1. 程式人生 > >一文把samba相關的都說清楚

一文把samba相關的都說清楚

smb.conf 進入 搜索 方便 ini 9.1 linux 源碼 加載

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相關的都說清楚