SAMBA 問題:核心文件和無法查看某些 Win 10 計算機的共享

SAMBA 問題:核心文件和無法查看某些 Win 10 計算機的共享

我不久前安裝了 Ubuntu 19.10。我想使用它的方式之一是作為文件伺服器。使用 Gnome GUI,我在名為 UbuntuShare 的資料夾上啟用了共享,並根據提示單擊以啟用 Samba。我已選中這些框,以便任何人都可以存取共享並設定所有人的讀/寫權限。

隨之而來的是一些奇怪的事情。

  1. 在UbuntuShare資料夾中,已經建立了一個名為core的檔案。它上面有一個橘色的鎖符號和紅色的 X 符號。另一個共用資料夾也發生過這種情況。我最終刪除了該資料夾以擺脫它,但該資料夾又發生了這種情況。我在網上搜索過,但找不到任何相關信息,所以我不知道這是否正常,但這看起來很奇怪。

  2. 我可以從 Windows 10 筆記型電腦上檢視和存取 UbuntuShare 資料夾,但前提是我要輸入電腦名稱或 IP 位址。它不會顯示在網路分享畫面上。非常奇怪的是,我還有另外兩個桌面,即使我輸入電腦名稱或 IP 位址,它們也看不到它。三台機器都是Windows 10,我檢查了三台機器上的網路共用設置,它們是相同的。唯一的區別是我的筆記型電腦位於我辦公室的網域中,而桌上型電腦位於標準工作組中。

  3. 我建立了幾個 Word 文件並將其從筆記型電腦儲存到 Ubuntu 上的 Samba 共用。當我在 Ubuntu 機器上時,它上面有一個鎖符號。當我在 GUI 中查看權限時,它說我不擁有這些文件,並且無法修改權限。如何做到這一點,這樣我就不會遇到 Windows 機器新增的歸檔問題?

我擔心我不知何故搞砸了 Samba。在我意識到 Gnome GUI 有一種共享方式之前,我按照我發現的一些命令列指令為早期版本的 Ubuntu 安裝 Samba。當我意識到 GUI 更簡單後,我在 Samba 上執行了 sudo apt purge 來刪除我所做的一切,希望將其清除。

我的目標是實現共享,以便我可以輕鬆共享文件以供 Windows 電腦存取。我的小學生使用這兩台 Windows 10 計算機,因此我不想必須進行身份驗證才能存取 Samba 伺服器。另外,如果核心文件正常,那就沒問題。如果沒有,我想修復它。

我將不勝感激任何幫助。

艾瑞克

答案1

  • 若要檢查奇怪資料夾的內容並能夠將其刪除,請使用終端機。
  • 在終端機視窗中使用命令轉到您的資料夾cdcd /home/$USER/UbuntuShare
  • ls -ailh透過命令檢查這個奇怪文件的所有者和權限

如果你確實想刪除該文件,你可以使用sudo rm -fr /pathto/UbuntuShare/core

但最好還是透過 來檢查一下裡面的內容sudo cat /home/$USER/UbuntuShare/core

在您的情況下,您共享了預設smb.conf檔案而沒有配置共享。要配置它,請將 next 添加到您的末尾/etc/samba/smb.conf

[SambaShare]
   # replace yourusername by your real user's name
   path = /home/yourusername/UbuntuShare
   writable = yes
   guest ok = yes
   guest only = yes
   read only = no
   create mode = 0777
   directory mode = 0777
   force user = nobody

另請確保您的資料夾具有所需的權利和所有權:

sudo chown -R nobody:nogroup /home/$USER/UbuntuShare
sudo chmod -R 0777 /home/$USER/UbuntuShare

然後重新啟動 samba 服務:

sudo systemctl restart smbd nmbd

另外,在防火牆中允許 samba:

sudo ufw allow samba

更新1:

在 Windows 10 版本 1511 中,預設會停用對 SMBv1 的支持,從而停用 NetBIOS 裝置發現。根據實際版本,從版本 1709(「秋季創意者更新」)開始的更高版本的 Windows 不再允許安裝 SMBv1 用戶端。這會導致執行 Samba 的主機不會列在資源管理器的「網路(鄰居)」視圖中。雖然不存在連線問題且 Samba 仍然可以正常運行,但使用者可能希望 Windows 自動列出他們的 Samba 主機。

