[JM:00155] Re: [POST:DP] man man.1

Back to archive index

長南洋一 cyoic****@maple*****
2011年 3月 5日 (土) 13:41:08 JST


長南です。

ご苦労さまでした。仕事が早くて、量が多くて、すごいですね。
まず、気になったところのうち、大物を二つほど取り上げます。
両方とも、立花さんが増補した部分ではなく、前からあるところです。

> .\"O It is possible to make
> .\"O .B man
> .\"O suid to a user man. Then, if a cat directory
> .\"O has owner man and mode 0755 (only writable by man), and the cat files
> .\"O have owner man and mode 0644 or 0444 (only writable by man, or not
> .\"O writable at all), no ordinary user can change the cat pages or put
> .\"O other files in the cat directory. If
> .\"O .B man
> .\"O is not made suid, then a cat directory should have mode 0777
> .\"O if all users should be able to leave cat pages there.
> .B man
> コマンドをユーザー man に suid することができる。
> そうすると、 cat ディレクトリのオーナーが man かつモードが 0755
> (ユーザー man だけが書き込み可) で、
> cat ファイルのオーナーが man かつモードが 0644 または 0444
> (ユーザー man だけが書き込み可、またはユーザーすべてが書き込み不可)
> のとき、
> 普通のユーザーは cat ページを変更したり、
> 他のファイルを cat ディレクトリに置いたりすることができなくなる。
> man コマンドが suid されていなければ、
> すべてのユーザーが cat ページを cat ディレクトリに置けるように、
> cat ディレクトリのモードを 0777 にする必要がある。

これですが、原文も訳文もよくわかりません。そもそも、原文は
正しいのでしょうか。man コマンドがユーザ man で suid されている
のなら、一般ユーザは man を使ったとき、cat ファイルを作る (場合に
よっては変更する) ことができるのではないでしょうか。

それとも、「cat ディレクトリを 0755 に、cat ファイルを 0644、
または 0444 にしておけば、一般ユーザは man コマンドを使わない場合、
cat ディレクトリにファイルを置いたり、cat ファイルを変更したり
できない」ということなのでしょうか。こっちならば、文章の流れは、
こんなふうになると思います。

  man コマンドをユーザ man に suid してもよい。その場合でも、
  cat ディレクトリを所有者 man、モード 0755 にし、cat ファイルは
  所有者 man、モード 0644、あるいは 0444 にしておけば、一般ユーザは、
  (man コマンドを使わずに) cat ページを変更したり、cat ディレクトリに
  ほかの (関係のない) ファイルを入れたりすることができない。
  man コマンドが suid されていない場合は、すべてのユーザが cat
  ディレクトリに cat ページを残すことができるようにしたいのなら、
  cat ディレクトリのモードを 0777 にするべきである。

should の訳をもう一工夫するべきでしょうが。

> .\"O In addition, for each directory in the command search path (we'll call
> .\"O it a "command directory") for which you do
> .\"O .I not
> .\"O have a 
> .\"O .B MANPATH_MAP 
> .\"O statement,
> .\"O .B man
> .\"O automatically looks for a manual page directory "nearby"
> .\"O namely as a subdirectory in the command directory itself or
> .\"O in the parent directory of the command directory.
> また、コマンド検索パスの各ディレクトリ
> (「コマンドディレクトリ」と呼ぶことにする) に対して、
> .B MANPATH_MAP
> ステートメントが\fIない\fR場合、
> .B man
> は「近接する」マニュアルページディレクトリを自動的に検索する。
> 近接するディレクトリとは、コマンドディレクトリ自身のサブディレクトリや、
> コマンドラインディレクトリの親ディレクトリのサブディレクトリである。

よく読むと正しいようですが、とてもわかりにくいと思います。
「各」の位置が適切ではないせいでしょうか。それとも、nearby を
副詞としてではなく、形容詞として訳したせいでしょうか。

説明の代わりに試訳を付けます。後ろから訳してもよいのですが、
現行訳どおり前から訳すと、

  なお、コマンド検索パスのディレクトリ (「コマンドディレクトリ」と
  呼ぶことにする) に対して MANPATH_MAP ステートメントが存在しない
  場合、man はそうしたコマンドディレクトリの一つ一つに対して、
  マニュアルページがあるディレクトリを自動的に「近隣の場所」で
  検索する。「近隣の場所」というのは、コマンドディレクトリ
  そのものやコマンドディレクトリの親ディレクトリにある、サブ
  ディレクトリといった場所である。

まだ、わかりにくいかも。

ほかにもありますが、それは別のメールで。

-- 
長南洋一




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