«前の日記(2005-05-28) 最新 次の日記(2005-05-31)» 編集

おこたの国


2005-05-29

_ [Futbol] リーガ最終節 ソシエダ-バルサ 0-0

まぁ、消化試合ってことなんだろうけど、それでも、も少し機能して欲しかったかな。チャビにデコ、そしてロナルジーニョがいないと、ここまで得点チャンスが生まれんものなのか、ただただモチベーションが上らんかっただけなのか、ほぼ、中盤が機能してなかった。イニエスタはミスも多かったが、タメができんのが問題か。今シーズン、サスペンションのデコの代役という場面が多々あったが、そん時でもチャビがいたわけで。彼らがいた上で、もちょい前目の方が活きるってことか? モッタはモッタでやっぱもう少し下り目の位置からの方がいいよな。あぁ、それから、エジミルソンって、どの辺がいいのか素人目には最後までわからんかった。まぁ、マルケスがあそこまで良くなっていったから、要らない感が強いのかもしれん。

_ [COMP] Plan9 の ディレクトリの許可属性

小ネタです。何に驚いたかって、Plan9 では、chmod -x したディレクトリに chdir(2) できること、そこで ls -l . できること。もしや、inode番号がわかっているディレクトリに関して、chdir(2) と stat(2) はチェックを止めてしまったということなんだろうか?

mkdir T; touch T/a; chmod -x T; cd T という一連の流れでは、T の inode番号はわかっている。cd できたなら、 . の inode 番号はその後生成されるプロセスの process table に格納されてるので当然わかっている。その後の ls -l ができるということは stat("./a") はできるということだ。しかし、さらにその後の cat a はエラーになるので、open("a", O_RDONLY) はできてない…

なんか許可方針が統一できてないんじゃないのか? わ、わからん。正月余らせたマザー使って、も一度 Plan9 のマシン組んでみるかなぁ。

本日のツッコミ(全9件) [ツッコミを入れる]
_ ed (2005-05-29 17:09)

cp a b が can't stat a となるから、stat("./a") は常に成功するわけではなさそう。ls と cp では stat() の使い方が異なっていないといけない、とね。そうすると ls と cp の source を見ん事には素性がわからんですな。<br>まー、大局的には「ディレクトリを見せなくすることはできない」という事のよーな気はしますが…。

_ (2005-05-29 17:13)

ユーザーランドではなく、カーネルん中の話です。<br>UNIXの path search では、/ ないし . の search permission のチェックが必ず入ります。<br>Plan9 は、しない場合があるということです。

_ ed (2005-05-29 17:32)

Plan9 は*常に*チェックしないんじゃない?<br>私的には stat("./a") と stat ("a") が違う動作をする事の方が不思議かなぁ。

_ (2005-05-29 17:35)

Plan9 でも open("a", ...) ではチェックしてるように見えます。<br>stat("./a") と stat("a") は UNIX では同じですね。Plan9 がどうかはわからないけど。

_ ed (2005-05-29 18:26)

なるほど。<open()<br>となるとやはり touch ./a と touch a の挙動に違いがあるのかどうか気になるですね。<br><br>1) ./a だと . の 'w' を見る。<br>2) a だと . の 'x' を見る。<br>となってるとしたら思惑通りなのかもしれないけど、意味がわかんないっすね。<br>やっぱ動いてる Plan9 にアクセスしてみないとダメですか。

_ (2005-05-29 18:41)

rw は最後に必ず見ます。これについてはここでは気にしてません。<br>x は、inode を探す時に見るはずだと思ってました。<br>手前味噌ですが、 http://www.jp.freebsd.org/QandA/HTML/592.html 参考。<br>UNIX では、先頭の "." か "/" を必ずチェックします。<br>Plan9 は、stat ではしないのに、openではしてるように見えるのが不思議なのです。

_ ed (2005-05-29 19:37)

えーと、元ネタの Web ページの結果だけから推測してみました。<br><br>o ls -l → stat ("./a") は成功。<br>o cat a → open ("a", ...) は失敗。(can't open a)<br>o cp a b → stat ("a") は失敗。(can't stat a)<br><br>なので、Plan9 では ".", "/" のチェックを stat ではしない、というわけではないと思うです。(∵ cp a b では stat に失敗している。)<br><br>どちらかというと、これらより、"./a" へのアクセスは成功するが、"a" へのアクセスは失敗する。またファイルアクセスの失敗は、"." の x が立ってない時に起こる。<br>→ "a" の時は "." の x を見るが、"./a" の時は "." の x は見ない。<br>ではないかと思えてますです。

_ (2005-05-29 19:54)

なるほど。cp a b のところをちゃんと見てませんでした。<br>いよいよ不思議ですねぇ。<br>boot CD はあるんだよなぁ。組む気力がない…

_ (2005-05-29 19:59)

そうだ。たしか、Plan9 には、"." か ”.." のどちらか、もしくは両方がなかったような。<br>うわ、とっても確認したくてたまらない。


2002|10|
2003|10|12|
2004|01|06|07|08|09|10|11|12|
2005|01|02|03|04|05|06|07|08|09|10|11|12|
2006|01|02|03|04|05|06|07|08|09|10|11|
2007|01|02|03|04|05|06|07|08|09|10|11|12|
2008|01|02|03|05|07|08|09|10|11|12|
2009|02|06|08|09|
2010|02|08|
2011|08|
2012|07|
2013|01|06|09|10|
2019|07|10|
2020|07|
2022|08|