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.

Zweryfikuj informacje dotyczące serwera

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

Wykonaj powiązanie 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łącz protokół 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

Sprawdź, 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. Określ identyfikator GUID użytkownika:

    dscl /Search read /Users/ 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 sudo dscl /Local/Default append Groups/com.apple.access_smb GroupMembers

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

Potwierdź dostęp 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 oraz ścieżkę do punktu udostępnienia ich rzeczywistymi wartościami:

sudo chmod -R +a "group:TwojaNazwaGrupy allow list,add_file,search,add_subdirectory,delete_child,readattr,writeattr,readextattr,writeextattr,readsecurity,file_inherit,directory_inherit" /Volumes/volumename/sciezka/do/udostepniania

Data publikacji: