※この情報は2年以上前の古い情報ですので注意が必要です。
以前からネットワーク共有ファイルをLinuxサーバーに置いていた。
しかし最近サーバーの容量が足りなくなって来たようだ。
そんな理由で共有ファイルだけ、地上デジタルとBS、CSデジタル放送を録画していたNasneのファイルサーバーに移動して、Linuxサーバーからマウントして使うことにした。
実際のサーバーの共有元ホルダは /home/hoge
ホルダーのオーナー情報は ユーザー: hoge , グループ:hoge, パスワード:hogehoge
Nasne の場所(アドレス)はアドレス固定として 192.168.0.5
共有するNasneのホルダは /share1
とします。
マウントさせるときはターミナルから以下のように入力。
$sudo mount -t cifs -o sec=none,uid=hoge,gid=hoge,vers=1.0,forceuid,forcegid //192.168.0.5/share1 /home/hoge
起動時に最初からマウントさせるには /etc/fstab に次のように最下行に1行追記すればよいのかな・・
..... //192.168.0.5/share1 /home/hoge cifs vers=1.0,uid=hoge,gid=hoge,sec=none,forceuid,forcegid 0 0
でやってみると、なぜかダメでした。
実際にfstabでマウントする様に書くと手間無く便利でよいのですが・・
Linix起動時にNasneの方がが停止していたらエラーでLinix自体が立ち上がらないので困ります。何が原因で起動出来ないのかが判りづらく原因解明に時間がかかるから嫌なんですけどね・・・
解決しました。
ログインするユーザーの(idコマンドで調べてください)uid とgidを書き留めておきます。
これを使用してuid,gidとしましょう。
実際の追加する/etc/fstabの書き方は
~$ sudo nano /etc/fstab
//192.168.0.5/share1 /home/hoge cifs nofail,username=hoge,password=hogehoge,sec=none,uid=1001,gid=1001,vers=1.0,forceuid,forcegid 0 2
これでパスワード制限のある場所のマウントが出来ました。
uid,gidは、ユーザーidを数字で入れると良いようでした。
別方法として、起動後あとから読み込んでマウントする方法もあります。
これは
/etc/rc.localを作成
$ sudo nano /etc/rc.local
中身は普通にmountする時の書き方を記述すれば良いようです。
#! /bin/sh
mount -t cifs -o sec=none,uid=1001,gid=1001,vers=1.0,forceuid,forcegid //192.168.1.50/share1 /home/hoge
自分の(idコマンドで調べてください)uid と gidを書き留めこれを使用して上記のuid,gidとしましょう。
問題点
マウントはできましたが、このフォルダをグループユーザーで共有しようとするとうまくいきません。
デフォルトのユーザーは良いのですが他のユーザーが書き込むとグループのアクセス権が読み込み専用になって書き込みができません。いろいろmount方法を変えてみたのですがダメです。
cifsの問題なのかmount先のnasneのシステムが古いからなのかよくわかりません。
nasneそのものの設定が変えられるなら良いのですが・・・・
追記!
最近のLinuxは、デフォルトでインストールされるSambaが4.xx.xなので、SMB1はデフォルトで無効になっているようです。
古いNASの多くはSMB1を使用しているのでアクセスは無効になってしまいます。
SMB1は脆弱性で問題はありますが背に腹は代えられません。SMB1を有効にして使うのも手です。
もっとも、CIFSプロトコルはSMBプロトコルの後継プロトコルであるらしいので、少しは良いのかも知れませんが??・・・ その辺はよく判りません!!とりあえず使えるようにするならです。
有効にしたならsamba設定ファイルを開いてこちらも追加しておきます。
$sudo nano /etc/samba/smb.conf
[global]セクションに追記します。
[global]
...
unix charset = UTF-8
dos charset = CP932
...
そして、sambaを再起動してください。
これでうまくいかない場合は、
Samba サーバー側で Web Service Discovery を有効にするwsddという方法を実行しましょう。
Windows側を直すよりも本来はこちらが良いのでしょう。
簡単に Web Service Discovery の機能を追加する wsdd
wsddをインストールしてファイアウォールのUDP の 3702を開けるだけのようですのでやってみて下さい。
WindowsのSMB1を有効にして使うより安全で確実です。