自宅のNASとして用意してあるFreeNAS 9.3な筐体からCIFSで幾つかのディレクトリをサービスしているのですが、ちょっと詰まったのでメモ。
Windowsからマウントする分には問題がなかったのですが、UbuntuおよびFedoraからマウントした時に、意図した動きにならなかったので。
というのもマウントは出来るのですが、いざファイルを書き込もうとすると、ファイル自体は書き込めているのにPermission Deniedで返ってきてしまうという問題でした。
出来たファイル自体は確認してもPermission自体は問題がなさそうなので、どうにも動きをつかむことが出来ず大分長い時間悩んでおりました。
Webで検索してみても幾つか情報は散見されるながらも確証に至ることが出来ないままでいました。
状態としては以下と同じ感じです。
試したマウントコマンドは以下な感じ。
sudo mount -t cifs //192.168.1.20/test /mnt/test -o rw,username=kometch,noperm
[sudo] password for kometch:
Password for kometch@//192.168.1.20/test:
これでマウントは出来、該当のディレクトリではlsコマンドは問題がないのですが、ファイルの書き込みが出来ない。ただしファイルの削除は出来たりするという謎な状態です。
$ echo "test" > /mnt/test/test.txt
bash: /mnt/test/test.txt: Permission denied
$ ls -l /mnt/test/
-rwxr-xr-x 1 1004 root 0 Dec 28 16:03 test.txt
で最終的には以下の様なマウントオプションになりました。
sudo mount -t cifs //192.168.1.20/test /mnt/test/ -o username=kometch,vers=3.0,rw,uid=1004,gid=0,_netdev,noperm
- username: マウント先ディスクのアクセスユーザ
- vers: SMBバージョン
- rw: read-writeでマウント
- uid: ファイルサーバ側のUID指定
- gid: ファイルサーバ側のGID指定
- _netdev: マウントデバイスをネットワークデバイスとして認識するフラグ?(参考になる資料が見当たらず)
- noperm クライアントがパーミッションの検査を実施しない
$ echo testtest > /mnt/test/test.txt
kometch@ubuntu:~$ cat /mnt/test/test.txt
testtest
kometch@ubuntu:~$ rm /mnt/test/test.txt
kometch@ubuntu:~$
ただ、タイミング?によっては先に挙げたマウントオプションでも問題なく操作出来る時もあったりするのですが、それでも突然Windows側からFreeNASが見えなくなったりすることがあったので、上記のマウントオプションに落ち着いています。
この辺りの動きとオプションの関係をご存知のかた、こっそりご教示ください。
またこれはmountコマンドを都度実行しているだけなので、fstabに書き込む場合は参照先を参考に、ユーザ名およびパスワードを別ファイルにして、そちらを参照するように設定するほうがセキュリティ的に安全です。
間違い等あると思いますので、気づいた方はご指摘ください。
日経BP社
売り上げランキング: 252944
技術評論社
売り上げランキング: 45160