[JM:00100] Re: [POST:RO] GNU_findutils find.1

Back to archive index

長南洋一 cyoic****@maple*****
2011年 1月 11日 (火) 22:12:57 JST


長南です。

立花さんのメールより [JM:00099]
> 
> | > > POSIX 標準は、カッコ `(', `)'、否定 `!'、それに and と or 演算子 (
> | > > .BR \-a ,
> | > > .BR \-o )
> | > > を規定している。
> | > 
> | > .RB ( \-a ,
> | > 
> | > と記載した方が整形後にきれいに見えます。
> | 
> | これは、困っているのです。前に教えていただいたので、「.RB ( \-a ,」
> | としました。そうしたら、コンマだけがボールドになってしまったのです。
> | 「.RBR ( \-a ,」という書き方は無効のようです。「(\fB\-a\fR,」なら、
> | 期待どおりの表示になるのですが、そこまでスタイルを変えることも
> | ないだろうと思って、原文のままにしておきました。
> | 「(\fB\-a\fR, \fB\-o\fR)」にしてしまいましょうか。
> 
> 手許の groff だと、元木さんのように修正して、"-a," がボールドになりました。
> バージョンによるのでしょうか。
> % groff -v
> GNU groff version 1.17.2

ああ、ほんとだ。今試したら、GNU groff version 1.18.1 でも、
「.RB」で「-a」だけがボールドになりました。
あらためて info groff を読んでみると、

  - Macro: .BI text
     Set its arguments alternately in bold face and italic.  Thus,

          .BI this "word and" that

     would set "this" and "that" in bold face, and "word and" in
     italics.

       ---- (中略) ----

   - Macro: .RB text
      Set its arguments alternately in roman and bold face.

ですから、そうなるのが正常な動作のはずです。昨日、メールを
書く前に実験してみたとき、わたしは何を見ていたのでしょう。
「.RB (\-a ,」や「.RB ( \-a,」と空白を一つうっかり抜かして
いたのかもしれません。

> | > > .SH "バグ"
> | > > .P
> | > > POSIX 標準が
> | > > .B find
> | > > について規定している動作にはセキュリティ上の問題があるが、
> | > > それはその動作に本来伴っているものなので、修正することができない。
> | > 
> | > セキュリティ上の問題が「本来伴う」という言い方が少しピンと来ませんでした。
> | > 「その動作自体が持つ問題」とか「その動作自体に内在する問題」くらいでしょうか。
> | 
> | たしかに、「その動作に本来伴う」はピンボケかもしれません。
> | でも、わたしとしては、「内在する」よりも、「伴う、付随する」と
> | 言いたいのです。そこで、元木さんの試訳から「自体」を頂戴して、
> | こんなのはどうでしょう。
> | 
> |   POSIX 標準が find について規定している動作にはセキュリティ上の
> |   問題があるが、それはその動作自体に付随するものなので、修正する
> |   ことができない。
> | 
> | 「切り離せない」とか「表裏の関係にある」とかも考えましたけれど。
> | 
> | 自分の訳にまだ未練があるだけかもしれません。反論を期待します。
> 
> 「その動作自体が持つ問題」が一番すわりがいい気がします。
> 
>    POSIX 標準が find について規定している動作にはセキュリティ上の
>    問題があるが、それはその動作自体が持つ問題なので、修正する
>    ことができない。

ええ、これも悪くないと思います。ただ、「持つ」というのは、
一般的、包括的な表現です。できたら、もっと具体的、限定的な
言葉を使いたい気がします。もっとも、限定的な言葉を使うと、
うまく行けば、表現がくっきりしますが、まずく行くと、意味が
ずれてしまいますけれど。

ある行為や動作が、困った問題や危険を、切り離せない形で持って
いるとき、日本語では普通、「伴う」とか「付きものだ」とか
「付いて回る」と言うのではないでしょうか。たとえば、
「ダイエットには栄養不良の問題が付いて回る」とか、「登山には
危険が付きものである」とか。つまり、その困った問題や危険を、
内に含むものというよりは、外にあるけれど切り離せないものとして
表現する。そんなわけで、わたしとしてはどちらかと言うと、
「伴う」や「付随する」を使いたいのです。もちろん、「内に含む」
という見方が必要な場合は、「内在する」や「持つ」を選びます。

もう少し具体的に考えてみます。

マニュアルでは上の文章のすぐ後に、-exec が例として挙げられて
いますが、info find の「10.2.3 Race Conditions with -exec」
ではもっと詳しく説明しています。

それを簡単にまとめると、POSIX が規定している動作というのは、
「-exec が実行するコマンドは、find を実行したディレクトリを
カレントディレクトリとして実行される」ということです。
言い換えれば、「-exec が実行するコマンドに渡されるファイル名
には、find の探索始点から始まるパスが付く」ということ。
たとえば、find ./foo -name "passwd" -exec rm \{\} \; ならば、
rm ./foo/bar/passwd といったコマンドが実行されるわけです。

一方、セキュリティ上の問題というのは、「find が ./foo/bar/passwd
を見つけてから、rm ./foo/bar/passwd が実行されるまでの間に、
誰かが ./foo/bar を /etc を指すシンボリックリンクに変更したら、
/etc/passwd が消去されてしまうかもしれない」ということ。

こういう場合、「持つ」「内在する」「付随する」、どの言い方が
ふさわしいでしょう。わたしとしては、どの言い方もできるけれど、
「付随する」がよいのではないかと思うのです。ただし、「付随する」
だけでは不足で、「(動作)自体に付随する」と言わなければなりませんが。

自分が訳した文章には、どうしてもとらわれてしまいます。つまり、
ほかの可能性に心を開きにくくなっています。ですから、一週間
ぐらいたったら、わたしの考えも変わるかもしれません。

-- 
長南洋一




linuxjm-discuss メーリングリストの案内
Back to archive index