Jak wyłączyć protokół SMB 1 lub NetBIOS w systemie macOS

Dowiedz się, jak wyłączyć protokół SMB 1 lub NetBIOS, aby zapobiec przełączaniu awaryjnemu.

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

Podczas nawiązywania połączeń wychodzących z serwerami protokoły SMB 1 i NetBIOS są domyślnie włączone w systemie macOS, aby poprawić zgodność z produktami innych firm. System macOS będzie próbował użyć starszych wersji protokołu SMB, a także systemu DNS i portu 445, wykonując w razie potrzeby przełączanie awaryjne na port 139 i protokół SMB 1. Aby zapobiec temu przełączaniu awaryjnemu, możesz wyłączyć protokół SMB 1 lub NetBIOS.

Aby wyłączyć protokół SMB 1, dodaj następujący wiersz do pliku /etc/nsmb.conf:

protocol_vers_map=6

Aby wyłączyć protokół NetBIOS, dodaj następujący wiersz do pliku /etc/nsmb.conf:

port445=no_netbios

Plik /etc/nsmb.conf nie istnieje domyślnie. Aby go utworzyć i zastosować obie powyższe zmiany, użyj następujących poleceń w aplikacji Terminal:

echo "[default]" | sudo tee -a /etc/nsmb.conf
echo "protocol_vers_map=6" | sudo tee -a /etc/nsmb.conf
echo "port445=no_netbios" | sudo tee -a /etc/nsmb.conf

Aby cofnąć powyższe zmiany, możesz bezpiecznie usunąć plik /etc/nsmb.conf.

Domyślnie system macOS nie akceptuje połączeń SMB. Jeśli w preferencjach udostępniania plików Mac został skonfigurowany jako serwer plików, możesz wyłączyć protokół SMB 1 i nadal zezwalać na połączenia SMB 2 i 3. Użyj następujących poleceń:

sudo scutil --prefs com.apple.smb.server.plist
get /
d.add ProtocolVersionMap # 6
set /
commit
apply
quit

Aby cofnąć powyższą zmianę, uruchom następujące polecenia:

sudo scutil --prefs com.apple.smb.server.plist
get /
d.add ProtocolVersionMap # 7
set /
commit
apply
quit

Aby wyłączyć rejestrację nazwy netbiosd, uruchom następujące polecenie:

sudo launchctl unload -w /System/Library/LaunchDaemons/com.apple.netbiosd.plist

Aby sprawdzić, czy proces netbiosd nie jest uruchomiony, uruchom poniższe polecenie. Jeśli żadne wyniki nie zostaną zwrócone, oznacza to, że proces netbiosd nie jest uruchomiony.

sudo ps aux | grep -i netbiosd | grep -v grep

Aby cofnąć tę zmianę, uruchom następujące polecenie:

sudo launchctl load -w /System/Library/LaunchDaemons/com.apple.netbiosd.plist
Data publikacji: