Raspberry Piを活用!Sambaで自宅ファイルサーバーを作る手順
1. はじめに
記事の目的
Raspberry PiとSambaを活用して、自宅に簡単なファイルサーバーを構築する方法を解説します。Sambaを使うことで、WindowsやMacなどの異なるデバイス間でファイルを共有できる環境を作れます。
本記事では、必要な機器やソフトウェアの準備、Sambaのインストールと設定方法を説明します。
2. 環境
Raspberry Pi
Raspberry Pi 4 Model B(8GB)
- 高性能な 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 |
アクセスを許可するユーザーやグループを指定(@shared はshared グループのユーザーのみ許可) |
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)から共有フォルダに接続
-
エクスプローラーを開く
左側のメニューにある「PC」を 右クリック します。 -
ネットワークドライブを割り当てる
表示されたメニューから 「ネットワークドライブの割り当て」 をクリックします。
-
共有フォルダのパスを入力
以下の形式で Raspberry Pi の共有フォルダのパス を入力します。
\\<Raspberry PiのIPアドレス>\<共有フォルダ名>\
-
認証情報を入力
ユーザー名とパスワードの入力を求められるので、設定したユーザー名とパスワード を入力してください。
8. まとめ
- Raspberry PiにSambaをインストールし、共有フォルダを設定することで、自宅に簡単なファイルサーバーを構築。
- ユーザーとグループの管理を適切に行い、アクセス権を設定 することで、安全なファイル共有を実現。
- Windowsからネットワークドライブとして接続し、快適に利用できる環境を構築。
Discussion