UBUNTU 16.04 降級安裝samba 3.6.25版

參考網址:CSDN

UBUNTU 16.04的samba用的是4.3.11版,使用起來似乎有些問題,一直無法搞定windows端的連線
net use z: \\192.168.1.114\homes
會發生 「系統發生53錯誤 找不到網路路徑」 錯誤
參考文件:SAMBA 4 – Misc Development Topics

於是就打算用編譯的方式來安裝samba3.6.25版

移除原先的samba
apt autoremove samba

到這兒下載3.6.25版
https://download.samba.org/pub/samba/

安裝過程參考https://blog.csdn.net/cupidove/article/details/47756225
1、解壓、編譯、安裝
#tar xzvf samba-3.6.25.tar.gz
#cd samba-3.6.25/source3
#./configure
#make
#make install

沒用路徑參數,因為預設是/usr/local/samba

2、配置smb.conf,比較關鍵的一步
預設情況下,samba套裝軟體會被安裝到目錄/usr/local/samba/下,但是現在還不能啟動它。
samba的進程在啟動的時候需要一些庫檔的支援,這些庫檔就在/usr/local/samba/lib/目錄下,需要把這個目錄加入系統搜索庫檔的路徑中。
可以在/etc/ld.so.conf.d/目錄裡創建一個名為samba.conf的檔(檔案名尾碼必須為.conf,名稱隨意),這個檔的內容就是/usr/local/samba/lib/,最後執行ldconfig命令使之生效。
在 /etc/ld.so.conf.d/ 目錄下創建 samba.conf 檔(檔只要以conf結尾即可),並輸入所安裝的 samba 庫位置的絕對路徑(/usr/local/samba/lib)即可;之後執行命令 #ldconfig 重新讀取 /etc/ld.so.conf.d 目錄下的設定檔。

ldconfig命令的用途,主要是在預設搜尋目錄(/lib、/lib64和 /usr/lib)以及動態庫配置目錄 /etc/ld.so.conf內的檔,搜索出可共用的動態連結程式庫(lib*.so*),進而創建出動態裝入程式(ld.so)所需的連接和快取檔案。

注意:這一步必須要做,否則 smbd 不能啟動。
#cp ./samba-3.6.25/examples/smb.conf.default /usr/local/samba/lib

3、配置smb.conf (只列重點)
[global] 
workgroup = WORKGROUP
security = USER


[homes]
    comment = Home Directories
    valid users = %S
    read only = No
    browseable = No
    
[share]
comment = Share files
public = yes
browseable = yes
locking = no
path=/opt/samba
writable=yes
create mask = 0644
directory mask = 0755
# 載入 檔案存取記錄及資源回收筒 模組
vfs object = audit recycle
# 在將檔案移入 資源回收筒 時,要建立相對應的目錄結構
recycle: keeptree = yes
# 資源回收筒 之相對路徑。後面的 %u 則為使用者帳號。
recycle: repository = Recycle/%u
# 不進行 資源回收 的檔案類型
recycle: exclude = .tmp|.temp|.o|.obj
# 若有相同檔案名稱時,則加以編號識別
recycle: versions = yes

/usr/local/samba/bin/testparm可以測試smb.conf檔案是否設定正確
也可以知道smb.conf放在哪兒


4、增加smb用戶
比如有一個用戶名是,那麼:
/usr/local/samba/bin/smbpasswd -a kitty,就把kitty增加為smb用戶了。
/usr/local/samba/bin/pdbedit -L 可以得知目前有哪些使用者。

5、關閉防火牆
systemctl stop firewalld

6、啟動smb服務
#/usr/local/samba/sbin/smbd -D
#/usr/local/samba/sbin/nmbd -D

#netstat -tlunp | grep mbd
#netstat -tlunp | grep smbd
查看是否啟動成功

7、最後一步,需要做的就是把smb服務設為開機啟動。
#vi /etc/rc.d/rc.local
加入
/usr/local/samba/sbin/smbd -D
/usr/local/samba/sbin/nmbd -D 
就可以了。

8.更改$PATH
  個別的PATH
  在/root下新增.bash_profile內容為
  export PATH=/usr/local/samba/bin:$PATH
  馬上啟用
  source ./bash_profile
  
  整體的PATH
  /etc/profile

9.在/etc/samba 中建立symbolic link smb.conf
  cd /etc/samba
  ln -s  /usr/local/samba/lib/smb.conf smb.conf

 

在本機測試連線
/usr/local/samba/bin/smbclient '//192.168.1.114/homes' -U sa 


smbstatus可以知道目前samba的版本

[供參]
Windows 10 無法登入 Samba (NAS)
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\LanmanWorkstation\Parameters
在 Parameters 上按右鍵 → 新增 → DWORD (32-bit) 值(D) → AllowInsecureGuestAuth
 AllowInsecureGuestAuth 數值資料填入 1

本篇發表於 Linux系統。將永久鏈結加入書籤。