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.
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
Określ identyfikator GUID użytkownika:
dscl /Search read /Users/ GeneratedUID
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