48.5.2.2.3. シェルコマンド
オプションフィールドを使用すると、次の 2 つのディレクティブを使用してシェルコマンドを起動できるようになります。
- Launchs: シェルコマンドを子プロセスとして起動します。このディレクティブは、/usr/sbin/safe_finger を使用して、要求しているクライアントに関する詳細情報を取得したり、echo コマンドを使用して特別なログファイルを作成したりできます。以下の例では、
example.com
ドメインから Telnet サービスにアクセスしようとするクライアントは、特別なファイルに記録されます。in.telnetd : .example.com \ : spawn /bin/echo `/bin/date` from %h>>/var/log/telnet.log \ : allow
- twist: 要求されたサービスを、指定したコマンドに置き換えます。このディレクティブは、多くの場合、侵入者(honey pots とも呼ばれる)のトラップを設定するために使用されます。また、接続しているクライアントへのメッセージ送信にも使用できます。twist ディレクティブは、ルール行の最後に行われる必要があります。以下の例では、
example.com
ドメインから FTP サービスにアクセスしようとするクライアントには、echo コマンドを使用してメッセージを送信します。vsftpd : .example.com \ : twist /bin/echo "421 This domain has been black-listed. Access denied!"
シェルコマンドオプションの詳細は、man ページの
hosts_options
を参照してください。