ファイルサーバ samba をインストールする -ラズパイで IoT 電子工作(07)-

同じネットワーク内に Windows 同士間でフォルダの共有化を設定するだけで双方が持っているファイルの読み書きが可能だが、今回用意したラズパイの OS は Linux 系なのでこのままだと Windows 端末とファイルのやり取りができない。

そこで、ラズパイの"ファイルサーバ"をインストールすることで Windows 端末と直接ファイルの操作することができる。
ファイルサーバにはよく利用されている"samba"をインストールする。

1.パッケージ管理ソフトを最新にする


前回、リモートデスクトップするためのソフトをインストールする際に、インストールしたりインストール済みのソフトを管理するもの(apt-get)を最新の状態にした。
今回も次のコマンドで apt-get をアップデートしておく。

$ sudo apt-get update


2.samba のインストールする


次のコマンドでファイルサーバ(samba)をインストールする。

$ sudo apt-get install samba


3.samba のインストールを確認する


インストールが終われば、正常にインストールされているかバージョンを確認することで状態を見る。

$ smbd -V
Version 4.5.12-Debian


4.samba の設定を行う


samba を入れただけではラズパイの以外の Windows など他の端末からアクセスすることができない。
しかし全てが公開された状態ではセキュリティが脆弱なため、アクセスを許可するディレクトリとそこにアクセスするためのログイン情報を設定する。
まず、samba の設定ファイルを開く。

$ sudo vi /etc/samba/smb.conf


次いで、開いたファイルの末尾に次の内容を記載する。

[raspberrypi]
comment = Raspberry Pi

path = /home/pi/Public

guest ok = yes

read only = no

browsable = no

force user = pi


書き込んだ各項目の内容は次の通りである。

・comment → 共有フォルダの説明。
・path = /home/pi/Public → 共有させるディレクトリ。
・guest ok = yes → ゲストユーザでの接続を許可。
・read only = no → 共有フォルダ内のファイルを読み書きを設定。
・browsable → ネットワークコンピュータへの表示有無。ただし、ネットワーク名は表示される。
・force user = pi → ファイル操作時の所有権を持つユーザ。

5.設定を有効化するためにサービスの再起動を行う


設定ファイルを書き換えただけでは動作に適用されないため、次のコマンドで samba を再起動して設定を有効にする。

$ sudo service smbd restart


6.ラズパイの共有フォルダに Windows からアクセスする


操作する Windows とラズパイが同じネットワークに存在する状態で、Windows のフォルダのパス欄にラズパイのパスを入力すると、ラズパイのパスワードを入力する画面が表示される。
デフォルトの状態だとユーザ名は「pi」である。
ログインに成功するとラズパイのディレクトリを Windows で操作できるようになる。

\\ラスパイの IP \raspberrypi


Windows からラズパイにアクセス


また、今まではラズパイに SSH やリモートデスクトップで IP を指定して接続していたが、samba を入れることで Windows 端末からラズパイの名称を認識することができるようになるので IP を探す手間が無くなる。
特にラズパイのコンピュータ名を変えていなければ、ラズパイの IP に変わり「raspberrypi」で接続できるので、ラズパイの IP が自動取得(DHCP)の状態であれば重宝する。

この記事へのコメント