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.
- 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
- Wpisz hasło administratora katalogu. W razie potrzeby możesz zresetować hasło administratora usługi Open Directory.
- 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
- 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
- Ustal GUID użytkownika:
dscl /Search read /Users/<username> GeneratedUID
- 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
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:YourGroupName allow list,add_file,search,add_subdirectory,delete_child,readattr,writeattr,readextattr,writeextattr,readsecurity,file_inherit,directory_inherit" /Volumes/volumename/path/to/share