bindfsを使ってグループ名やパーミッションを揃える
Linux を使っていて,少し手間がかかるのにパーミッションの適切な設定があります.
これは例えば,umask の設定や,ディレクトリのパーミッションの設定などです.
面倒なのは,Samba でファイルサーバとして使いつつ,ssh でリモートログインして使うような Linux-BOX で,共有ディレクトリのパーミッションを適切に設定したい場合,umask や smb.conf でのパーミッション設定が必要になる場合があります.
umask で少し面倒なのは,umask はディレクトリ単位では作用しない点です.
.profile 等で umask を設定すると,ログインした後の全てのファイルやディレクトリの作成に影響します.
こんな場合に,bindfs を使うと,あるディレクトリ以下のグループを強制的に特定のグループにしたり,ファイルやディレクトリのパーミッションを揃えることが出来ます.
ここでは,Raspberry Pi (Raspbian) で bindfs の使い方について記載します.
bindfs のホームページは http://bindfs.org/ の様です.
bindfs のインストール
$ sudo apt-get install bindfs fuse-utils
bindfs でマウント
bindfs は,FUSE を使って,「どこか特定のディレクトリを」「パーミッションやユーザ名,グループ名をオプションに沿って変えつつ」「別のディレクトリのマウントする」動作をします.
$ sudo bindfs -p 0770 -g sambashare /work/sambashare_orig/ /work/sambashare/
上記の様に実行すると,/work/sambashare_orig/ 以下のディレクトリを,/work/sambashare/ にマウントします.
/work/sambashare/ 以下は,グループ名は常に sambashare となり,ファイルやディレクトリを作成した場合,パーミッションは常に 0770 になります.
bindfs を使う事で,smb.conf の create mode や .profile に umask の設定を書かなくても,ディレクトリ単位でグループ名やパーミッションを揃えることができるので便利だと思います.
fstab に書いておく
起動時に常に bindfs でマウントするなら,/etc/fstab に以下の様に書くことで起動時にマウントされます.
- fstab
... /work/sambashare_orig/ /work/sambashare/ fuse.bindfs perms=0770,group=sambashare 0 0