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脆弱性対策)

autofsについて

Autofs
autofs(automount)の設定について