sambaサーバーに接続する際、Ubuntuのnautilusから接続すると問題ないのに、mountするとパーミッションがおかしい、という話
unix extensions = no の設定を!!
sambaサーバーをマウントした時のパーミッションがおかしい!!
Ubuntu系のディストリビューションでsambaサーバを立ち上げ、 Windowsと*nix系PCからみんなでつついて使ってました。
都度nautilusの「サーバーへ接続」ってやるのもめんどくさいんで autofsを使って、必要なときに自動接続されるようにすることにするも、 なんか、挙動がへん!!
やってみるとこんな感じ。
既存ファイルの参照 = ○
新規フォルダの作成 = ○
新規ファイルの作成 = △(なんか作れてるんだけど開けない)
新規フォルダ内のファイル・フォルダの作成 = ×
新規ファイル・フォルダの削除 = ×
パーミッションのせいだと思うんだけど、 ちゃんとuidもgidもfile_modeもdir_modeも設定したはずだったんですよね。。。
いろいろやってみると、uid/gidは反映されているのに、 file_mode/dir_modeがうまく反映されていない様子。
mount -t cifs でfile_modeやdir_modeを設定しているのに反映されない問題への対応
いろいろ調べて解決した方法としては、 /etc/samba/smb.confに下記追加するということ。
[global] unix extensions = no
そして、smbdを再起動。
なんでこれで。。。。ってのはちゃんと理解できていないので、 下記参照先をご覧いただければ。。。
結局、autofsで自動マウントする方法
/etc/autofs.smb_shareを下記内容で作成 ※認証のところは外部ファイルにしたほうが良いね。。。
/mnt/smb_share -fstype=cifs,rw,username=hoge,password=hogepw,uid=1000,gid=1000,file_mode=0775,dir_mode=0775 ://192.168.0.254/smb_share
/etc/autofs.masterに下記追記
/- /etc/auto.smb_share --timeout 60
で、サービスを再起動して完了。
sudo service autofs restart
まぁ、この問題以外にも、uid/gidをサーバー側のユーザIDにしてて、 クライアント側のユーザから参照できないなんてミスをしてたんですが、 それは、もう赤面で。
参照サイト
unix extensionsについて
REGZA で使える LAN サーバを用意してみようと頑張った
Sambaのアクセスできないフォルダへの対処法。(Symbolic link問題、Samba脆弱性対策)