Jeśli użytkownicy nie mogą edytować lub uwierzytelniać plików na serwerze SMB hostowanym w systemie macOS

Konieczne może być potwierdzenie informacji na temat serwera użytkownika, połączeń i szczegółów dotyczących katalogu lub dostosowanie dostępu.

Ten artykuł jest przeznaczony dla administratorów systemów w przedsiębiorstwach i placówkach edukacyjnych.

Weryfikacja informacji dotyczących serwera

Upewnij się, że użytkownicy korzystają z prawidłowych danych: nazwy użytkownika, hasła oraz nazwy hosta lub adresu IP serwera.

Powiązywanie z tym samym katalogiem co serwer

Jeśli w systemie macOS server uruchomiono usługę Open Directory lub jest on powiązany z usługą Open Directory lub Active Directory, wykonaj uwierzytelnione powiązanie z tym samym serwerem katalogowym. Dzięki temu klienty będą mogły korzystać z protokołu Kerberos i podpisywania sesji. Uwierzytelnianie za pomocą protokołu Kerberos wymaga również określenia serwera za pomocą DNS.

Włączanie protokołu NTLMv2 w usłudze Open Directory

Jeśli pracujesz w usłudze Open Directory i nie możesz powiązać klientów z głównym serwerem Open Directory, konieczne może być włączenie protokołu NTLMv2.

  1. Ustal, które mechanizmy uwierzytelniania są włączone dla głównego serwera Open Directory, korzystając z poniższego polecenia programu Terminal: 
    dscl /LDAPv3/127.0.0.1 -read /config/dirserv apple-enabled-auth-mech
  2. Wpisz hasło administratora katalogu. W razie potrzeby możesz zresetować hasło administratora usługi Open Directory.
  3. Zatrzymaj i ponownie uruchom usługę Open Directory w aplikacji Server.app.

Jeśli protokołu SMB-NTLMv2 nie ma na liście wyników, możesz go dodać ręcznie, używając poniższego polecenia programu Terminal:

dscl -u diradmin -p /LDAPv3/127.0.0.1 -append /Config/dirserv apple-enabled-auth-mech SMB-NTLMv2

Sprawdzenie, czy użytkownicy mają dostęp do serwera SMB

  1. Wykonaj poniższe polecenie programu Terminal na serwerze SMB, aby sprawdzić, czy dostęp jest ograniczony do konkretnych użytkowników:
    dscl . read /Groups/com.apple.access_smb
  2. Ustal GUID użytkownika:
    dscl /Search read /Users/<username> GeneratedUID
  3. Dodaj użytkownika do listy kontroli dostępu do usługi SMB: 
    sudo dscl /Local/Default append Groups/com.apple.access_smb GroupMembership <username>
    sudo dscl /Local/Default append Groups/com.apple.access_smb GroupMembers <guid>
    

Jeśli chcesz usunąć listę kontroli dostępu do usługi, skorzystaj z poniższego polecenia programu Terminal:

sudo dscl /Local/Default delete /Groups/com.apple.access_smb

Potwierdzanie dostępu do udziałów

Sprawdź, czy użytkownicy mają dostęp do co najmniej jednego udziału w preferencjach udostępniania — na poziomie grupy lub jako użytkownicy indywidualni. 

Sprawdź listy kontroli dostępu do odczytu/zapisu

Jeśli użytkownicy nie mogą zapisywać w udziałach, do których mają dostęp, należy tymczasowo wyłączyć dostęp gościnny w danym udziale. To sprawi, że nie będą się łączyć jako goście. Dostęp gościnny znajduje się w zaawansowanych opcjach udostępniania plików.

Jeśli użytkownicy mogą dodawać nowe pliki, ale nie mogą edytować plików utworzonych przez innych użytkowników, konieczne może być utworzenie listy kontroli dostępu na poziomie grupy. Aby dodać listę kontroli dostępu, skorzystaj z poniższego polecenia w wierszu poleceń i zastąp nazwę grupy i ścieżkę do punktu udostępnienia ich rzeczywistymi wartościami:

sudo chmod -R +a “group:YourGroupName:allow list,add_file,search,add_subdirectory,delete_child,readattr,writeattr,readextattr,writeextattr,readsecurity,file_inherit,directory_inherit” /Volumes/volumename/path/to/share
Data publikacji: