Udostępnij za pośrednictwem


Odmowa dostępu podczas uzyskiwania dostępu do udziału plików SMB w systemie Windows

Ten artykuł pomaga naprawić błąd odmowy dostępu, który występuje podczas uzyskiwania dostępu do udziału plików bloku komunikatów serwera (SMB).

Dotyczy: Windows Server 2012 R2, Windows 7 z dodatkiem Service Pack 1
Oryginalny numer KB: 3035936

Symptomy

Podczas próby uzyskania dostępu do określonego folderu znajdującego się w pliku urządzenia sieciowego (NetApp) lub systemu Windows Server, który obsługuje protokół SMB2 z systemu Windows za pośrednictwem protokołu SMB w wersji 2, odmowa dostępu. Ten problem występuje w następującej wersji systemu Windows:

  • Windows 8.1
  • Windows Server 2012 R2
  • Windows 8
  • Windows Server 2012
  • Windows 7
  • Windows Server 2008 R2
  • Windows Vista
  • Windows Server 2008

Uwaga 16.

Ten problem nie występuje, jeśli wyłączysz protokół SMB2 na kliencie lub użyjesz klienta SMB systemu Windows, takiego jak Windows XP lub Windows Server 2003.

Przyczyna

Ten problem występuje, ponieważ w folderze docelowym udziału SMB brakuje wpisów ZSYNCHRONIZUJ kontrolę dostępu.

Rozwiązanie

Aby rozwiązać ten problem, użyj narzędzia ICACLS, aby ustawić żądane uprawnienia zawierające bit Synchronizuj.

Na przykład w wierszu polecenia wpisz następujące polecenie, a następnie naciśnij ENTER:

ICACLS h:\folder /grant domain\user:(RC,RD,REA,RA,X,S)

Rozdzielona przecinkami lista w nawiasach określonych praw:

  • RC — kontrola odczytu
  • RD — odczyt danych/katalogu listy
  • REA — odczytywanie atrybutów rozszerzonych
  • RA — atrybuty odczytu
  • X — wykonywanie/przechodzenie
  • S — synchronizacja

Rozwiązywanie problemów

Aby zweryfikować problem i rozwiązać ten problem, możesz użyć następujących metod.

  1. Sprawdź, czy w folderze jest ustawiony bit Synchronizuj aplikację NetApp Filer.

  2. Śledzenie sieci może wyświetlić błąd DesiredAccess dla procesu CREATE protokołu SMB2 w folderze dla pakietu żądania i odpowiedzi.

  3. Narzędzie AccessChk.exe jest dostępne w witrynie Sysinternals systemu Windows do odczytywania ustawień uprawnień.

    Na przykład uruchom następujące polecenie:

    C:\tools\Sysinternals\accesschk.exe -ld
    

    Następnie zobaczysz następujący wynik pokazujący, że ustawiono bit SYNC:

    [2] ACCESS_ALLOWED_ACE_TYPE: BUILTIN\Users  
    [OBJECT_INHERIT_ACE]  
    [CONTAINER_INHERIT_ACE]  
    [INHERITED_ACE]  
    FILE_LIST_DIRECTORY  
    FILE_READ_ATTRIBUTES  
    FILE_READ_EA  
    FILE_TRAVERSE  
    SYNCHRONIZE  
    READ_CONTROL
    

    Zobacz zachowanie bitu SYNC na klientach SMB2 systemu Windows.

Zastrzeżenie dotyczące innych firm

Produkty innych firm omówione w tym artykule są wytwarzane przez producentów niezależnych od firmy Microsoft. Firma Microsoft nie udziela żadnych gwarancji, dorozumianych ani żadnego innego rodzaju, w odniesieniu do wydajności lub niezawodności tych produktów.