昨日の日記でpam_usb バージョン0.4.2で導入された、pmountをきちんと設定してみようと思います。
pmountは、ポリシーベースのマウントの実行形式です。 通常は/etc/fstabに記載されているデバイスしか、ユーザはマウントできませんが、pmountのポリシー定義でユーザでもマウントが実現できるようになります。
今のところCUIのLinuxでのpam_usbでの認証では、不具合が出ていませんが、ユーザ権限でpamusb-checkを実行すると、ユーザが認証に使用するUSBメモリをマウントできないため、失敗に終わります。
ということで、きちんと設定してみましょう。
自分自身をplugdevに追加しましたので、設定を反映させるために一度ログインし直します。
シェルの環境を更新するために、いつもログインし直していますが、何かコマンド一発で更新されないのかなぁ。
一応、su - <ユーザ名>で自分自身に変更することで、更新されたか?確認はできましたけど。
それでは、マウントしてみましょう。
$ pmount /dev/disk/by-id/usb-GH_PicoBoost_07751E80008D-0\:0-part1 /mnt/GH_PicoBoost/ Error: '/' must not occur in label name
あれ? マウントできません。きちんと使い方を知らないと駄目ですね。 man pmountをすると、以下のような内容が書かれていました。
pmount device [ label ] This will mount device to a directory below /media if policy is met (see below). If label is given, the mount point will be /media/label, otherwise it will be /media/device.
どうも/media以下にマウントされるようですね。
$ pmount /dev/disk/by-id/usb-GH_PicoBoost_07751E80008D-0\:0-part1 $ ls -al /media/ 合計 12 drwxr-xr-x 3 root root 4096 2008-01-06 09:52 . drwxr-xr-x 19 root root 4096 2008-01-05 17:39 .. -rw-r--r-- 1 root root 0 2008-01-05 17:39 .keep_sys-apps_hal-0 drwx------ 3 idani idani 4096 1970-01-01 09:00 disk_by-id_usb-GH_PicoBoost_07751E80008D-0:0-part1
はい。きちんとマウントができました。
もちろん、アンマウントもできました。
$ pumount /media/disk_by-id_usb-GH_PicoBoost_07751E80008D-0\:0-part1 $ ls -al /media/ 合計 8 drwxr-xr-x 2 root root 4096 2008-01-06 09:55 . drwxr-xr-x 19 root root 4096 2008-01-05 17:39 .. -rw-r--r-- 1 root root 0 2008-01-05 17:39 .keep_sys-apps_hal-0
Gnome環境を構築した時に、マウントポイントが/mntから/mediaに移ったのかと思いましたが、実はpmountのポリシー設定が影響しているんですね。
/etc/fstabに記述する一般的なマウントポイントは/mntで、pmountが作成するマウントポイントが/mediaということですね。
man pmountを読んでいくと、/etc/pmount.allowに許可するデバイスをリストアップするように書かれているのですが、これを設定しなくても動作しました。
とりあえず、動作したので、これ以上は追いませんが、また、わかったら追記しましょう。
きちんとman pmountに書いてありました。
device is removable (USB, FireWire, or MMC device, or /sys/block/drive/removable is 1) or whitelisted in /etc/pmount.allow.
リムーバブルデバイスはデフォルトでOKなんですね。 具体的には、cat /sys/block/drive/removableで1が返ってくるデバイスです。それ以外は、マウントができないので/etc/pmount.allowに記載するのですね。
USBデバイスのマウントで調べると、だいたいdebianのusbmountが引っかかりますが、Gentooには無いようでした。
また、こちらのMLの内容を信用すると、usbmountは軽量だけどrootで実行されるということでした。
GentooでSDカード&MMCリーダの設定方法がWikiに記載されていました。ここでは/etc/pmount.allowをきちんと記載していますね。
あと、udevで自動マウントを実行しているのもポイントですね。
hal -> D-Bus -> pmountで自動マウントできなかったかしらん? と思ったので調査。
# emerge -Dpv pmount [ebuild R ] sys-apps/pmount-0.9.16 USE="-crypt -hal" 0 kB
hal関係が一緒にコンパイルされてないですね。cryptはcryptsetupで使用したデバイスをマウントするのに必要なようです。
それではUSEフラグを追加してビルドし直しましょう。
#echo sys-apps/pmount crypt hal >> /etc/portage/package.use #emerge -Dv pmount
あ、これでも自動マウントができないですね。
よくよく調べると、pmount-halというのが追加されます。
$ equery files pmount [ Searching for packages matching pmount... ] * Contents of sys-apps/pmount-0.9.16: /etc /etc/pmount.allow /usr /usr/bin /usr/bin/pmount /usr/bin/pmount-hal /usr/bin/pumount /usr/share /usr/share/doc ・・・・・以下続く
これが関係するかもしれないですね。
前の日記の続きです。 pmount-halは、halからデバイス情報を聞いて、最適なマウントオプションを選択してくれるようです。
$ pmount-hal /dev/disk/by-id/usb-GH_PicoBoost_07751E80008D-0\:0-part1 process 4377: arguments to dbus_message_new_method_call() were incorrect, assertion "_dbus_check_is_valid_path (path)" failed in file dbus-message.c line 1074. This is normally a bug in some application using the D-Bus library. D-Bus not built with -rdynamic so unable to print a backtrace アボートしました
駄目っぽいですね。では、デバイスを直接指定してみましょう。
$ pmount-hal /dev/sdb1 $ ls -al /media/ 合計 12 drwxr-xr-x 3 root root 4096 2008-01-06 11:43 . drwxr-xr-x 19 root root 4096 2008-01-05 17:39 .. -rw-r--r-- 1 root root 0 2008-01-05 17:39 .keep_sys-apps_hal-0 drwx------ 3 idani idani 4096 1970-01-01 09:00 usbdisk
きちんとマウントができました。マウントポイント名が、halから情報を取ってきていて変わっていますね。
$ mount ・・・中略・・・ /dev/sdb1 on /media/usbdisk type vfat (rw,noexec,nosuid,nodev,quiet,shortname=mixed,uid=1000,gid=1000,umask=077,fmask=0177,dmask=0077,iocharset=utf8)
その他は変わってないような気がします。
ホントは休み中にunionfsまで勉強したかったのですが、pam_usbを飛び入りで勉強したので手が回りませんでした。
今日十にできるかな?
とりあえず、ぐぐった参考リンクだけメモ
帰省先から自宅へ帰るために、こだまに乗って移動。
ベビーカーを持ってきましたが、もう2歳だから必要ないですね。実家から新幹線乗り場まで、ずっとベビーカーを使用したのですが、さすがに新幹線に乗る時はベビーカーから降りてもらわねばなりません。
下ろした瞬間からグレグレ。
グレ泣きの娘とベビーカーを引きずりながら乗車。こだまのグリーン車なのでスカスカです。
とりあえずベビーカーをデッキに置いて、指定席に荷物を置きに行くと、綺麗なお姉さんの隣でした。ご挨拶もそこそこにデッキに置いたベビーカーを車両の一番後ろの席のスペースに移動させます。
Cちゃんはベビーカーを自分の目の届かないところに置かれるのが不満のようで、抱っこされた状態からベビーカーにしきりに手を伸ばしていました。 しかし、それもすぐに忘れて新幹線の中を探検し出すのでした。
さて、今回、何故こだまにしたかというと、JR東海さんのぷらっとこだまエコノミープランを知ったからでした。
のぞみの指定席の値段で、こだまのグリーン車に乗れるのです。今まで乗ったことの無いグリーン車。使ってみたいですよねぇ。
という思いと裏腹に、Cちゃんを抱っこしてグリーン車(3両あります)を抱っこして5往復し、次に下ろして自分で3往復しました。
たった3両を何度も往復しますので、おばさん方にはクスクス笑われました。
自分で歩き出して2往復目は、ようやくこだまに慣れたようで、大きな声を出しながら歩き出す始末。
私が、「すみません。ごめんなさい。」って謝りながらCちゃんの後についていくと、次の車両からは、「ごめんねぇー。ごめんねぇー。」と言いながら歩き出す始末。
また、駅に着けば、「着いた! 着いた!」とはしゃぎ、しきりに降りようと身振りします。
そうそう、面白かったのはお義母さまと実家の最寄り駅から新幹線の駅まで、各停で移動したのですが、駅についてすぐに「ばーばー。たっち!」とお義母さまに立つように指示を出しました。何をしたいんだろう?と思って、私が代わりに立ち上がって、Cちゃんに聞くと、「パパ、こっちー」と少し離れた場所に行くように指さします。そして、また「ばーば。たっち!」と言いました。
なんだろう?ってお義母さまと二人首をかしげていましたが、降り口を指さして「あっち! あっち!」って大騒ぎ。実は、私たち二人にベビーカーを持たせて降りたかったのですね。その後は、お義母さまが駅に着くたびに、いろいろと話して説明していましたので、降りようと言い出すことはありませんでした。
そんな感じなので、こだまでも駅に着くたびに降りるようにはしゃぎます。しかも、新幹線なので各駅での停車時間が5分だったり各停より長いじゃないですか。それもあってえんえんはしゃがれました。
そんなはしゃっぎぷりも1時間半たった頃には、疲れで電池切れのようでデッキで抱っこして子守歌を歌ってあげていたら、眠りについてくれました。
でも、ここからが大変で、抱っこした状態で席に座りましたが、その体制を維持しなければならなくて身動きができませんでした。
あぁ、隣に綺麗なお姉さんがいるのに。そのまま2時間ぐらいは固まっていましたが、熱海辺りで目を覚ましてもらったら、小田原で降りると大騒ぎ。
新横で降りるのですが、ベビーカーもって、Cちゃんを抱いてだと到底降りれないと思ったので、新横に到着する10分前からデッキに出て準備しました。 ベビーカーがあるものだから、Cちゃんは乗せろと大騒ぎ。根負けて乗せました。新横に着いたら、ベビーカーに乗って上陸です。ベビーカー広げて降りるなんて思いませんでした。あー恥ずかし。
奥様が新横まで自動車で迎えに来てくれたのですが、Cちゃんのはしゃぎようは凄かったです。「ママ! ママ! やったー!!」と何度も何度も社内ではしゃいでいました。
ご意見、ご感想はツッコミでお願いします。
| 前 | 2008年 1月 |
次 | ||||
| 日 | 月 | 火 | 水 | 木 | 金 | 土 |
| 1 | 2 | 3 | 4 | 5 | ||
| 6 | 7 | 8 | 9 | 10 | 11 | 12 |
| 13 | 14 | 15 | 16 | 17 | 18 | 19 |
| 20 | 21 | 22 | 23 | 24 | 25 | 26 |
| 27 | 28 | 29 | 30 | 31 | ||