題 無法從Windows 8.1訪問Samba共享


我最近在我的一個家庭工作站上從Windows 7升級到Windows 8.1。我有另一台運行Ubuntu 13.10的機器。

在更新到Windows 8.1之前,我能夠訪問Ubuntu上的共享(通過右鍵單擊文件夾 - >共享選項共享),目前家中的其他設備仍然可以訪問共享(這些是另一個Windows 7設備, Android設備,甚至是舊的Windows XP設備)。我擁有的所有其他設備仍然可以訪問共享。這些共享都已配置為 Allow others to create and delete files in this folder 和 Guest access

這只是這台Windows 8.1機器,雖然我可以看到共享文件夾,但嘗試打開其中一個會導致Windows網絡錯誤消息 you do not have permissions to access...

我認為,因為這些是共享的 Guest access,應該沒有可能的權限阻礙,對於我擁有的其他設備,這似乎是真的。

此外,共享中涉及的所有文件夾都具有應用的權限777 chmod。對於這個問題,我還發現了Nautilus右鍵單擊權限設置 Create and delete files 適用於所有團體。

我發現有關更新的文章 HKLM/System/Services/LanmanServer/Parameters/RequireSecuritySignature 到0(已經設置為0,BTW)。

我應該改變我的行為似乎很愚蠢 smb.conf 文件,所有其他機器完全訪問此共享,雖然我發現一些說Wins支持應該是 Yes 和其他人說它應該是 No。我試過這個沒有變化。仍會出現有關安全性的相同錯誤消息。

我確信的一件事是Windows 8讓我使用電子郵件地址和該地址的登錄信息才能登錄到這個系統。但同樣,股票設置為允許 guest access

下面如果smb.conf的內容,如果它有幫助。

#======================= Global Settings =======================
[global]
#
    workgroup = WORKGROUP
    server string = %h server (Samba, Ubuntu)
    wins support = yes
;   wins server = w.x.y.z
    dns proxy = no
    name resolve order = wins lmhosts host bcast
###
;   interfaces = 127.0.0.0/8 eth0
;   bind interfaces only = yes
###
    log file = /var/log/samba/log.%m
    max log size = 1000
    syslog = 0
    panic action = /usr/share/samba/panic-action %d
######
    encrypt passwords = true
;    passdb backend = tdbsam
    obey pam restrictions = yes
    unix password sync = yes
    passwd program = /usr/bin/passwd %u
    passwd chat = *Enter\snew\s*\spassword:* %n\n *Retype\snew\s*\spassword:* %n\n *password\supdated\ssuccessfully* .
    pam password change = yes
    map to guest = bad user
#########
#
;   domain logons = yes
#
;   logon path = \\%N\profiles\%U
;   logon drive = H:
;   logon script = logon.cmd
; add user script = /usr/sbin/adduser --quiet --disabled-password --gecos "" %u
; add machine script  = /usr/sbin/useradd -g machines -c "%u machine account" -d /var/lib/samba -s /bin/false %u
; add group script = /usr/sbin/addgroup --force-badname %g
#########
;   printing = bsd
;   printcap name = /etc/printcap
;    printing = cups
;   printcap name = cups
###########
;   include = /home/samba/etc/smb.conf.%m
;   message command = /bin/sh -c '/usr/bin/linpopup "%f" "%m" %s; rm %s' &
;   idmap uid = 10000-20000
;   idmap gid = 10000-20000
;   template shell = /bin/bash
;   winbind enum groups = yes
;   winbind enum users = yes
;    usershare max shares = 100
    usershare allow guests = yes
#======================= Share Definitions =======================
;[homes]
;   comment = Home Directories
;   browseable = no
;   read only = yes
;   create mask = 0700
;   directory mask = 0700
#
;   valid users = %S
;[netlogon]
;   comment = Network Logon Service
;   path = /home/samba/netlogon
;   guest ok = yes
;   read only = yes
;[profiles]
;   comment = Users profiles
;   path = /home/samba/profiles
;   guest ok = no
;   browseable = no
;   create mask = 0600
;   directory mask = 0700
[printers]
    comment = All Printers
    browseable = no
    path = /var/spool/samba
    printable = yes
;    guest ok = no
;    read only = yes
    create mask = 0700
