メモのページ - チラシの裏メモ 3枚目

通信技術や気になった事を黙々とメモし続ける

Raspberry Pi3 Model Bでファイルサーバを構築

Raspberry Pi3 Model BにOpenBSD 7.4をインストールし自分用のsftpサーバとしてひっそりと運用していたが、自分のみならず家族全員で簡単に利用出来るファイルサーバを立ててみようという事で、今回はファイルサーバSambaのインストールと設定を行った。
自宅の端末のVirtualBox内で稼働するOpenBSDではSambaが動いている為、当ブログにSambaに関する内容の過去の記事があるとずっと思っていたが検索してみるとSamba関連の記事は無かった。よって、今回はSambaのインストールから接続確認まで記事に残す事にした。
尚、sftpサーバの設定およびsftpサーバ用のアカウントはSambaのインストール前に削除した。

前回の記事 https://debslink.hatenadiary.jp/entry/20231104/1699073616 Raspberry Pi3 Model BにOpenBSDをインストール


当方の環境
OS:OpenBSD 7.4 ARM64版
筐体:Raspberry Pi3 Model B Element14版
・CPU:Broadcom BCM2837 1.2GHz 4コア ARMv8 Cortex-A53
・RAM:1GB
・LANポート:RJ-45 10BASE-T / 100BASE-TX
・USBポート:USB2.0 Standard A x4
・ストレージ:MicroSDカード 32GB


Sambaのインストール
1. リポジトリの編集
当環境のOSのバージョンはOpenBSD 7.4につき最新版ではなく、当記事の作成の段階ではデフォルトで設定されているリポジトリで新規にパッケージをインストールする事は出来ない。新規にパッケージをインストールしたい場合はOpenBSDを現行バージョンにアップグレードするか、他のミラーサイトからダウンロードする必要が有る。
今回はミラーサイトからSambaのパッケージをダウンロードしインストールする手順を選択した。
VimプロジェクトがOpenBSD 7.4のリポジトリを持っている為、VimプロジェクトのURLを拝借した。

$ doas vi /etc/installurl 
#https://www.ftp.ne.jp/pub/OpenBSD
http://ftp.vim.org/OpenBSD
$

 
2. ファイルセットxbaseの準備
OpenBSDにてSambaを新規にインストールする際、xbaseが必要となる。
OpenBSDの新規インストールの際、xbaseをインストールしていない場合はSambaのインストールの前にインストールを済ませておく。
まず最初に作業用ディレクトリ/tmpに移動し、wgetコマンドでxbase74.tgzをダウンロードする。

$ cd /tmp
$ wget http://ftp.vim.org/OpenBSD/7.4/arm64/xbase74.tgz
--2024-11-24 05:06:27--  http://ftp.vim.org/OpenBSD/7.4/arm64/xbase74.tgz
Resolving ftp.vim.org (ftp.vim.org)... 145.220.21.40, 2001:67c:6ec:221:145:220:21:40
Connecting to ftp.vim.org (ftp.vim.org)|145.220.21.40|:80... connected.
HTTP request sent, awaiting response... 200 OK
Length: 50063402 (48M) [application/x-gzip]
Saving to: 'xbase74.tgz'

xbase74.tgz               100%[=================================================>]  47.74M   452KB/s    in 1m 47s  

2024-11-24 05:09:16 (459 KB/s) - 'xbase74.tgz' saved [50063402/50063402]

$

 
xbase74.tgzのダウンロード後、lsコマンドを叩いてxbase74.tgzがカレントディレクトリ内に有る事を確認し、xbase74.tgzを解凍する。

$ ls -la
total 97900
drwxrwxrwt   3 root     wheel         512 Nov 24 05:36 .
drwxr-xr-x  13 root     wheel         512 Nov 24 05:09 ..
drwxrwxrwt   2 root     wheel         512 Nov 24 05:33 vi.recover
-rw-r--r--   1 myname   myname   50063402 Oct  9  2023 xbase74.tgz
$
$ tar zxf xbase74.tgz -C /
:
(省略)
:
$

 
3. Sambaパッケージのインストール
xbaseの解凍を終えたら、pkg_addコマンドを叩いてSambaパッケージをインストールする。

$ doas pkg_add samba
quirks-6.160 signed on 2024-04-02T23:22:26Z
:
(省略)
:
See rcctl(8) for details.
New and changed readme(s):
	/usr/local/share/doc/pkg-readmes/dbus
	/usr/local/share/doc/pkg-readmes/samba
$ 

 
Sambaパッケージのインストール後、Sambaの設定ファイルsmb.confを編集。
自分の環境では、以下の内容でsmb.confを編集した。
※以下はtestparmコマンドの出力内容から抜粋したもの。既存の設定も含まれている。

[global]
	dns proxy = No
	dos charset = CP932
	interfaces = 192.168.3.0/24
	log file = /var/log/samba/smbd.%m
	logging = file
	max log size = 50
	netbios name = SAMBASV
	security = USER
	server string = Samba Server
	wins support = Yes
	idmap config * : backend = tdb
	hosts allow = 192.168.1. 192.168.3. 127.

[homes]
	browseable = No
	comment = Home Directories
	read only = No
	valid users = %S %D%w%S

[printers]
	browseable = No
	comment = All Printers
	path = /var/spool/samba
	printable = Yes

[share]
	force create mode = 0777
	force directory mode = 0777
	guest ok = Yes
	guest only = Yes
	path = /home/samba
	read only = No

 
