Romain Rolland「真であるがゆえに私は信じる」より
ロマン・ロラン22歳の頃、自身に課した規範。
Credo Quia Verum 1888
- 生活に目的を定めること。一つの仕事を己に課すること。
- その目的に添うように自分の努力を方向づけ、意志を確定すること。
- 自分の行動の対象を自己自身の中に求めずに、外に求めること。
- 他に役立つものになること。積極的で具体的にそうなること。善を行なう一般的な機会を逃がすことなく、他人の誰かの幸福のために尽くすことに自分の生活を捧げること。自分の慈悲や愛をあいまいな感傷に終わらせないように特に心掛けること。
- 真実を求めることを決してやめないこと。もし真実が得られたらそれをできるだけ他人にも享受させること。ただしそれを他人に押しつけないこと。
dzenを用いた,簡単なnotifier
dzenは,いかにもUnix思想を受け継いだような,シンプルな汎用のメッセージ表示/メニュツールです.
一日中PCに向っていると目によくないので,一時間ごとに眼球体操していますが,忘れないために書いてあったタイマスクリプト(同様なツールは既存にありますが)をdzenを用いたshスクリプトに書きかえてみました.
前のはまともなウィンドウを使っていたので,タイムアップ時がぎょうぎょうしかったが,おかげで精神衛生上も好ましくなりました.awesome環境で使っています.
使用例
メッセージのサイズ,位置,色などは環境依存,好みです.
#! /bin/sh export self=${self:-$0} export duration=${duration:-${1:-60}} # font='-bitstream-bitstream vera sans mono-medium-r-normal-*-14-*-*-*-*-*-*-*,-sazanami-gothic-medium-r-normal-*-14-*-*-*-*-*-jisx0208.1983-*' paramDzen=( -p -fg white -bg red -w 300 -tw 300 -x -310 -y -30 -l 3 -sa c -e 'button1=exit:0;button3=exit:1;key_Return=exit:0;key_Escape=exit:1;leaveslave=collapse,ungrabkeys;entertitle=uncollapse,grabkeys' ) # -fn "${font}" mes="${duration}分 左クリック, Return: 続行 右クリック, Escape: 終了" if (date; echo "${mes}")|nkf -w|dzen2 "${paramDzen[@]}"; then (export; cat "${self}")|at now + ${duration}minutes >/dev/null 2>&1 fi &
sshguardの導入(Debian sid編)
SSH向けブルートフォースアタックのログが目につくので導入.SSHDの設定のみでは対処できないようなので…
SSHデーモン自体は鍵認証のみ許可の設定になっているので侵入される心配はないと思うが,システムのリソースを喰われる.
具体的な導入方法については検索でヒットするので,そちらを参照してください.
サマリ
/etc/network/if-up.d/sshguard
以下の内容でファイルを作成し実行権をつける.eth0の部分は自分のシステムのものに修正してください.また,ネットワークインタフェースが落るとき,チェインsshguardを消すスクリプトも必要です(当面サボリ).
#!/bin/sh [ "$IFACE" = eth0 ] || exit 0 iptables -N sshguard iptables -A INPUT -p tcp --dport 22 -j sshguard
追加したらネットワークインタフェースをdown→upする.
/etc/syslog-ng/syslog-ng.conf
以下を最後に追加.
# pass only entries with auth+authpriv facilities that contain sshd filter sshlogs { facility(auth, authpriv) and match("sshd"); }; # pass to this process with this template (avoidsprefixes) destination sshguardproc { program("/usr/local/sbin/sshguard" template("$DATE $FULLHOST $MESSAGE\n")); }; log { source(s_all); filter(sshlogs); destination(sshguardproc); };
修正後,syslog-ngに設定ファイルをreloadさせる.
killall -HUP syslog-ng
ログ例: アタックサイトからのパケットの拒否と,一定時間後の解除
Dec 20 14:02:48 hikari sshd[24504]: Did not receive identification string from 218.6.128.2 Dec 20 14:02:48 hikari sshguard[2166]: Matched IP address 218.6.128.2 Dec 20 14:13:19 hikari sshd[2473]: Invalid user staff from 218.6.128.2 Dec 20 14:13:19 hikari sshguard[2166]: Matched IP address 218.6.128.2 Dec 20 14:13:27 hikari sshd[2612]: Invalid user sales from 218.6.128.2 Dec 20 14:13:27 hikari sshguard[2166]: Matched IP address 218.6.128.2 Dec 20 14:13:35 hikari sshd[2764]: Invalid user recruit from 218.6.128.2 Dec 20 14:13:35 hikari sshguard[2166]: Matched IP address 218.6.128.2 Dec 20 14:13:35 hikari sshguard[2166]: Blocking 218.6.128.2: 4 failures over 647 seconds. Dec 20 14:13:35 hikari sshguard[2166]: Setting environment: SSHG_ADDR=218.6.128.2;SSHG_ADDRKIND=4;SSHG_SERVICE=100. Dec 20 14:13:35 hikari sshguard[2166]: Run command "case $SSHG_ADDRKIND in 4) exec /sbin/iptables -A sshguard -s $SSHG_ADDR -j DROP ;; 6) exec /sbin/ip6tables -A sshguard -s $SSHG_ADDR -j DROP ;; *) exit -2 ;; esac": exited 0. Dec 20 14:23:01 hikari sshguard[2166]: Releasing 218.6.128.2 after 566 seconds. Dec 20 14:23:01 hikari sshguard[2166]: Setting environment: SSHG_ADDR=218.6.128.2;SSHG_ADDRKIND=4;SSHG_SERVICE=100. Dec 20 14:23:01 hikari sshguard[2166]: Run command "case $SSHG_ADDRKIND in 4) exec /sbin/iptables -D sshguard -s $SSHG_ADDR -j DROP ;; 6) exec /sbin/ip6tables -D sshguard -s $SSHG_ADDR -j DROP ;; *) exit -2 ;; esac": exited 0.
参考にさせてもらったリンク
- sshguard本家
- sshguard試してみた@hollyさんのblog
- ssh ブルートフォースアタックについて。@technoさんのblog
- sshguard: Current implementation skip any other iptables rules(現実装の問題点)
XMMS2でlast.fmからScrobbleしながら曲を聴く
last.fmを試してみたらとても気に入ってしまったが,ブラウザで聴くのはデバイスが衝突するなど,ちょっとまずいのでxmms2で聴けないかといろいろ調べた.
以下Debian環境での話.last.fmへはあらかじめユーザ登録しておく.
apt-getするxmms2プラグインパッケージ
(デコード関連は繁雑になるので省略)
- xmms2-plugin-curl
- xmms2-plugin-icymetaint
- xmms2-plugin-lastfm
- xmms2-scrobbler
ディレクトリの作成,シンボリックリンク
ln -s ~/.config/xmms2 ~/.xmms2 mkdir -p ~/.config/xmms2/clients/xmms2-scrobbler ln -s /usr/bin/xmms2-scrobbler ~/.config/xmms2/startup.d/
Scrobbleするための設定
~/.config/xmms2/xmms2.conf
…… パスワード 50 ユーザ名
~/.config/xmms2/clients/xmms2-scrobbler/config
user: ユーザ名 password: パスワード
サーバをデバッグモードで再起動
killall xmms2d xmms2d -d
聴きたいチャンネルの設定
(以下,コマンドラインクライアントでの話.他のクライアントの場合は読み替える事)
xmms2 add lastfm://globaltags/タグ xmms2 add lastfm://user/ユーザ名/personal xmms2 add lastfm://user/ユーザ名/recommended xmms2 add lastfm://user/ユーザ名/neighbours xmms2 add lastfm://artist/アーティスト名
…など
聴く
xmms2 play
ひとつのチャンネルを流しっぱなしにする設定
このへんはまだ挙動がよくわかってない.うまくゆかない場合は以下を試すこと.
xmms2 config playlist.repeat_all 1
または
xmms2 config playlist.repeat_one 1
Total Commander用新SFTPプラグイン
Linux上ではMCを愛用している関係上,Windows環境でのファイル作業はTotal Commander(TC)を使っている.
SFTPによるファイル転送は,ずっとTC用プラグインを使っていたが,昨日サーバになぜか継がらなくなってしまった.しかたないのでWindows上FTPクライアントをいくつか試したけど,自分に合ったものがみつからない.
困っていたところ,上記のプラグインのページに新しいSFTPプラグインがあるとの記述を見つけたので,インストールしてみたところ小さくシンプルなところが気に入ってしまった.まだβのようだけど,しばらく使ってみることにする.
旧プラグインの認証用の鍵はputtyベースのものだったが,このプラグインはそれに加えOpenSSHベースのものを使えるようだ.以前CygwinのOpenSSHで生成した鍵がすでにあったのでそれをそのまま使用した.なお,秘密鍵の登録の際,ファイル名拡張子が.pemでないとはねられてしまう.リネームすること.
Firefox3(Linux)での縮小画像の表示問題
Firefox3 RC1が公開された.ベータ5から早速入れ替えたがNVIDIAドライバとXサーバの不一致に起因する画像(非)表示問題はまだ残っていた(リリースノート).
BTSは追い切れなかったが,試しに以下をxorg.confへ設定してみた所うまく表示できたので,しばらく様子を見てみよう.
ドライバのアクセラレーションにはXAAとEXAの2方式があってEXAの方が新しいのだが,当該問題はXAAの方で起きているようなので,新しい方がいいだろうという気持ちで試してみたのが理由.
追記
今までスクロールがカクカクとひっかかる感じだったサイトがこの変更でスムースになった.
xorg.conf
Section "Device" Identifier "ATI Technologies Inc RV280 [Radeon 9200 PRO]" Driver "ati" Option "AccelMethod" "EXA" EndSection
Unipress Emacsのマニュアルの表紙と目次
Unipress Emacsのマニュアル(印刷)を低解像度スキャナで取り込んだもの.
.emacs_proの記事の補足
表紙
James Goslingの名前がある
目次1
一角獣のイラストはだれのデザインなのだろうか?Unipress→Unicornとも,Unix→Unicornとも取れる.
CMU(Carnegie Mellon University)時代のJames Goslingによる執筆のようだ.ただしEmacs自体は1981年開発だったと思う.
目次2
electric-c-mode, electric-lisp-modeはだいぶお世話になった.
目次3
このEmacsで初めてインクリメンタルサーチに触れた時の驚きは強烈だったが,マニュアルの「20.8 incr-search」によるとITS Emacsに既にあった事になる.思っていたより昔からあったのにはまた驚き.