ラズベリーパイをファイルサーバーにする方法

はじめに

今回はラズベリーパイをファイルサーバー化して、誰でも読み込み、書き込みができるファルダを作成してみましょう。

わたしのPCはWindowsなのですが、Windows端末とLinuxをベースとするラズベリーパイ間でファイルを共有するには、Samba(サンバ)というフリーソフトウェアを使用します。そこで、まずはSambaのインストールから始めていきましょう。

Sambaのインストール

LXTerminalを起動し、以下のコマンドを実行します。

sudo apt-get install samba

 
途中で、インストールするために消費するディスク容量の確認をされますが、そのまま続行するとインストールが完了します。

インストールしたSambaのバージョンは以下のコマンドで確認できます。

smbd -V

 

共有用フォルダの作成

ユーザー間で共有するフォルダを先に用意しておきましょう。今回は「Shared」というフォルダを作成します。

mkdir Shared


指定したパスにフォルダが作成されていたら成功です。

設定ファイルの編集

作成したフォルダに対して、誰でも読み込み、書き込みができるようするため、Sambaの設定ファイルを編集します。
設定ファイルは既定では /etc/samba/smb.conf にあります。

設定ファイルを編集する前に、万が一に備えて、次のコマンドでバックアップを取っておきましょう。

sudo cp -p /etc/samba/smb.conf /etc/samba/smb.conf.bak


バックアップが取れたら、下記のコマンドで設定ファイルを開きます。

sudo nano /etc/samba/smb.conf 


f:id:mugeek:20190620231505p:plain

黒い画面はそのままに、ファイルの内容が表示されましたね。
画面下部に操作方法が記載されています。「^」はCtrlキーを意味します。
たとえば、変更内容を保存(=書き込み)する場合は、「^O」なので「Ctrl」+「O」を押せばOKです。

設定ファイルを一番下までスクロールし、空いているスペースに、共有フォルダ作成用の設定を書き加えていきます。

今回は誰でもファイルの閲覧と変更ができるフォルダを作成するため、以下のように記載します。

[RpShared]
path = home/pi/Shared
read only = No
guest ok = Yes

 
各項目の内容を簡単に説明します。

大括弧(“[” と “]”) の箇所は、セクションです。
セクション名がそのまま共有リソース名となります。

pathでは、ユーザーが共有フォルダとしてアクセスするフォルダを指定します。

read onlyでは、ファイルの書き込み権限を設定します。read only = yes の場合、書き込みができません。規定値は yes なので、今回は no に変更しています。

guest okでは、サービスへ接続した際のパスワード要求を制御します。guest ok = yes の場合、パスワード要求はされません。

各項目の詳細については下記のサイトが詳しく、参考になります。
日本 Samba ユーザ会

上記の記載が出来たら、変更内容を保存するため、Ctrl + O を押します。
保存するファイル名が正しいことを確認し、Enterキーを押します。
最後に、ファイルを閉じるため、Ctrl + X を押しましょう。

設定ファイルの変更内容をラズベリーパイに反映させるために、Sambaを再起動します。
Sambaは、ファイルや印刷を共有するサービスを提供するsmbdと、TCP/IP上でNetBIOSを使用するためのサービスを提供するnmbdという二つのデーモンで構成されています。そのため、この二つをコマンドで再起動させます。

sudo service smbd restart
sudo service nmbd restart

 

共有フォルダへのアクセス

共有フォルダにアクセスする際にラズベリーパイのIPアドレスが必要になるので、はじめに確認しておきましょう。

ラズベリーパイでLXTerminalを起動し、下記のコマンドを実行します。

ifconfig


無線LANを使用している人は、wlan0のセクションに表示されているIPアドレスをメモしておきます。

それでは、Windows PCから共有フォルダにアクセスしてみましょう。

エクスプローラを開き、アドレスバーに先ほど確認したIPアドレスを入力します。
※アルファベットの箇所には、実際のIPアドレスを記載してください。

¥¥AAA.BBB.C.D


Enterキーを押すと、

f:id:mugeek:20190620231907p:plain

RpSharedフォルダが表示されていますね。
(Geekgroupフォルダの方は気にしないでください。)

このフォルダは誰でも読み込み、書き込みができる設定になっているので、
実際に問題なくファイルを開けたり、新規ファルダやファイルを作成できればOKです。

まとめ

今回はSambaを使って、ラズベリーパイをファイルサーバー化してみました。Sambaの設定ファイルを編集することで、共有フォルダの設定変更ができることも確認しました。

次回は、特定のユーザーだけで共有するフォルダを作成してみたいと思います。