diff options
| author | Ken'ichi Fukamachi <fukachan@fml.org> | 2018-09-16 15:41:09 +0900 |
|---|---|---|
| committer | Ken'ichi Fukamachi <fukachan@fml.org> | 2018-09-16 15:41:09 +0900 |
| commit | 6f983739de5b5c3229d2bef06004adbdd7010fe1 (patch) | |
| tree | 8a007943a11c0061d774a6332e110135aa7d2f4a | |
| parent | c10f8eff1f70519fce4a3eaa166dff4ad79d7c68 (diff) | |
| download | fml8-6f983739de5b5c3229d2bef06004adbdd7010fe1.tar.gz fml8-6f983739de5b5c3229d2bef06004adbdd7010fe1.tar.bz2 fml8-6f983739de5b5c3229d2bef06004adbdd7010fe1.zip | |
reviewed. alignment cosmetics.
| -rw-r--r-- | fml/doc/ja/tutorial/command/dataflow.sgml | 56 | ||||
| -rw-r--r-- | fml/doc/ja/tutorial/command/extension.sgml | 36 | ||||
| -rw-r--r-- | fml/doc/ja/tutorial/command/internal.sgml | 76 | ||||
| -rw-r--r-- | fml/doc/ja/tutorial/command/module.sgml | 21 |
4 files changed, 116 insertions, 73 deletions
diff --git a/fml/doc/ja/tutorial/command/dataflow.sgml b/fml/doc/ja/tutorial/command/dataflow.sgml index 6f3a32f7..b765e3ce 100644 --- a/fml/doc/ja/tutorial/command/dataflow.sgml +++ b/fml/doc/ja/tutorial/command/dataflow.sgml @@ -14,9 +14,10 @@ --> <para> -すべてのコマンド(&fml8; への命令)処理は最終的に「FML::Command」クラス -経由で「FML::Command::モード::コマンド」クラスを呼び出します。GUI およ -び CUI、コマンドメールは、そこに至る前処理の段階が異なるだけです。 +すべてのコマンド(&fml8; への命令)処理は、 +最終的に「FML::Command」クラス経由で +「FML::Command::モード::コマンド」クラスを呼び出します。 +GUI および CUI、コマンドメールは、そこに至る前処理段階が異なるだけです。 </para> @@ -32,7 +33,7 @@ </caution> <para> -本節はコマンドメールの話です。 +本節は、コマンドメールの話です。 メールの本文が複数行あり、それが複数の命令を含むと想定します。 </para> @@ -42,22 +43,27 @@ </para> <para> -空行を無視するなどの基本的な処理の後、コマンド(行の先頭の文字列)が、現 -在のコンテキストで許されるコマンドか否か?を確認します。 +空行を無視するなどの基本的な処理の後、 +コマンド(行の先頭の文字列)が、 +現在のコンテキストで許されるコマンドか否か?を確認します。 </para> <para> 1) guide や subscribe のようにメンバー以外にも許されるコマンドであれば、 そこから直接、コマンド呼び出しルーチンへ処理が移ります。 - ここで許されるコマンドは anonymous_command_mail_allowed_commands + ここで許されるコマンドは + anonymous_command_mail_allowed_commands 変数で定義されているコマンドです。 </para> <para> 2) あらかじめ指定されたユーザだけに許されるコマンドの場合、 - command_mail_restrictions のルールに従って他の条件を確認し、 - 許されたなら、呼び出しルーチンへ処理が移ります。 - ここで許されるコマンドは user_command_mail_allowed_commands + command_mail_restrictions + のルールに従って他の条件を確認し、 + コマンドの実行が許される場合のみ、 + コマンド呼び出しルーチンへ処理が移ります。 + ここで実行が許されるコマンドは + user_command_mail_allowed_commands で定義されているコマンドです。 </para> @@ -69,7 +75,7 @@ <para> 「呼び出しルーチン」では、 (コマンドに依存した)返事の送り先の確認と -(コマンドに依存する)シンタックスチェックを経て、 +(コマンドに依存する)シンタックスチェックをへて、 FML::Command クラス経由でコマンドが実行されます。 この実行は一般ユーザ権限で実行されます。 </para> @@ -83,11 +89,15 @@ admin コマンドの実行は、ここでは行なわれません。 注: admin コマンドは user_command_mail_allowed_commands で許されています </para> </footnote> -の実行として処理が進められ、最終的に「FML::Command::User::admin」クラ -スが呼び出されます。このクラスの中で、admin_command_mail_restrictions -変数 に基づいてリモート権限があるか?が確認され、もう一度 -「FML::Command」クラス経由で管理者権限の「FML::Command::Admin::コマン -ド」クラスが呼び出されます(つまりトランポリン・メカニズムです)。 +の実行として処理が進められ、 +最終的に「FML::Command::User::admin」クラスが呼び出されます。 +このクラスの中で、 +admin_command_mail_restrictions 変数 にもとづいて、 +このユーザはリモートコマンドを実行する権限があるか?が確認されます。 +その後、もう一度 +「FML::Command」クラス経由で、 +管理者権限の「FML::Command::Admin::コマンド」クラスが呼び出されます +(つまりトランポリン・メカニズムです)。 </para> </sect2> @@ -100,15 +110,17 @@ admin コマンドの実行は、ここでは行なわれません。 <para> このプログラムを使える時点で管理者権限(MLのサーバにリモートで入り、 -ユーザ fml に su できる権限)があるはずです。よって、特別な制限はありま -せん。FML::Command経由で「FML::Command::Admin::コマンド」クラスを直接 -呼び出しています。 +ユーザ fml に su できる権限)があるはずです。 +よって、特別な制限はありません。 +FML::Command 経由で +「FML::Command::Admin::コマンド」クラスを直接呼び出しています。 </para> <para> -なお、サーバへリモートからログインするためには SSH で「RSA 2048 ビット -以上の鍵のみを許す、パスワード認証は認めない」といった強固な運用ルール -を課して下さい。 +なお、 +サーバへリモートからログインするためには +SSH で「RSA 2048 ビット以上の鍵のみを許す、パスワード認証は認めない」 +といった強固な運用ルールを課して下さい。 </para> </sect2> diff --git a/fml/doc/ja/tutorial/command/extension.sgml b/fml/doc/ja/tutorial/command/extension.sgml index 5f388670..82bca753 100644 --- a/fml/doc/ja/tutorial/command/extension.sgml +++ b/fml/doc/ja/tutorial/command/extension.sgml @@ -71,7 +71,8 @@ FML::Command::User 以下のモジュールから適当にコピー&ペーストして </para> <para> -すべてのMLで有効にする場合は、site_default_config.cf で、 +すべてのMLで有効にする場合は、 +site_default_config.cf で、 「許可するコマンドのリスト」に追加してください。 <screen> user_command_mail_allowed_commands += uja @@ -81,7 +82,8 @@ user_command_mail_allowed_commands 変数は、 </para> <para> -elena MLだけで有効にする場合は、elena MLの config.cf で、 +elena MLだけで有効にする場合は、 +elena MLの config.cf で、 許可するコマンドリストに追加してください。 <screen> user_command_mail_allowed_commands += uja @@ -106,7 +108,8 @@ FML::Command::Admin 以下から適当にコピー&ペーストして </para> <para> -すべてのMLでコマンドを有効にする場合は、site_default_config.cf で、 +すべてのMLでコマンドを有効にする場合は、 +site_default_config.cf で、 許可するコマンドリストに追加してください。 <screen> admin_command_mail_allowed_commands += uja @@ -116,7 +119,8 @@ admin_command_mail_allowed_commands 変数は </para> <para> -elena MLだけで有効にする場合は、elena MLの config.cf で、 +elena MLだけで有効にする場合は、 +elena MLの config.cf で、 許可するコマンドリストに追加してください。 <screen> admin_command_mail_allowed_commands += uja @@ -142,7 +146,8 @@ admin_command_mail_allowed_commands += uja /usr/local/lib/fml/site_local/ </screen> 以下に配置して下さい。 -一方、特定のMLだけを拡張する場合は、各MLのホーム以下の local/lib/ +一方、特定のMLだけを拡張する場合は、 +各MLのホーム以下の local/lib/ 以下において下さい。 <screen> MLのホーム/local/lib/ @@ -173,8 +178,9 @@ makefml では「モジュールを置くだけで有効」になります。 </para> <para> -makefml を利用できる時点で、そのMLサーバの特権権限を奪取できているわ -けですから、それ以上複雑な制限をつけても使いにくいだけでしょうから。 +makefml を利用できる時点で、 +そのMLサーバの特権権限を奪取できているわけですから、 +それ以上複雑な制限をつけても使いにくいだけでしょうから。 </para> @@ -192,7 +198,7 @@ makefml を利用できる時点で、そのMLサーバの特権権限を奪取できているわ <para> 以下の記述で「利用可能な機能の追加」が出来ますが、 -それとは別に CGI 画面の作り込みは必要です。 +別途 CGI 画面の作り込みが必要です。 </para> <para> @@ -205,7 +211,9 @@ makefml を利用できる時点で、そのMLサーバの特権権限を奪取できているわ </para> <para> -一方、特定のMLだけを拡張する場合は、各MLのホーム以下の local/lib/ +一方、 +特定のMLだけを拡張する場合は、 +各MLのホーム以下の local/lib/ 以下において下さい。 <screen> MLのホーム/local/lib/ @@ -236,17 +244,19 @@ FML::Command 以下から適当にコピー&ペーストして </para> <para> -すべてのMLで uja コマンドを有効にしたい場合、site_default_config.cf で、 +すべてのMLで uja コマンドを有効にしたい場合、 +site_default_config.cf で、 許可するコマンドリストに追加してください。 <screen> admin_cgi_allowed_commands += uja </screen> -admin_cgi_allowed_commands 変数は管理者用 CGI インターフェイスで許可す -るコマンドの一覧です。 +admin_cgi_allowed_commands 変数は、 +管理者用 CGI インターフェイスで許可するコマンドの一覧です。 </para> <para> -elena MLだけで有効にする場合は、elena MLの config.cf で、 +elena MLだけで有効にする場合は、 +elena MLの config.cf で、 許可するコマンドリストに追加してください。 <screen> admin_cgi_allowed_commands += uja diff --git a/fml/doc/ja/tutorial/command/internal.sgml b/fml/doc/ja/tutorial/command/internal.sgml index 69260334..f1fd3acf 100644 --- a/fml/doc/ja/tutorial/command/internal.sgml +++ b/fml/doc/ja/tutorial/command/internal.sgml @@ -12,7 +12,7 @@ <para> コマンドの典型である『ファイルを送り返す』だけの help コマンドを例にとり、 -相違点を説明しましょう。 +&fml4;と &fml8; のコードの相違点を説明しましょう。 </para> <para> @@ -23,7 +23,7 @@ help コマンドを例にとり、 'help', 'myProcHelpFileSendBack', ); </screen> -myProcHelpFileSendBack をあえて書き下すと、つぎのようなものでしょう。 +myProcHelpFileSendBack をあえて書きくだすと、次のようなものでしょう。 <screen> sub myProcHelpFileSendBack { @@ -35,7 +35,7 @@ sub myProcHelpFileSendBack </para> <para> -一方、&fml8; では help ファイルを送り返すコードの実体は +一方、&fml8; の help ファイルを送り返すコードの実体は FML::Command::User::help にあり、 FML::Process::Command クラスから (FML::Command の AUTOLOAD を経由して)呼び出されます。 @@ -43,8 +43,12 @@ FML::Process::Command クラスから <warning> <para> -全てのコマンドは「FML::Command::User::コマンド」クラスもしくは -「FML::Command::Admin::コマンド」クラスとして実装されています。なお +全てのコマンドは +「FML::Command::User::コマンド」 +もしくは +「FML::Command::Admin::コマンド」 +クラスとして実装されています。 +なお makefml は「FML::Command::Admin::コマンド」を使います。 コマンドメールや CGI は User や Admin を権限に応じて適宜使い分けます。 </para> @@ -80,34 +84,38 @@ sub process } } </screen> -ここで $curproc はハッシュリファレンスで、&fml4; の %Envelope におおむ -ね相当します。名前の通り、Unix カーネルでおなじみの current process 構 -造体へのポインタのようなもので、プロセスに関連するいろいろなデータ構造 -やオブジェクトへのリファレンスを含んでいます。 +ここで $curproc はハッシュリファレンスで、 +&fml4; の %Envelope におおむね相当しています。 +名前のとおり、 +Unix カーネルでおなじみの current process 構造体へのポインタのようなもので、 +プロセス関連の様々なデータ構造やオブジェクトへのリファレンスを含んでいます。 </para> <para> -&fml4; の変数は、すべてグローバル変数です。一方 &fml8; では $config オ -ブジェクトを通じてアクセスできる設定変数空間の中にあります。常に -$config オブジェクトを通じて読み書きをしてください。 +&fml4; の変数は、すべてグローバル変数です。 +一方 &fml8; では +$config オブジェクトを通じてアクセスできる設定変数空間の中にあります。 +よって、つねに $config オブジェクトを通じて読み書きをしてください。 </para> <para> -reply_message_prepare_template() メソッドは送り返すメッセージのテンプ -レート中にある変数の展開や文字コード変換を行ない、生成されたテンプレー -トへのファイルパスを返します(テンプレートファイルは $tmp_dir ディレク -トリに作られます)。 +reply_message_prepare_template() メソッドは、 +送り返すメッセージのテンプレート中にある変数の展開や文字コード変換を行ない、 +生成されたテンプレートへのファイルパスを返します +(テンプレートファイルは $tmp_dir ディレクトリに作られます)。 </para> <para> -首尾良くテンプレートファイルを用意できたら、 -$curproc->reply_message() というプロセス全体のメッセージ処理を行なう関 -数群のトップレベルメソッドを呼び出し、メッセージの返送処理を依頼します。 +首尾よくテンプレートファイルを用意できたなら、 +$curproc->reply_message() +というプロセス全体のメッセージ処理を行なうトップレベルのメソッドを呼び出し、 +メッセージの返送処理を依頼します。 </para> <para> -$curproc->reply_message() は引数によって振舞いがことなりますが、 -いずれにせよ、メッセージをメッセージキューに入れるメソッドです。 +$curproc->reply_message() は引数によって振舞いが異なりますが、 +いずれにせよ、 +メッセージをメッセージキューに入れるメソッドです。 </para> <para> @@ -116,10 +124,11 @@ $curproc->reply_message() は引数によって振舞いがことなりますが、 </para> <para> -メッセージキューに入れられたメッセージ群は、プロセスの終了直前に受信者 -ごとにメッセージがまとめられ一通のメールとして組み立てなおされます。 -メッセージキューの種類がファイルとメッセージが混在している場合は適宜 -MIME マルチパートのメッセージが生成されます。 +メッセージキューに入れられたメッセージ群は、 +プロセスの終了直前に受信者ごとにメッセージがまとめられ、 +一通のメールとして組み立てなおされます。 +メッセージキューの種類がファイルとメッセージが混在している場合は、 +適宜 MIME マルチパートのメッセージが生成されます。 </para> <para> @@ -130,16 +139,19 @@ Mail::Delivery クラスが送信処理を担当するモジュールです。 </para> <para> -この返送の大筋は &fml4; の Notify() と同様ですが、あらゆるメッセージが -一度キューに入れられ、最後に一気に処理されるという点で大きく異なります。 +この返送の大筋は &fml4; の Notify() と同様ですが、 +あらゆるメッセージが一度キューに入れられ、 +最後に一気に処理されるという点で大きく異なります。 </para> <para> -なお get コマンドなども同じキューイングの仕組みを使っています。つまり -&fml4; の Notify() 相当部分が(通常の記事配送以外の)あらゆる送信機能を -担当し、かつキューイングのみをします。そしてキューイングされたメッセー -ジは最後に一気に処理されます。この点において、送信のキューイングのメカ -ニズムが &fml4; と大きく異なっているわけです。 +なお get コマンドなども同じキューイングの仕組みを使っています。 +つまり &fml4; の Notify() 相当部分が +(通常の記事配送以外の)あらゆる送信機能を担当し、 +かつキューイングのみをします。 +そしてキューイングされたメッセージは最後に一気に処理されます。 +この点において、 +送信のキューイングのメカニズムが &fml4; と大きく異なっているわけです。 </para> </sect1> diff --git a/fml/doc/ja/tutorial/command/module.sgml b/fml/doc/ja/tutorial/command/module.sgml index 001bd40b..d7810955 100644 --- a/fml/doc/ja/tutorial/command/module.sgml +++ b/fml/doc/ja/tutorial/command/module.sgml @@ -9,10 +9,16 @@ </title> <para> -&fml8; では、コマンドメール、makefml そして CGI が使うモジュールは共有 -されています。ただし、その権限の差異によって、一般ユーザ用のモジュール -と管理者用のモジュールの2つに大きく分かれています。以下、これらのモジュー -ル群の構成について解説します。 +&fml8; では、 +コマンドメール、 +makefml +そして +CGI +が使うモジュールは共有されています。 +ただし、 +その権限の差異によって、 +一般ユーザ用のモジュールと管理者用のモジュールの2つに大きく分かれています。 +以下、これらのモジュール群の構成について解説します。 </para> <para> @@ -35,7 +41,8 @@ FML::Command::User::コマンド </title> <para> -FML::Process::Command から +FML::Process::Command +から FML::Command 経由で 「FML::Command::User::コマンド」 を呼び出しています。 @@ -104,7 +111,9 @@ CGI も一般ユーザむけの CGI と管理者用の CGI があります。 </para> <para> -管理者用の CGI については、それを実行できる時点で、 +管理者用の CGI については、 +この CGI を実行できる時点で、 +(認証をパスしており) 管理者権限があるとみなされています。 </para> </warning> |