[print$]
    comment = Printer Drivers
    path = /var/lib/samba/printers
;    browseable = yes
;    read only = yes
;    guest ok = no
;   write list = root, @lpadmin
;[cdrom]
;   comment = Samba server's CD-ROM
;   read only = yes
;   locking = no
;   path = /cdrom
;   guest ok = yes
#    cdrom share is accesed. For this to work /etc/fstab must contain
#    an entry like this:
#
#
#
#    is mounted on /cdrom
#
;   preexec = /bin/mount /cdrom
;   postexec = /bin/umount /cdrom
[DROP2]
    path = /media/jeff/Storage/DROP
    writeable = yes
;    browseable = yes
    guest ok = yes

5
2018-06-08 22:13


起源


嘗試將該文件共享映射為驅動器,而不是直接作為UNC路徑訪問。另外,嘗試將其映射為驅動器,然後在Windows中選擇“將文件夾另存為另一個用戶”選項。使用Ubuntu操作系統中的一些用戶名/密碼 明確的 該共享的權限,甚至可能是共享/文件夾所有者。可能不是您的長期修復,但可能會提供一些見解。 - jimtut
@jimtut,謝謝你的建議。有趣的是,雖然我無法通過UI完成這項工作(Windows會抱怨此驅動器已經與另一個用戶映射),而是 net use 將此驅動器映射到另一個用戶工作。 - Beta033
很高興你想出來了。您可以提交“淨使用”項目作為答案,然後接受它以關閉問題,如果您對自己的解決方案/解決方法感到滿意。 - jimtut
雖然它工作,並且是這個工作站的一個很好的臨時修復,我真的不認為它是一個真正的解決方案。我不應該破解工作站讓ubuntu和Windows 8一起聊天。我想我會讓它騎一點點,希望有人可以解釋為什麼它不起作用,以及為了實現這種方式應該改變的方法。 - Beta033
你可以發帖嗎? net use 解決方案@ Beta033 - Willshaw Media


答案:


很明顯,Windows 8 OS客戶端計算機上的本地安全策略存在問題。

在我們的企業中,我們開始使用舊的GPO(我們用於Windows 7機器的GPO)用於Windows 8機器。這立即修復了它,但我們的安全部門並不高興並且不允許我們將它推廣到所有Windows 8機器,因此我們開始切斷我們的政策,我們的決定因素是以下設置:

在“控制面板”中轉到“管理工具”打開“本地安全策略”,然後“本地策略” - >“安全選項”

Microsoft網絡客戶端:數字簽名通信(始終) - 設置為已禁用 Microsoft網絡客戶端:數字簽名通信(如果服務器同意) - 設置為啟用

這為我們修復了它,但如果它沒有幫助您嘗試在客戶端計算機的“本地安全策略”中打開其他限制並測試您與Samba共享的連接。

祝你好運,我希望我能幫助別人:)


1
2017-08-20 08:52



過於對話,試著更客觀地回答並堅持到底。 - Gaurav Joseph


它比你想像的要容易得多(或者我錯過了什麼?)。在Windows 8.1 PC上我做了:

  1. 控制面板 - >管理工具 - >本地安全策略。

  2. 啟用 - Microsoft網絡客戶端:將未加密的密碼發送到第三方SMB服務器。

  3. 當詢問用戶名類型的憑據時: servername\userame。不要只輸入用戶名。


0
2018-05-19 19:01





以下是啟用SMBv2和SMBv3的方法:

http://support.microsoft.com/kb/2696547

您希望在提升的命令提示符下運行這些命令以啟用SMBv3:

sc.exe config lanmanworkstation depend= bowser/mrxsmb10/mrxsmb20/nsi
sc.exe config mrxsmb20 start= auto

這也可能有所幫助:

Set-NetConnectionProfile -interfacealias Ethernet -NetworkCategory Public
Set-NetConnectionProfile -interfacealias Ethernet -NetworkCategory Private

-1
2017-12-03 17:01





您無法訪問您的共享,因為Windows 8.1共享使用 SMB 3.02 版本,是 FreeNAS尚未支持

固定: 您可以在SMB版本的最小值和最大值字段中編輯共享的首選項,嘗試相應地選擇SMB 2 in min和SMB 3.00 in max version。


-3
2017-09-21 06:43