😊

Raspberry Piを活用!Sambaで自宅ファイルサーバーを作る手順

2025/02/12に公開

1. はじめに

記事の目的

Raspberry PiとSambaを活用して、自宅に簡単なファイルサーバーを構築する方法を解説します。Sambaを使うことで、WindowsやMacなどの異なるデバイス間でファイルを共有できる環境を作れます。
本記事では、必要な機器やソフトウェアの準備、Sambaのインストールと設定方法を説明します。

2. 環境

Raspberry Pi

Raspberry Pi 4 Model B(8GB)

https://www.amazon.co.jp/dp/B0891RC99L?ref_=ppx_hzsearch_conn_dt_b_fed_asin_title_1#customerReviews

  • 高性能な ARM Cortex-A72 を採用し、PCに近い性能へ進化
  • 動作クロックが 1.2GHz → 1.5GHz になり、処理速度が向上
  • 4K@60fps 対応のGPUを搭載し、H.265デコードやOpenGL ES 3.0もサポート
  • micro HDMIポート×2 でデュアルディスプレイ出力が可能
  • 新SoCの採用により USB 3.0 を搭載し、高速データ転送が可能
  • 有線LAN:300Mbps → 1000Mbps(Gigabit Ethernet)に高速化
  • Bluetooth 5.0 に対応し、従来比 2倍の転送速度

Raspberry Pi 4 Model B/8GB element14
https://raspberry-pi.ksyic.com/?pdp.id=552

OS

/etc/os-release

root@raspberrypi:~# cat /etc/os-release
PRETTY_NAME="Debian GNU/Linux 12 (bookworm)"
NAME="Debian GNU/Linux"
VERSION_ID="12"
VERSION="12 (bookworm)"
VERSION_CODENAME=bookworm
ID=debian
HOME_URL="https://www.debian.org/"
SUPPORT_URL="https://www.debian.org/support"
BUG_REPORT_URL="https://bugs.debian.org/"

uname

root@raspberrypi:~# uname -a
Linux raspberrypi 6.6.51+rpt-rpi-v8 #1 SMP PREEMPT Debian 1:6.6.51-1+rpt3 (2024-10-08) aarch64 GNU/Linux

3. Sambaのインストール

root@raspberrypi:~# apt-get update -y
root@raspberrypi:~# apt-get install -y samba
root@raspberrypi:~# samba --version
Version 4.17.12-Debian

4. 共有フォルダの作成

ユーザの作成

root@raspberrypi:~# useradd -m storage
root@raspberrypi:~# cat /etc/passwd | grep 'storage'
storage:x:1002:1002::/home/storage:/bin/bash

ユーザパスワードの設定
「password updated successfully」と表示されればOKです。

root@raspberrypi:~# passwd storage
New password:
Retype new password:
passwd: password updated successfully

グループの作成

Samba専用のグループを作成し、そのグループにユーザーを追加することで、特定のユーザーだけがSambaにアクセスできるようになります。

storage@raspberrypi:~ $ sudo groupadd shared

共有フォルダの作成

storage@raspberrypi:~ $ mkdir shared

パーミッションの設定

storage@raspberrypi:~ $ sudo chgrp shared ./shared/
storage@raspberrypi:~ $ sudo chmod 0777 ./shared/

5. Sambaの設定

smb.conf
The smb.conf file is a configuration file for the Samba suite. smb.conf contains runtime configuration information for the Samba programs. The complete description of the file format and possible parameters held within are here for reference purposes.
https://www.samba.gr.jp/project/translation/current/htmldocs/manpages/smb.conf.5.html

設定ファイルの編集

storage@raspberrypi:~ $ sudo vi /etc/samba/smb.conf

以下の内容をファイルの最後に貼り付けます。

[shared]
   comment = Private folder accessible only by authorized users.
   path = /home/storage/shared/
   browseable = yes
   read only = no
   create mask = 0777
   directory mask = 0777
   guest ok = no
   valid users = @shared
オプション名 説明
comment 共有フォルダの説明を設定(ネットワーク一覧で表示される)
path 共有フォルダの実際のパスを指定
browseable yesならネットワーク一覧に表示、noなら表示しない(直接パスを指定すればアクセス可)
read only yesなら読み取り専用、noなら書き込みも可能
create mask 新規作成するファイルのアクセス権を指定(0777は全ユーザーが読み書き実行可能)
directory mask 新規作成するディレクトリのアクセス権を指定(0777は全ユーザーがフルアクセス可能)
guest ok yesならゲスト(認証なし)アクセスを許可、noなら認証が必要
valid users アクセスを許可するユーザーやグループを指定(@sharedsharedグループのユーザーのみ許可)

Sambaサービスの再起動

storage@raspberrypi:~ $ sudo systemctl restart smbd.service

6. Samba接続用ユーザーの作成

Sambaでは、Linuxのシステムユーザーとは別に、Samba専用のユーザーを作成してアクセスを管理できます。このセクションでは、Sambaに接続できるユーザーの追加方法を解説します。具体的には、Linuxユーザーの作成、Sambaユーザーへの登録、パスワード設定の手順を説明します。

ユーザーの作成

storage@raspberrypi:~ $ sudo useradd samba-test -s /sbin/nologin

Sambaユーザーへの登録とパスワードの設定

storage@raspberrypi:~ $ sudo smbpasswd -a samba-test
New SMB password:
Retype new SMB password:
Forcing Primary Group to 'Domain Users' for samba-test
Forcing Primary Group to 'Domain Users' for samba-test

Sambaに登録されているユーザーを一覧表示すると、先ほど登録したユーザーも表示されるはずです。

storage@raspberrypi:~ $ sudo pdbedit -L

Sambaユーザーを「shared」グループに追加

storage@raspberrypi:~ $ sudo usermod -aG shared samba-test

7. クライアント端末(Windows)から共有フォルダに接続

  1. エクスプローラーを開く
    左側のメニューにある「PC」を 右クリック します。

  2. ネットワークドライブを割り当てる
    表示されたメニューから 「ネットワークドライブの割り当て」 をクリックします。

  3. 共有フォルダのパスを入力
    以下の形式で Raspberry Pi の共有フォルダのパス を入力します。
    \\<Raspberry PiのIPアドレス>\<共有フォルダ名>\

  4. 認証情報を入力
    ユーザー名とパスワードの入力を求められるので、設定したユーザー名とパスワード を入力してください。

8. まとめ

  • Raspberry PiにSambaをインストールし、共有フォルダを設定することで、自宅に簡単なファイルサーバーを構築。
  • ユーザーとグループの管理を適切に行い、アクセス権を設定 することで、安全なファイル共有を実現。
  • Windowsからネットワークドライブとして接続し、快適に利用できる環境を構築。
GitHubで編集を提案

Discussion