Linux システムでの Samba サーバー構築と Windows クライアントへの接続ガイド

パッケージ導入手順

Samba の運用を開始する前に、関連するセキュリティ制約を一時的に無効化する必要があります。特に SELinux やファイアウォールはファイル共有機能に干渉する可能性があるためです。

RHEL/CentOS ベースのシステム

yum install samba samba-client

Debian/Ubuntu ベースのシステム

apt-get update
apt-get install samba
apt-get install smbd nmbd

基本設定とパラメータ定義

まず、データを格納する共有ディレクトリを新規作成します。この例では `/mnt/shared_data` を使用しますが、既存のパスに変更しても構いません。

sudo mkdir -p /mnt/shared_data
sudo chmod 777 /mnt/shared_data

次に、Samba のメイン設定ファイル `/etc/samba/smb.conf` を編集します。デフォルトの長いコメント行は冗長であるため、必要なオプションを中心に構成し、変数名やグループ名を実環境に合わせて調整しています。

[global]
    # 作業グループ名の定義(実際のネットワーク環境に合わせて変更してください)
    workgroup = SHARE_GROUP
    
    # サーバーに表示される名前
    server string = File Server %v
    
    # ネットバイオス名を設定
    netbios name = MAIN_SMB_NODE
    
    # ゲストユーザーとしてマッピングする処理
    map to guest = bad user
    
    # ログ出力の設定
    log file = /var/log/samba/log.%m
    max log size = 50
    
    # セキュリティモード(ユーザー認証ベース)
    security = user
    passdb backend = tdbsam
    
    # プリンタサービスの読み込み
    load printers = yes
    cups options = raw

# ユーザーホームディレクトリの共有設定
[homes]
    comment = User Home Directories
    browseable = yes
    writable = yes
    valid users = %S
    
# 全ユーザーがアクセス可能な公開ディレクトリ
[shared]
    comment = Public Shared Folder
    path = /mnt/shared_data
    public = yes
    browseable = yes
    writable = yes
    printable = no

サービスの起動管理

設定が完了した後、Samba デーモンプロセスを起動して通信準備を整えます。オペレーティングシステムのバージョンによって起動コマンドが異なる場合があります。

旧式 SysV インフラの場合:

service smb start
service nmb start

Systemd または Ubuntu 系の場合:

/etc/init.d/samba start

サービスが正常に動作しているか確認するには、ポートを確認するか、以下のコマンドでステータスを参照します:

smbcontrol all reload-config

Windows 環境からの接続設定

Samba は伝統的な NTLM プロトコルを使用しますが、Windows 7 以降のデフォルト設定ではより高度な NTLMv2 認証が要求されます。これを解決するために、セキュリティポリシーを変更する必要があります。

以下の手順でローカルセキュリティポリシーを開きます。

  1. 開始メニューから「実行」を選択し、secpol.msc を入力します。エラーが発生した場合は、ファイルマネージャーで C:\Windows\System32\secpol.msc へ直接移動し、デスクトップへコピーしてから実行してください。
  2. 左側のツリービューで、「ローカルポリシー」> 「セキュリティオプション」を展開します。
  3. 右側のリストから「ネットワークセキュリティ:LAN マネージャー認証レベル」を探し、ダブルクリックします。
  4. 設定値を「送信 LM および NTLM。ただし、交渉が可能であれば NTLMv2 セッションセキュリティを使用する」に変更して適用します。

設定後、エクスプローラーのアドレスバーに Samba サーバーの IP アドレスを入力するとアクセス可能です。

//SambaServerIPAddress

タグ: samba file-sharing linux-server windows-security network-administration

6月13日 17:45 投稿