コマンドの拡張: コマンドメールの場合 「拡張した機能を許可する範囲」が制御できます。 このホスト上の「全てのMLで利用可能な」コマンドを作りたい場合は、 拡張したモジュールを /usr/local/lib/fml/site_local/ 以下に配置して下さい。 一方、特定のMLだけで利用可能な機能拡張であれば、 各MLのホーム以下の local/lib/ 以下において下さい。 MLのホーム/local/lib/ 例: elena ( ML のホームが /var/spool/ml/elena/ ) /var/spool/ml/elena/local/lib/ 一般ユーザ用の独自コマンドを作る。 ユーザ向けのコマンド uja を作りたい場合、 (1) FML::Command::User 以下のモジュールから適当にコピー&ペーストして /usr/local/lib/fml/site_local/FML/Command/User/uja.pm というファイルを作ってください。 (2) 次に、設定ファイルで uja を許可してください。 すべてのMLで有効にする場合は、 site_default_config.cf で、 「許可するコマンドのリスト」に追加してください。 user_command_mail_allowed_commands += uja user_command_mail_allowed_commands 変数は、 一般ユーザに許すコマンドのリスト一覧です。 elena MLだけで有効にする場合は、 elena MLの config.cf で、 許可するコマンドリストに追加してください。 user_command_mail_allowed_commands += uja admin uja コマンドを作る。 管理者向けのコマンド(admin コマンド)の uja を作りたい場合、 FML::Command::Admin 以下から適当にコピー&ペーストして /usr/local/lib/fml/site_local/FML/Command/Admin/uja.pm というファイルをつくってください。 すべてのMLでコマンドを有効にする場合は、 site_default_config.cf で、 許可するコマンドリストに追加してください。 admin_command_mail_allowed_commands += uja admin_command_mail_allowed_commands 変数は 管理者に許すコマンドのリスト一覧です。 elena MLだけで有効にする場合は、 elena MLの config.cf で、 許可するコマンドリストに追加してください。 admin_command_mail_allowed_commands += uja コマンドの拡張: makefml の場合 このホスト全ての ML で有効にする場合、 拡張するモジュールを /usr/local/lib/fml/site_local/ 以下に配置して下さい。 一方、特定のMLだけを拡張する場合は、 各MLのホーム以下の local/lib/ 以下において下さい。 MLのホーム/local/lib/ 例: /var/spool/ml/elena/local/lib/ 以下では、すべてのMLで有効にする場合を考えます。 makefml でコマンド uja を作りたい場合、 FML::Command::Admin 以下から適当にコピー&ペーストして /usr/local/lib/fml/site_local/FML/Command/Admin/uja.pm というファイルをつくるだけで有効になります makefml では「モジュールを置くだけで有効」になります。 許されるコマンド一覧 *_allowed_commands 系の変数設定変更は不要です。 makefml を利用できる時点で、 そのMLサーバの特権権限を奪取できているわけですから、 それ以上複雑な制限をつけても使いにくいだけでしょうから。 コマンドの拡張: CGI の場合 以下の記述で「利用可能な機能の追加」が出来ますが、 別途 CGI 画面の作り込みが必要です。 このホスト上のすべてのMLで有効にする場合、 拡張するモジュールを /usr/local/lib/fml/site_local/ 以下に配置して下さい。 一方、 特定のMLだけを拡張する場合は、 各MLのホーム以下の local/lib/ 以下において下さい。 MLのホーム/local/lib/ 例: /var/spool/ml/elena/local/lib/ 以下では、すべてのMLで有効にする場合を考えます。 CGI での拡張は、一般ユーザ向けということは少なく、 たいていは管理者向けのものと考えます。 よって、以下、管理者向け機能拡張のみを取り上げます。 管理者向けのコマンド uja を作りたい場合、 FML::Command 以下から適当にコピー&ペーストして /usr/local/lib/fml/site_local/FML/Command/Admin/uja.pm というファイルを作ってください。 すべてのMLで uja コマンドを有効にしたい場合、 site_default_config.cf で、 許可するコマンドリストに追加してください。 admin_cgi_allowed_commands += uja admin_cgi_allowed_commands 変数は、 管理者用 CGI インターフェイスで許可するコマンドの一覧です。 elena MLだけで有効にする場合は、 elena MLの config.cf で、 許可するコマンドリストに追加してください。 admin_cgi_allowed_commands += uja