macOS Mojave 10.14 と macOS High Sierra 10.13 と macOS 10.12 Sierra の SMB 設定情報のリンク集

#[【KB4503276】macOS から Guest アカウントで共有フォルダに接続できなくなった](https://social.technet.microsoft.com/Forums/ja-JP/5570b620-8b46-4f89-b8e4-acaea074a8cc/12304kb450327612305macos-1236312425-guest?forum=winserver8)
参考にしたポイント：
・Mac で NTLM を使って Windows サーバに接続できない場合
https://support.apple.com/ja-jp/HT210423

Windows Server 2012 R2 側で対策する場合は、「ローカル セキュリティ ポリシー」→「[ローカル ポリシー」→「セキュリティ オプション」→「Microsoft ネットワーク サーバー: 常に通信にデジタル署名を行う」を「有効」にすることで解決できました。

Mac 側で対策する場合は、`/etc/nsmb.conf` に下記を設定することで解決できました。

```BASH:nsmb.conf
[default]
signing_required=yes
```


#[macOS 10.12 (Sierra)から共有フォルダに接続する際に SMBv1 を使う方法](http://d.hatena.ne.jp/Nan_Homewood/20170626/1498485094)
参考にしたポイント：
nsmb.conf オプションは、Mac全体と、ユーザーで設定場所が異なる。設定が競合した場合は、ユーザー側が優先される。
Mac全体に設定する場合：　`/etc/nsmb.conf`
ユーザーで設定する場合：　`~/Library/Preferences/nsmb.conf`

#[macOS High Sierra 10.13 で SMB ブラウジングの動作を調整する](https://support.apple.com/ja-jp/HT208209)
参考にしたポイント：
ネットワーク共有でのブラウジングを高速化する
`defaults write com.apple.desktopservices DSDontWriteNetworkStores -bool TRUE`

Finder で先にメタデータをすべて収集させる
`defaults write com.apple.desktopservices UseBareEnumeration -bool FALSE`

ディレクトリキャッシュを無効にする
`echo "[default]" | sudo tee -a /etc/nsmb.conf`
`echo "dir_cache_off=yes" | sudo tee -a /etc/nsmb.conf`

#[/etc/nsmb.conf changes in macOS 10.12 Sierra](https://www.jamf.com/jamf-nation/discussions/22215/etc-nsmb-conf-changes-in-macos-10-12-sierra)
参考にしたポイント：
/etc/nsmb.confファイルの構文がmacOS 10.12 Sierraで変更された
`smb_neg = smb1_only` と `smb_neg = smb2_only` は廃止
nsmb.conf の最新情報は `man nsmb.conf` するのが正解

```shell:man概要
     The SMB library uses the following information for section names:

     A)      [default]
     B)      [SERVER]
     C)      [SERVER:SHARE]

     Possible keywords may include:

     Keyword             Section    Default    Comment
                         A B C      Values
     protocol_vers_map   + - -      7          Bitmap of SMB Versions that are enabled
     signing_req_vers    + - -      6          Bitmap of SMB Versions that have signing required

     The minimum authentication level can be one of:

     "Bitmap of SMB Versions that are enabled" can be one of:
     7 == 0111        SMB 1/2/3 should be enabled
     6 == 0110        SMB 2/3 should be enabled
     4 == 0100        SMB 3 should be enabled

     "Bitmap of SMB Versions that have signing required" can be one of:
     7  Signing required for SMB 1/2/3.
     6  Signing required for SMB 2/3.
     4  Signing required for SMB 3.


```

#[SMB 2 や SMB 3 接続でパケット署名を無効にする](https://support.apple.com/ja-jp/HT205926)
参考にしたポイント：
macOS 10.13.4 以降では、パケット署名はデフォルトで無効になっています。SMB 2 または SMB 3 接続のパケット署名は、サーバが対応していれば、必要時に自動的に有効になります。この記事の手順は、macOS 10.13.3 以前に適用されます。

SMB 2 や SMB 3 接続を使う時は、パケット署名はデフォルトで有効になります。以下に該当する場合は、パケット署名を無効にすることを検討してください。

他社サーバに接続するとパフォーマンスが低下する。
パケット署名に対応していないサーバに接続できない。
他社デバイスを macOS SMB サーバに接続できない。

パケット署名を無効にすると、SMB 接続のセキュリティが低下します。クライアントとサーバが両方とも安全なネットワーク上にある場合に限り、パケット署名を無効にしてください。

SMB 共有をホストする macOS でパケット署名を無効にする
1. Apple メニュー >「システム環境設定」の順に選択し、「共有」をクリックします。
2. 「ファイル共有」チェックボックスの選択を解除し、「共有」パネルを閉じます。
3. ターミナルで、以下のコマンドを使います。
 `sudo defaults write /Library/Preferences/SystemConfiguration/com.apple.smb.server SigningRequired -bool FALSE`
4. Apple メニュー >「システム環境設定」の順に選択し、「共有」をクリックします。
5. 「ファイル共有」チェックボックスを選択し、「共有」パネルを閉じます。

#[NASのアクセス速度を改善する](https://news.mynavi.jp/article/osxhack-184/)
参考にしたポイント：
ざっくりいえば、SMBのバージョンが上がれば性能も向上するため、SMB 1よりSMB 2、SMB 2よりSMB 3のほうが有利となる。
たとえば、SMB 3をサポートするmacOS Sierraを利用していても、NASなどSMBサーバ側がSMB 1しかサポートしていなければ、SMB 1での接続となる。互いのSMBのバージョンを確認し、"会話"が可能なもっとも高いバージョンを選択した結果だ。
利用しているSMBのバージョンを調べるには、`smbutil statshares -a` を実行し、「SMB_VERSION」行を見ればいい。

#[Windows ユーザとファイルを共有するように Mac を設定する](https://support.apple.com/kb/PH25346?locale=ja_JP)
参考にしたポイント：
Windows 共有で使用するユーザアカウントのパスワードは、あまり安全には保管されないおそれがあるため、アカウントを使用しないときはアカウントを無効にします。Windows 共有を切にする前に、有効にしたすべてのアカウントを無効にしてください。アカウントを無効にしないと、パスワードが安全ではない状態で保管されます。