smb.confの編集後、testparmコマンドを叩きsmb.confの内容をチェック。
エラーが出力されない事を確認。
自分の場合、smb.conf編集直後は ERROR: lock directory /var/run/samba does not exist が出力されたが、mkdirコマンドで/var/run/samba ディレクトリを作成しdoas rcctl start smbdでSambaを立ち上げた後、再度doas testparm -sを実行したらエラーが出力されなくなった。

$ doas testparm -s
Load smb config files from /etc/samba/smb.conf
Loaded services file OK.
Weak crypto is allowed by GnuTLS (e.g. NTLM as a compatibility fallback)

WARNING: state directory /var/samba should have permissions 0755 for browsing to work

WARNING: cache directory /var/cache/samba should have permissions 0755 for browsing to work

Server role: ROLE_STANDALONE
:
(省略)
:
$

 
smb.confファイルのチェックの結果、問題が無ければ、Sambaデーモンsmbdを立ち上げる。
OpenBSDの次回以降の起動の際にSambaデーモンも起動するよう、rcctl enable smbdコマンドも叩く。
続いて、rcctl check smbdコマンドを叩きSambaデーモンが正常に立ち上がっている事を確認する。

$ doas rcctl start smbd
smbd(ok)
$ 
$ doas rcctl enable smbd
$ 
$ doas rcctl check smbd
smbd(ok)
$

 
4. Samba用アカウントの作成
Sambaのインストールと起動の確認を終えたところで、Samba用のアカウントsambaを作成する。
当環境ではsambaとしたが、samba以外の文字列でも問題無い。
作成したアカウントsambaはOpenBSDにログインする権限は不要である為、ホームディレクトリやログインシェルやOSへのログインパスワードの設定は実施しない。

$ doas useradd -c "Samba User" -d /nonexistent -s /sbin/nologin samba
$

 
Samba用のアカウントに、Samba接続用のパスワードを設定。

$ doas /usr/local/bin/pdbedit -a samba
new password:
retype new password:

 
Sambaの公開用ディレクトリを作成する。当環境の公開用ディレクトリは/home/samba とした。
続いて、公開用ディレクトリの所有者権限を設定。
この手順が終われば、Sambaの基本的な設定は完了である。

$ doas mkdir -m 777 /home/samba                                       
$ 
$ doas chown samba:samba /home/samba
$ 

 

Sambaへの接続確認
1. macOS環境からアクセス
別の端末からSambaの公開ディレクトリに接続を試みる。
macOS環境からアクセスする際は、Finderの「移動」を選択し「サーバへ接続...」をクリック。
以下の画像のように「サーバへ接続」のウインドウが表示されたら「サーバアドレス:」欄内に「smb://SambaサーバのIPアドレス」を入力し「接続」をクリック。


 
ユーザ名とパスワード入力のウインドウが表示されたら、「ユーザの種類」は「登録ユーザ」にチェックを入れる。
「名前」と「パスワード」は上記にて設定したSamba用アカウント名とパスワードを入力し、「接続」をクリック。


 
公開用ディレクトリ「share」を選択すると、公開ディレクトリの内容が表示される。
Sambaから抜ける際は、ウインドウ内上部の歯車アイコン〜"share"を取り出す の順にクリックする。


 
2. Windows環境からアクセス
Windows環境の場合は新規に適当なフォルダを表示させ、URL欄内に「¥¥SambaサーバのIPアドレス」を入力しEnterキーを叩く。
ネットワーク資格情報の入力のウインドウが表示されたら、上記にて設定したSamba用アカウント名とパスワードを入力し「OK」をクリック。


 
公開用ディレクトリ「share」を選択すると、公開ディレクトリの内容が表示される。
Sambaから抜ける際は、ウインドウ内右上のXボタンをクリックしウインドウを消す。


 
 
ファイルサーバの外観
先日、Raspberry Pi3用の手のひらサイズなアルミケースをAmazonで購入した。
背面および正面はプラスチックの半透明なパネル、側面はアルミ製である。接地部分はゴム足である為、置いた時は滑らず安定している。
CPUにヒートシンクを直で付けて、ファンで外部に熱を飛ばす。
数色にゆっくりと変わるLEDライトは、明るさと色数の調整が可能である。


 
 
参照サイトなど
https://www.openbsd.org/ OpenBSD
https://www.openbsd.org/74.html OpenBSD 7.4
https://www.amazon.co.jp/dp/B07BDR5PDW Raspberry Pi 3 Model B+
https://www.amazon.co.jp/dp/B0CCD2W5VG ElectroCookie Raspberry Pi3 アルミミニタワーケース
https://kraftsrv.net/openbsd/openbsd06.html Raspberry Pi上のOpenBSD環境にディスクの増設とSambaのインストール
 
OpenBSD関連の過去の記事
https://debslink.hatenadiary.jp/entry/20241014/1728902692 OpenBSDをVirtualBoxで動かす
https://debslink.hatenadiary.jp/entry/20231104/1699073616 Raspberry Pi3 Model BにOpenBSDをインストール
https://debslink.hatenadiary.jp/entry/20230226/1677415932 今後ともよろしく、OpenBSD
https://debslink.hatenadiary.jp/entry/20220521/1653099523 OpenBSDでSFTPサーバの設定
https://debslink.hatenadiary.jp/entry/20220515/1652626120 OpenBSDにリプレース完了