sambaとnautilus

これまでowncloudを使って我が家のファイル共有を実現していたのだが、いろいろと不満が出てきた。

  1. ブラウザからのアクセスが重い。
  2. クライアントソフトを入れると、PCとサーバの両方に同じデータが置かれる。

1つ目についてはもう明らかにダメなわけだが、2つ目についても、PCの容量を逼迫したくという理由で個人的にはNGである。バックアップは別で取っているので、PC上にデータが二重化される意味も薄い。

そんなわけで、ファイルサーバを立ててみた。問題はどのソフトを使うかであるが、後々のことを考えて、WindowsLinuxの両方からアクセス出来たほうが便利なので、NFSは却下した。よって、普通に王道っぽいsambaを使うことにした。

debiansambaをインストールするのは簡単である。

apt-get install samba

設定ファイルは以下である。

/etc/samba/smb.conf

sambaの設定であるが、今回は家庭内ファイルサーバとして誰もが簡単にアクセスできることを目的とするため、セキュリティは一旦無視して、データをLAN内でpublicな状態にした。主な変更点は以下である。

[global]
   dos charset = CP932     
   unix charset = UTF-8  
   display charset = UTF-8

(中略)

   interfaces = 127.0.0.0/8 eth0 192.168.1.0/24

(中略)

   security = share

(中略)

[public]
   comment = Public Stuff
   path = /data0/samba
   writable = yes
   guest ok = yes
   guest only = yes
   public = yes
   printable = no
   share modes = yes

設定ファイルを書き換えたら、sambaをrestartしてサーバ側はおしまいである。

service samba restart


次にクライアント側だが、私が普段使いしているUbuntuでアクセスする方法を探した結果、以下の2つが見つかった。

  1. CIFSファイルシステムのマウント
  2. nautilusからのアクセス

CIFSというのはWindows向けのファイル共有プロトコルで、Linuxで言うところのNFSに近い存在だと思っているが、よく知らない。sambaによるファイル共有ではこのプロトコルが使われるようだ。1の方法ではそれをNFSのようにPC上にマウントする方法であるが、あれこれ設定してもなぜかマウント時にパスワードを聞かれてしまう・・・実際にはパスワードは設定していないため、何も入力せずにEnterを押すとマウントできてしまうわけだが、なんとも釈然としない。

そこで、今回は2の方法を使うことにした。nautilusというやつは実は結構便利で、サーバ側でsambaの設定を共有にしておくだけで、マウントも何もしなくてもファイルにアクセスできてしまうのである。やり方は簡単で、nautilusの左側のメニューから「ネットワークを表示」を選べば良い。あとはそこに表示されているファイルサーバを選択すればファイルが見られる。今回の場合だとADELIEというのがそれに該当する。(アデリーペンギンから名前を取っている。)

f:id:peng225:20150919171920p:plain

今回の作業はこれでおしまいなわけだが、やりながら気になったのが、ディスクの容量があまりないということである。バックアップ用ディスクの容量はあるのだが、データを入れておく方のディスクの容量が少ない。今後もデータが増え続けることを考えると、容量を簡単に追加できるようにしておきたい。そのために容量の仮想化とかそのあたりの技術が活用できないかと考えているが、ちょっと調べてみると面白いかもしれない。