ネットワーク環境が充実してきた頃から、家の環境でもNASを導入しいます。データファイル関連は、基本的にNASに保管していて、家の中でも、複数の端末からデータファイルにアクセスできるような環境を整えています。NASや外部HDDにデータを格納しておけば、PCの入れ替えやOSの入れ替えなんかがあってもデータを移行したり、バックアップしたりする手間が省けるので、非常に重宝しています。
今回導入したLinuxマシンでも、NASへアクセスしたいわけですが、これが意外に手こずりました。既存のファイラーでのアクセスは、問題なく出来たのですが、ちょっとした理由から、NASのフォルダーをマウントしたいと思いました。これが、うまくいきませんでした。Windowsでは、ネットワークドライブの割付でNASのフォルダーをドライブに割付て使用していましたが、これと似たようなことをLinuxでやりたいと思ったわけです。
Linuxではドライブという概念がないようなので、Linux内の指定フォルダーにNASのフォルダーをマウントすることで、似たようなことが出来そうだということはわかりました。それで、こちらを参考にとりあえずマウントを実行してみたのですが、うまく行きませんでした。
それで、ファイル共有について、少し調べてみました。主なファイル共有システムとしては、Windows環境で使われているCIFS(SMB)、Macで使われているAFP、UNIX系OSで使われているNFSなどがあるようです。Linuxの場合、NFSを使用すれば、割と簡単に繋がりそうで、実際、NAS側の設定でNFSを有効にしたらマウントできたという記事も目にしました。ただ、今の所予定はありませんが、WindowsPCとのファイル共有を考えるなら、SMBに対応していたほうが先々便利な気がしますので、今回は、SMBに対応することを目指しました。ちなみに、ぼくのNASは、Windowsのファイル共有は有効になっていましたが、NFSは無効になっていました。
さて、なぜ繋がらなかったかというと、結論を言えば、NASのSMBのバージョンが古かったからでした。こちらのサイトでは、
sudo mount -t cifs -o username=USER,password=PASSWORD,vers=2.1 //smbserver/shared/dir /mnt/tmp
versでバージョン指定ができると書かれているのですが、自分の環境だと、versオプションがないと言われました。それで、どうせ自動マウントさせたいわけだからと、こちらを参考に/etc/fstabを編集して vers=1.0を追加してみたところ、うまくマウントすることができました。参考までに、ぼくの環境で動いた設定を下記に記します。file_modeや、dir_modeはアクセス権の設定で、これを指定しておかないと、ぼくの環境では、アクセスに制限がかかりました。
//192.168.x.x/XXX /mnt/XXX cifs username=XXXX,password=XXXX,domain=XXXX,vers=1.0,iocharset=utf8,uid=1000,gid=1000,file_mode=0770,dir_mode=0770 0 0
ちなみに、SMBとCIFSについては、こちらが参考になりました。
SMB1.0に関しては、推奨されていないバージョンらしいので、本来であれば、NAS側のSMBのバージョンを上げるのがセオリーだと思います。ぼくの場合、NASをグローバル環境で使用していないということと、たま〜に、古いPCで接続したいと思うことがあるので、現行のままで良しとしました。あまりお勧めな方法ではありませんが、何かの参考になれば・・・。