私の/etc/hosts.allowに次の行があります。
sshd: 1.2.3.4 : spawn (echo `date` ALLOWED from %a >> /var/log/%d.log) &
問題は、dateコマンドが時間を標準形式で印刷することです。
Thu May 16 15:54:55 CEST 2013
私のスクリプトで処理するのは複雑です。たとえば、次の形式を取得するにはdate
独自の形式を指定する必要があります。date "+%F %T"
2013-05-16 16:01:07
特殊文字(%)をエスケープしても、以下は機能しません。
sshd: 1.2.3.4 : spawn (echo `date "+\%F \%T` ALLOWED from %a >> /var/log/%d.log)
誰でもアドバイスできますか?
答え1
パーセント記号を2倍に増やすと機能します。
sshd: 1.2.3.4 : spawn (echo `date "+%%F %%T"` ALLOWED from %a >> /var/log/%d.log) &
詳しくは、該当する「%拡張」セクションを参照してください。マンページ( hosts_access(5)
)。