Samba共有フォルダのゲストユーザーを無効にして認証するように変更

Windows11ではSMB 1.0がデフォルトで無効になりゲストユーザーで共有ファイルへアクセスすることが出来なくなるので、sambaサーバーの設定変更したときの覚書。

サーバー環境: CentOS Stream 8, Samba 4.17.2
クライアント環境: Windows 11 pro 22H2

Sambaのバージョンを確認
# smbd -V

Version 4.17.2

共有フォルダにアクセスしているユーザー一覧
# smbstatus

今のSMBプロトコルは3.1.1が最新。
参考: Server Message Block - Wikipedia


1.ゲストユーザーを無効にする。

sambaの設定ファイルを編集。
# cd /etc/samba/
# less smb.conf

[global]
        workgroup = VM
        security = user

        passdb backend = tdbsam

        printing = cups
        printcap name = cups
        load printers = No
        cups options = raw

        server string = Samba %v
        netbios name = vm-dev1
        guest ok = No
        map to guest = Never

書式を確認してsamba再起動
# testparm
# systemctl restart smb

Windowsからアクセスできないことを確認。


2.共有フォルダにアクセスするユーザーの設定

既存Linuxユーザー「node」をsambaユーザーとして追加する。
# smbpasswd -a node

ユーザー一覧を確認
# pdbedit -L

Windowsから共有フォルダにアクセスして「ネットワーク資格情報の入力」が出てきたら、
その他 > 別のアカウントを使用する
で登録ユーザーの情報を入れる。
メールアドレスに「(sambaのworkgroup名)\(ユーザー名)」を入れるのが分かりにくい点。

メールアドレス: VM\node
パスワード: (設定したパスワード)
資格情報を記憶するにチェック。

アクセスできたらsamba接続状況の確認。
# smbstatus

Windows11の設定 > アプリ > オプション機能 > Windowsのその他の機能
から「SMB 1.0/CIFS ファイル共有のサポート」のチェックを外す。
Windowsを再起動して共有フォルダにアクセスできるか確認。


Microsoft 365を契約してAzureADを使えるようになったので、Samba + AzureADを今度試してみたい。


【関連記事】