Login
Immutable PageDiscussionInfoAttachments
ytoku/daily-record/2013-02-14

MMA

fuseを全ユーザで使えるようにする on Debian Wheezy

デフォルトでは/dev/fuseのパーミッションが660になっていてfuseグループに入っていないユーザはfuseを使用できない。全ユーザをfuseグループに加えるのは面倒なのでパーミッションを変えてしまいたい。 ところが/etc/udev/rules.d/99-fuse.rulesあたりに追加設定を書いてMODE="1666"にしようと思ったがうまく変わらない。

udev - ArchWikiによれば

とのことで同じ名前をつけてやると/etcが優先されるらしいので、 /etc/udev/rules.d/60-fuse.rulesに次のファイルをおいて/lib/udev/rules.d/60-fuse.rulesの効果を上書きした。

KERNEL=="fuse", MODE="1666", GROUP="fuse", OPTIONS+="static_node=fuse"
ACTION=="add", SUBSYSTEM=="module", KERNEL=="fuse", RUN+="/bin/mount -t fusectl fusectl /sys/fs/fuse/connections"

設定を全部写してこなくとももっと簡潔に行う方法があるはずなのだが……

pf.confのデバッグ

やらかしてしまった。keep stateのpass outを忘れて帰りのパケットが迷子になっていた。

部内向けにpf.confのデバッグ方法を書いておくことにする。 pfはin/outの後にlogをつけるとpflogというネットワークインターフェイスにパケットが転送される。 pflogを使用するためにはまずカーネルにpflog.koモジュールをロードする必要がある。

$ sudo kldload pflog

続いてpflog0をupする。

$ sudo ifconfig pflog0 up

そしてtcpdumpでpflog0からパケットを取り出す。snaplenを長くしておいたほうが良い。

$ sudo tcpdump -i pflog0 -s 2048

最初のルールにlogをつけておけばルールに引っかからなかったパケットを列挙できる。 なお、ネットワーク越しにtcpdumpを使用する場合はtcpdumpとsshの間でパケットが増幅されないように注意すること。

ytoku/daily-record/2013-02-14 (last edited 2013-02-14 23:22:33 by ytoku)