Debian 12 (bookworm) - Windows ファイルサーバ Samba 構築!

Updated:


Debian GNU/Linux 12 (bookworm) に Windows 用ファイルサーバ Samba を構築する方法についての記録です。

以前古いバージョンでの作業時に残していた記録を参考に作業を行い、今回更新した作業記録を貼付する形式の内容となっています。
(当然ながら、興味がなければスルーしてください)

0. 前提条件

  • Debian GNU/Linux 12 (bookworm; 64bit) での作業を想定。
  • 接続元のマシンも Debian GNU/Linux 12 (bookworm; 64bit) を想定。
  • 接続可能なマシンのネットワークは 192.168.11.0/24 を想定。
  • ドメイン名は mk-mode.com、サーバホスト名は vbox を想定。
  • 全ユーザ共有ディレクトリは /home/share とする。
  • root ユーザでの作業を想定。

1. Samba サーバのインストール

# apt install -y samba

2. 共有ディレクトリの作成

全ユーザが共有でフルアクセス可能なディレクトリを作成する。

# mkdir /home/share
# chown nobody:nogroup /home/share
# chmod 777 /home/share

3. 設定ファイルの編集

次のように設定する。
※実際には、記述のある行の後ろにコメント(# で始まる文字列)を入れないこと。

File: /etc/samba/smb.conf

[global]
   unix charset = UTF-8            # <= 追加
   dos charset  = CP932            # <= 追加

   workgroup = WORKGROUP           # <= Windows のワークグループ名に合わせる

   interfaces = 127.0.0.0/8 192.168.11.0/24  # <= 接続許可するインターフェースを指定
   bind interfaces only = yes      # <= interfaces 項目に指定したホストだけに接続を限定する

   map to guest = bad user         # <= 未登録アカウントで接続された場合にゲストとして扱う

   load printers = no              # <= プリンタを使用していない場合
   disable spoolss = yes           # <= プリンタを使用していない場合

   printing = bsd                  # <= プリンタを使用していない場合

# 最終行に追加
[share]                            # <= 共有名
   path           = /home/share    # <= 共有ディレクトリ
   writable       = yes            # <= 書込可
   guest ok       = yes            # <= ゲストユーザー可
   guest only     = yes            # <= 全てゲストとして扱う
   create mode    = 0777           # <= ファイル作成はフル権限で
   directory mode = 0777           # <= ディレクトリ作成はフル権限で

4. Samba サーバの再起動

設定を反映させるため、Samba サーバを再起動する。

# systemctl restart smbd
# systemctl restart nmbd

5. ファイアウォール設定

ファイアウォールを設定している場合、Samba サーバが使用するポート(udp:137,138, tcp:139,445)を開放する必要がある。

# ufw allow 137,138/udp
Rule added

# ufw allow 139,445/tcp
Rule added

# ufw status
     :
     :
137,138/udp                ALLOW       Anywhere
139,445/tcp                ALLOW       Anywhere

6. 動作確認

クライアントマシンから Samba サーバの /home/share ディレクトリにアクセスし、ファイル操作が可能か確認する。

7. アクセス権限付き設定

通常、中規模以下のネットワークでは上記のようなフルアクセスで問題ないが、大規模ネットワークやよりセキュアに構築したければ、アクセス権限を設定する。
以下、 hoge グループに属するユーザのみが、 /home/hoge ディレクトリにアクセスできるようにする設定例。

# groupadd hoge          # <= グループ追加
# mkdir /home/hoge       # <= 専用ディレクトリ作成
# chgrp hoge /home/hoge  # <= ディレクトリに所有グループ設定
# chmod 770 /home/hoge   # <= 専用ディレクトリに権限付与

File: /etc/samba/smb.conf

security = user  # < = ユーザ認証モード

# 最終行に追加
[Hoge]
   path = /home/hoge
   writable = yes
   create mode = 0770
   directory mode = 0770
   share modes = yes
   guest ok = no        # < = ゲストユーザ不許可
   valid users = @hoge  # < = hoge グループのみ許可
# smbpasswd -a fuga       # < = Samba アクセスユーザ追加登録
New SMB password:         # < = パスワード設定
Retype new SMB password:  # < = パスワード再入力
# usermod -G hoge fuga    # < = hoge グループに fuga ユーザ追加
# /etc/init.d/samba restart  # < = Samba 再起動
Stopping Samba daemons: nmbd smbd.
Starting Samba daemons: nmbd smbd.

以上。





 

Sponsored Link

 

Comments