コマンドの拡張: コマンドメールの場合
「拡張した機能を許可する範囲」が制御できます。
このホスト上の「全ての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