使 samba 在 Ubuntu 18.04、19.10 上工作並在 Windows 10 版本 1909 共享網路中可見西德

使用終端執行下一步:

  • cd ~/
  • sudo apt install git
  • git clone https://github.com/christgau/wsdd
  • cd wsdd
  • sudo cp etc/systemd/wsdd.service /etc/systemd/system/
  • sudo cp src/wsdd.py /usr/bin/wsdd
  • sudo nano /etc/systemd/system/wsdd.service


    Group=nobody改成Group=nogroup

    添加上面ExecStart
    Restart=on-failure
    RestartSec=15

    然後按下以下鍵退出:Ctrl+ X, then Y, thenEnter

  • sudo ufw allow 3702 && sudo ufw allow 5357 # 允許 wsdd 流量通過防火牆

  • sudo systemctl enable wsdd.service
  • sudo systemctl start wsdd
  • systemctl status wsdd看看它是否處於活動狀態

在此輸入影像描述

如果服務處於活動狀態,請刪除wsdd資料夾:rm -fr ~/wsdd

另外,如果您不想麻煩自己進行此配置,並且您的 Ubuntu 電腦在 Windows 10 共享網路中的可見性並不重要,您可以將 Windows 檔案總管中的 UbuntuShare 資料夾拖放到快速存取項目在那裡建立了快捷方式。因此,您無需輸入 Ubuntu 機器的 IP 位址即可存取它。

更新2:如果 Windows 10 拒絕連線到您的 Ubuntu 共享,請嘗試將 SMB 協定指定為版本 2 或 3:

  • 打開以編輯您的smb.conf文件:sudo nano /etc/samba/smb.conf
  • [global]部分下輸入下一個:protocol = SMB3如果您samba --version是 4。
  • 重新啟動 samba 服務:sudo systemctl restart smbd nmbd
  • 檢查您的 samba 服務是否正常:systemctl status smbd nmbd

答案2

謝謝大家的指導和幫助。在發現這不太可能是 samba 問題後,我今天花了一些時間在 Windows 中搜尋可能的原因。

我瀏覽了下面的文章,按照解決方案進行操作,兩台桌上型電腦都立即能夠存取 samba 共享。

文章及解決方案:https://superuser.com/questions/1287731/windows-10-can-ping-other-pc-but-cannot-access-shared-folders-what-gives

Microsoft 支援文章解決方案是基於:https://support.microsoft.com/en-us/help/4046019

電腦設定\管理範本\網路\Lanman Workstation“啟用不安全的來賓登入”

答案3

我現在無法在 Windows 上嘗試,但至少可以在 ubuntu 上運行。這是我從中取得的配置這裡我認為值得嘗試:

  • 透過複製來備份目前/etc/samba/smb.conf檔案:sudo cp /etc/samba/smb.conf /etc/samba/bk.smb.conf
  • 編輯您的/etc/samba/smb.conf

    [global]
        workgroup = WORKGROUP
        server string = %h server (Samba, Ubuntu)
        netbios name = UBUNTU-POWERSPEC
        log file = /var/log/samba/log.%m
        max log size = 10240
        security = user
        map to guest = Bad Password
        getwd cache = yes
        guest account = nobody
        usershare allow guests = Yes
        server signing = auto
        passdb backend = tdbsam
        local master = yes
    
        vfs objects = acl_xattr
        map acl inherit = yes
        store dos attributes = yes
    
        winbind nss info = template
        winbind enum users = Yes
        winbind enum groups = Yes
        winbind use default domain = yes
    
        client use spnego = yes
        client ntlmv2 auth = yes
    
        encrypt passwords = yes
    
        local master = No
        hide dot files = No
        allow insecure wide links = yes
        store dos attributes = yes
    
  • 重新啟動 samba 服務:

    sudo systemctl restart smbd nmbd
    
  • 檢查 samba 服務狀態:

    sudo systemctl status smbd nmbd
    

答案4

跟隨這些說明。為了獲得最大可用性,請確保伺服器上的 SAMBA 帳戶使用者名稱(與伺服器使用者名稱分開)與您用於存取共享的 Windows 帳戶的使用者名稱相符。

相關內容