Last Update: 2006/1/4
このページ、見辛くてすごく好き。
| 項目 | カテゴリ | 登録日 | 更新日 |
| ・ Windows2000 標準のパケットフィルタリングの制約。 | Windows | 2003/11/18 | |
| ・ FreeBSD で ISO image (ほか) を mount する。( 5.0-RELEASE 以降? ) | FreeBSD | 2003/11/18 | |
| ・ FreeBSD で稼働中に SCSI-HDD を抜き差しして認識させる。 | FreeBSD | 2003/11/18 | |
| ・ FreeBSD を更新〜。 | FreeBSD | 2003/12/29 | 2004/3/4 |
| ・ FreeBSD jail 環境を更新〜。 | FreeBSD | 2003/12/3 | 2004/3/4 |
| ・ /bin/sh で [ の一行コマンド。 | Shell | 2003/12/6 | ・ /bin/sh でスクリプトで ftp えいやぁ。 | Shell | 2003/12/6 |
| ・ Perl で配列のクリア。 | Perl | 2003/12/6 | |
| ・ Perl で今日から何日前〜とか何日後〜とか取得。 | Perl | 2003/12/6 | |
| ・ cron で気をつけよう。 | UNIX | 2003/12/7 | |
| ・ postgreSQL(Ver 7.4.1) でデータベース初期化。 | postgreSQL | 2003/12/29 | |
| ・ Shift-JIS で展開してしまったファイルやディレクトリを削除。 | UNIX | 2004/9/20 | |
| ・ ゾンビな Apache を自動で再起動。 | UNIX | 2004/11/19 | |
| ・ Windows2000 以降の時刻同期について。 | Windows | 2005/2/5 | |
| ・ Apache で不要なリクエストメソッドを無効化。 | UNIX | 2005/3/25 | |
| ・ Solaris10 の smpatch で更新されない場合。 | Solaris | 2005/10/12 | |
| ・ Solaris10 で GUI を起動させなくする。 | Solaris | 2006/1/4 |
| ・ Windows2000 標準のパケットフィルタリングの制約。 | Windows |
|
inbound のみ。 outbound は全てスルー。 UDP プロトコルのフィルタリングは SPI 非対応のため、 DNS 応答も破棄してしまう。 ICMP はフィルタリング出来ない。 | |
| ・ FreeBSD で ISO image (ほか) を mount する。( 5.0-RELEASE 以降? ) | FreeBSD |
# mdconfig -a -t vnode -f <filename> -u 1 # mount -t <fstype> /dev/md1 /mnt ... よみよみ かきかき ... # umount /mnt # mdconfig -d -u 1 | |
| ・ FreeBSD で稼働中に SCSI-HDD を抜き差しして認識させる。 | FreeBSD |
# camcontrol rescan <bus:target:lun> | |
| ・ FreeBSD を更新〜。 | FreeBSD |
source を最新に。# cvsup -L 2 -g <supfile>スクリプト流す。(うちだと mkbuild.sh ) #!/bin/sh rm -rf /usr/obj/* cd /usr/src START_DATE=`date` make -j 8 buildworld && make -j 8 buildkernel KERNCONF=<kernelconfig> RES=$? if [ $RES = 0 ] ; then rm -rf /usr/src/root mkdir -p /usr/src/root cd /usr/src/etc make DESTDIR=/usr/src/root distrib-dirs distribution else echo "make build failed." fi END_DATE=`date` echo "start : $START_DATE" echo "end : $END_DATE"kernel 上書きして reboot。 ちゃんとぶぅとするようにお祈りしましょう。 # cd /usr/src && make installkernel KERNCONF=<kernelconfig> # sync; sync; sync; # shutdown -r nowまぁぢますたぁしていんすとるわるどしてりぶと。 シングルユーザモードでぶぅと。 <Enter> を空打ち ← /bin/sh でコンソールに。 # cd /usr/src # make installworld # rm -rf /etc.old && cp -Rp /etc /etc.old # mergemaster → jail環境も更新するなら FreeBSD jail 環境を更新〜。 # sync; sync; sync; # /sbin/fastbootNVidia 系の VGA カード使ってて、 Ports の nvidia-driver 使ってる場合はモジュールの再投入をお忘れなく。 # portupgrade -f nvidia-driver | |
| ・ FreeBSD jail 環境を更新〜。 | FreeBSD |
|
FreeBSD を更新〜。 を行っていることが前提。 ごさーーーっと Update する。 うちは自前スクリプトで mkjailupdate.sh <jailname> 。 # cd /usr/src # make installworld DESTDIR=<jailroot>jail 環境の /etc をまぁぢますたぁ。 ソースディレクトリは親環境のを使うので -m パラメータの指定なし。 こっちもうちは自前スクリプトで mergemasterjail.sh <jailname> 。パラメータなんて覚えられまへん。 # mergemaster -t <jailroot>/var/tmp/temproot -D <jailroot> # sync; sync; sync; # /sbin/fastbootりぶとー。 | |
| ・ /bin/sh で [ の一行コマンド。 | Shell |
if [ <expr> ]; then <command>; fi | |
| ・ /bin/sh でスクリプトで ftp えいやぁ。 | Shell |
ftp <servername> << EOF > /dev/null ... いろいろとほげほげ ... bye EOF | |
| ・ Perl で配列のクリア。 | Perl |
@<arrayname> = (); | |
| ・ Perl で今日から何日前〜とか何日後〜とか取得。 | Perl |
365日前。
( $sec, $min, $hour, $mday, $mon, $year, $wday, $yday, $isdst )
= localtime(time - ( 60 * 60 * 24 * 365 ));
$date_strmon = sprintf("%04d%02d", $year + 1900, $mon + 1, $mday);
30日後。
( $sec, $min, $hour, $mday, $mon, $year, $wday, $yday, $isdst )
= localtime(time + ( 60 * 60 * 24 * 30 ));
$date_strmon = sprintf("%04d%02d", $year + 1900, $mon + 1, $mday);
| |
| ・ cron で気をつけよう。 | UNIX |
|
Login 不許可なアカウント権限で cron 実行指示はできませぬ。 つまり、 /etc/passwd で Login Shell を /sbin/nologin とかで潰してるのに /etc/crontab にそのアカウントを指定して実行はできませんぃょぅ(・ω・)ノ | |
| ・ postgreSQL(Ver 7.4.1) でデータベース初期化。 | postgreSQL |
initdb --encoding EUC_JP --no-locale"--no-locale" を忘れると後でえらいことになります。(;_; | |
| ・ Shift-JIS で展開してしまったファイルやディレクトリを削除。 | UNIX |
|
いつもはアーカイブ内容を確認してからディレクトリを掘って展開するのですが、アレゲな画像とかデモムービーの圧縮ファイルを「一刻も早く確認したいから」なにも考えずに展開すると、そういうときに限って Shift-JIS のファイル名で展開されます。 漢字コードがわかるのなら、さくっと以下のようにやっちゃいましょう。 > ls ?????? ←わからぬ。 > ls | nkf -e アレゲな名前 ←わかった。 > echo アレゲな名前 | nkf -s | xargs rm | |
| ・ ゾンビな Apache を自動で再起動。 | UNIX |
なんか突然 Apache さんがゾンビな方になってしまわれるので困るので生き返らせるスクリプト。
#!/bin/sh
JID=`jls | grep "www" | awk '{ print $1 }'`
COUNT_ZOM=`ps -ax | grep sbin/httpd | grep -v grep | awk '{ print $3 }' | grep Z | wc -l`
COUNT_PRC=`ps -ax | grep sbin/httpd | grep -v grep | awk '{ print $3 }' | grep -v Z | wc -l`
↑ゾンビな httpd とゾンビじゃない httpd をカウント。
THRESHOLD_ZOM=2
THRESHOLD_PRC=1
if [ $COUNT_ZOM -ge $THRESHOLD_ZOM -o $COUNT_PRC -le $THRESHOLD_PRC ]; then
jexec $JID /usr/local/etc/rc.d/apache2.sh restart 2>&1 /dev/null
fi
↑閾値を超えたら強制 restart 。
cron に仕込んじゃいましょう。根本的な解決策じゃないところが素敵。
| |
| ・ Windows2000 以降の時刻同期について。 | Windows | ||||||||||||||||||||||||||||||||||||||||||||||
|
Windows XP の「コントロールパネル - 日付と時刻」のインターネット時刻タブで NTP サーバを指定して時刻同期が行えますが、 FreeBSD 標準実装の ntpd に対して時刻同期させるとなぜか失敗してしまいます。 なので以下のようにしましょう。
設定したら「日付と時刻のプロパティ」できちんと時刻同期されていることを確認しましょう。 | |||||||||||||||||||||||||||||||||||||||||||||||
| ・ Apache で不要なリクエストメソッドを無効化。 | UNIX |
|
Apache で使って欲しくないメソッドを使えないようにしてしまうのだ。 GET / HEAD / POST だけで十分。 ちなみにここでは Ports からインストールした www/apache2 を対象に。 www/apache13 でも大差はないかと。 ・ /usr/local/etc/apache2/httpd.conf mod_rewrite を使うので LoadModule rewrite_module libexec/apache2/mod_rewrite.soは有効にしておくー。
RewriteEngine on
RewriteCond %{REQUEST_METHOD} ^(TRACE|TRACK|OPTIONS)
RewriteRule .* - [F]
を末尾に追加。・ /usr/local/etc/apache2/ssl.conf SSL 経由でのメソッドを無効化する場合はこのファイルも編集する必要があるみたい。 httpd.conf に追加したのと同じものを VirtualHost セクションの中に適当に追加。 したら、 security/nessus とかでつついてみましょう。 参考: Apache URL Rewriting Guide | |
| ・ Solaris10 の smpatch で更新されない場合。 | Solaris |
|
smpatch update をたたいてもまったく更新されない、そんな時! ※以前に smpatch update を ^C などで強制終了していた場合に起こるみたい。 # cd /var/sadm/spool/cache/ # rm https%3A%2F%2Fupdateserver.sun.com%2Fsolaris%2F%2Fdetectors.jar # rm https%3A%2F%2Fupdateserver.sun.com%2Fsolaris%2F%2Fpatchdb.zip本当にこんなんでいいのかは知らん。 | |
| ・ Solaris10 で GUI を起動させなくする。 | Solaris |
|
GUI うぜぇっ! ssh でしかログインしねぇんだよっ! って時。 # /usr/dt/bin/dtconfig -d # /usr/dt/bin/dtconfig -kill詳細は dtloginを有効/無効にする方法 (Solaris User) を。 | |
何かあったらやさしく突っ込んでください。痛くしないでね。