Raspberry Pi 2にsambaをインストールする

しばらくRaspberry Pi 3で遊んでたけど、NASとして稼働中のRaspberry Pi 2に新しい役目を持たせるべくテコ入れした。せっかくなのでRASPBIAN JESSIE LITEをセットアップ。November 2016に新しくなってるね。セットアップ初期設定については別に記事があるので、ここでは特に記載しない。以下、RASPBIAN JESSIE LITEをインストールしてUSBの外付けHDDをsambaでファイル共有するまでの手順。
外付けHDDを自動マウントする
起動時の認識状態によってデバイスのsda1とsdb1が入れ替わっても困るのでUUIDを指定して固定している。調べ方はこのコマンドで。
$ sudo blkid /dev/sda1
それとJESSIEになってからリムーバブルドライブのマウント失敗に関して仕様が厳格になったらしく、認識に失敗すると起動が止まってしまうみたいなので、nofailオプションを付けて万一マウントに失敗しても起動はするようにしておくのが望ましいとのこと。(参考情報はこちら)
$ sudo nano /etc/fstabUUID=xxxx-xxxx-xxxx-xxxx /media/hdd1 ext4 defaults,nofail 0 0
UUID=xxxx-xxxx-xxxx-xxxx /media/hdd2 ext4 defaults,nofail 0 0
HDDのマウントポイントを作るのも忘れずに。
$ sudo mkdir /media/hdd1
$ sudo mkdir /media/hdd2
sambaをインストールする
標準のリポジトリからインストールされるのはマイナーバージョンこそ最新ではないものの4系バージョン(Version 4.2.14-Debian)だった。
$ sudo apt-get install samba
[global]セクションに以下の行に追加するのと、[public]セクションは新規に追加。下の例はvalid usersで初期ユーザーのpiのみ接続可能にする例。個人用途なのでゲスト接続したかったんだけどWindows10は無理なのかな。出来るのかもしれないけどうまくいかなかったので認証付きにした。
$ sudo nano /etc/samba/smb.conf[global]
client max protocol = SMB3
unix charset = UTF-8
dos  charset = CP932

[public]
comment = rpi-fileserver
path = /media/hdd1/samba/public
valid users = pi
browseable = yes
writeable = yes
sambaに接続できるユーザーを追加しておく。上のvalid usersで指定したユーザーをここで追加する。
$ sudo smbpasswd -a pi
sambaを再起動する。これでWindowsから接続してファイルの新規作成や削除ができるか試して問題なければ成功。
$ sudo service smbd restart
ちょっと余談
上に書いたようにNASとしてsambaが稼働中だったけど、この機会に一新しようと思ってRASPBIAN JESSIE LITEをインストールした。が、しかしOSが新しくなってしまったという事はUSBの外付けHDDのフォルダの所有者がなくなってしまったという事に。 lsコマンドで表示するとオーナーが1000とかになってて、何だろうこれはとその事実と結びつくまでに時間がかかった。Windows10から接続してファイルの一覧は見えるのに、どうしても書き込みの権限がないというエラーで弾かれて散々時間を食ってしまった。 chownコマンドで新たにオーナーを設定し直せば直ったので事なきを得た。もしかしたらその関係もあってゲストユーザーの接続がうまくいかない状態になっているのかもしれないけど、大した手間ではないしその方がセキュアでいいよねと自分に言い聞かせることにしよう。Windowsに慣れすぎるとそういう思考が頭から外れるね。Linuxだと真っ先にパーミッションを疑うべきなんだろうけど。
    この記事で書かれている製品やソフトについて
  • Raspberry Pi 2 ModelB
  • RASPBIAN JESSIE LITE November 2016
  • Windows10 Pro 64ビット