Tetsuo Handa
from-****@I-lov*****
2009年 9月 13日 (日) 21:20:52 JST
熊猫です。 何度も要望の出ていた「パス名を再帰的に指定する」方法をサポートすることに なりました。大きな変化なので tomoyo-users でも事前にお知らせとご意見募集を 行います。 現在、 /\{dir\}/ というパターンを "/" + " dir/ の1回以上の繰り返し" に 一致させる方向で進んでいます。例えば、 allow_read /var/www/html/\{\*\}/\*.html という指定は allow_read /var/www/html/\*/\*.html allow_read /var/www/html/\*/\*/\*.html allow_read /var/www/html/\*/\*/\*/\*.html allow_read /var/www/html/\*/\*/\*/\*/\*.html allow_read /var/www/html/\*/\*/\*/\*/\*/\*.html (以下省略) のように機能します。また、 path_group SVN_FILES /home/kumaneko/SVN/\{\*\-.svn\}/\* という指定は path_group SVN_FILES /home/kumaneko/SVN/\*\-.svn/\* path_group SVN_FILES /home/kumaneko/SVN/\*\-.svn/\*\-.svn/\* path_group SVN_FILES /home/kumaneko/SVN/\*\-.svn/\*\-.svn/\*\-.svn/\* path_group SVN_FILES /home/kumaneko/SVN/\*\-.svn/\*\-.svn/\*\-.svn/\*\-.svn/\* path_group SVN_FILES /home/kumaneko/SVN/\*\-.svn/\*\-.svn/\*\-.svn/\*\-.svn/\*\-.svn/\* (以下省略) のように機能します。 しかし、1回以上の繰り返しなので、 allow_read /var/www/html/\*.html や path_group SVN_FILES /home/kumaneko/SVN/\* のようには機能しません。そのため、 /var/www/html/ 以下の全ての \*.html を読み込みモードでオープンしてよい という指定を行いたい場合には allow_read /var/www/html/\*.html allow_read /var/www/html/\{\*\}/\*.html のように2行に分けて指定する必要があります。 行数を減らすために /var/www/html/\{\*\}/\*.html が /var/www/html/\*.html ( \*/ の0回繰り返し)を包含してほしいと考えている方もいるようです。 もし、0回以上の繰り返しにした場合、 /tmp/ 以下の全てのディレクトリを 指定するつもりで allow_rmdir /tmp/\{\*\}/ のように指定してしまうと /tmp/ ディレクトリ自身も含まれてしまうことになり、 期待していたものよりも広い許可を与えてしまう危険があります。 0回以上の繰り返しにした場合でも、 /\{dir\}/ というパターンで終わる指定を 禁止するという制約を付ければ、明示的に allow_rmdir /tmp/\{\*\}/\*/ のような指定を行うことになるため、 /tmp/ ディレクトリ自身が含まれてしまうことを 回避できるかと思います。 そこで、ご意見募集です。 /\{dir\}/ というパターンは (1) "/" + " dir/ の1回以上の繰り返し" に一致させる (2) "/" + " dir/ の0回以上の繰り返し" に一致させる (3) "/" + " dir/ の0回以上の繰り返し" に一致させるが、 /\{dir\}/ という パターンで終わる指定を禁止するという制約を付ける のどれが良いと思いますか?