サーバー構築

Sambaで自宅ファイルサーバーを構築する【Windows/Mac対応】

サーバー構築
記事内に広告が含まれています。

「自宅のLinuxサーバーをWindowsやMacからネットワークドライブとして使いたい」そんな場合に活躍するのがSambaです。この記事では、SambaでWindowsと共有できるファイルサーバーを構築する手順を解説します。

Sambaとは何か?

SambaはLinux上でWindowsのファイル共有プロトコル(SMB/CIFS)を実装したソフトウェアです。これによりLinuxサーバーをWindowsやMacからネットワーク共有ドライブとして使えるようになります。

Sambaのインストール

sudo apt update
sudo apt install -y samba

専用グループと共有ディレクトリの作成

ファイル共有には専用グループを作成し、そのグループだけがアクセスできるように設定するのがベストプラクティスです。

sudo groupadd smbshare
sudo mkdir -p /srv/samba/share
sudo chown root:smbshare /srv/samba/share
sudo chmod 2775 /srv/samba/share

2775はSGIDビット付きのパーミッションです。このディレクトリに作成したファイルは自動的にsmbshareグループに属するため、グループメンバー全員が読み書きできます。

共有を使うユーザーをグループに追加します。

sudo usermod -aG smbshare あなたのユーザー名
sudo smbpasswd -a あなたのユーザー名

Samba設定ファイルの編集

設定ファイルのバックアップを取ってから編集します。

sudo cp /etc/samba/smb.conf /etc/samba/smb.conf.bak
sudo nano /etc/samba/smb.conf

ファイル末尾に以下を追加します。

[share]
   comment = Group Share
   path = /srv/samba/share
   browseable = yes
   read only = no
   guest ok = no
   valid users = @smbshare
   create mask = 0664
   directory mask = 2775

guest ok = noにすることで、認証済みユーザーのみアクセスできます。valid users = @smbshareでグループ単位のアクセス制限をかけています。

ゲスト共有を使いたい場合の注意

もし guest ok = yes にして誰でもアクセスできる構成にする場合は、家庭内LAN専用に限定し、インターネットからのアクセスは必ずファイアウォールでブロックしてください。また chmod 777 は権限が広すぎるため、ゲスト共有であっても create mask = 0664 / directory mask = 0775 を指定して最低限の制限をかけることを推奨します。

設定の確認と再起動

testparm
sudo systemctl restart smbd
sudo systemctl enable smbd

testparmコマンドで設定ファイルの構文エラーを確認できます。

Windowsから接続する

Windowsのエクスプローラーのアドレスバーに以下を入力します。

\サーバーのIPアドレスshare

認証ダイアログが表示されるので、smbpasswdで設定したユーザー名とパスワードを入力してください。

まとめ

  • 専用グループ(smbshare)を作成してアクセスを制限するのがベストプラクティス
  • chmod 2775(SGIDビット付き)でグループメンバー全員が安全に読み書きできる
  • guest ok = no + valid users = @グループ名で認証なし接続を防ぐ
  • ゲスト共有は家庭内LAN限定で、必ずファイアウォールと組み合わせること
  • 次の記事ではユーザーごとのアクセス制限をさらに詳しく解説します

コメント

タイトルとURLをコピーしました