MD5Transform.java ― 2011-09-17 09:04:25
OpenAMのJDBC認証時にMD5パスワードを扱いたかったので作ったもの.探がしかたが悪かったのか,適当なものが見つからなかった.ClearTextTransform以外もはじめから用意しててくれればいいのに.
package com.sun.identity.authentication.modules.jdbc;
import java.security.MessageDigest;
import java.security.NoSuchAlgorithmException;
import com.sun.identity.authentication.spi.AuthLoginException;
public class MD5Transform implements JDBCPasswordSyntaxTransform {
public MD5Transform() {
}
@Override
public String transform(String input) throws AuthLoginException {
System.out.println(input);
String result = toMD5HexString(input);
result = result.trim();
System.out.println(result);
return result;
}
private String toMD5HexString(String source) {
StringBuilder sb = new StringBuilder();
MessageDigest md;
try {
md = MessageDigest.getInstance("MD5");
byte[] data = source.getBytes();
md.update(data);
byte[] digest = md.digest();
for (int i = 0; i < digest.length; i++) {
String hex = Integer.toHexString((int) 0x00FF & digest[i]);
if (hex.length() == 1)
{
sb.append("0");
}
sb.append(hex);
}
} catch (NoSuchAlgorithmException e) {
e.printStackTrace();
}
return sb.toString();
}
}
有効期間切れアカウントのリストを作成する ― 2011-04-16 14:00:30
# cat /etc/shadow | awk -F":" '{if($8*86400!=0&&$8*86400<systime()){print $1}}'
だいたいこれで良さそうか。。
awk初心者なのでもっといいやりかたがあるかも。
Google Fusion Tablesのテスト ― 2011-03-24 06:40:32
いままで知らなかったけど、Google Fusion Tablesなるサービスがあるみたい。
http://www.google.com/fusiontables/
http://www.google.com/fusiontables/
Google Fusion Tablesは表形式のデータをグラフ化してくれるサービス(beta)。
CSVファイルの読み込みだけでなく、Google Spreadsheetからのインポートにも対応している。
とりあえず、東京電力が公開している消費電力データをグラフ化してみた。
http://www.tepco.co.jp.cache.yimg.jp/forecast/html/images/juyo-j.csv
6時段階のデータなのであまり見応えないけど。。。
まだ使い方わからないこと多いけど、
リアルタイムにデータ取り込んでグラフ化ということもできれば面白い。
sshdの設定 ― 2011-02-20 19:40:27
リモート接続用。
鍵交換方式による認証をとる。
rootは許可しない。
鍵交換方式による認証をとる。
rootは許可しない。
# grep -v "^#" /etc/ssh/sshd_config | grep -v "^$"
Port 2222
Protocol 2
SyslogFacility AUTHPRIV
PermitRootLogin no
RSAAuthentication yes
PubkeyAuthentication yes
AuthorizedKeysFile .ssh/authorized_keys
PasswordAuthentication no
ChallengeResponseAuthentication no
GSSAPIAuthentication yes
GSSAPICleanupCredentials yes
UsePAM yes
AcceptEnv LANG LC_CTYPE LC_NUMERIC LC_TIME LC_COLLATE LC_MONETARY LC_MESSAGES
AcceptEnv LC_PAPER LC_NAME LC_ADDRESS LC_TELEPHONE LC_MEASUREMENT
AcceptEnv LC_IDENTIFICATION LC_ALL
X11Forwarding yes
Subsystem sftp /usr/libexec/openssh/sftp-server
authorized_keysが無い場合はファイルを作る。
パーミッションを変更するのを忘れずに。
Port 2222
Protocol 2
SyslogFacility AUTHPRIV
PermitRootLogin no
RSAAuthentication yes
PubkeyAuthentication yes
AuthorizedKeysFile .ssh/authorized_keys
PasswordAuthentication no
ChallengeResponseAuthentication no
GSSAPIAuthentication yes
GSSAPICleanupCredentials yes
UsePAM yes
AcceptEnv LANG LC_CTYPE LC_NUMERIC LC_TIME LC_COLLATE LC_MONETARY LC_MESSAGES
AcceptEnv LC_PAPER LC_NAME LC_ADDRESS LC_TELEPHONE LC_MEASUREMENT
AcceptEnv LC_IDENTIFICATION LC_ALL
X11Forwarding yes
Subsystem sftp /usr/libexec/openssh/sftp-server
authorized_keysが無い場合はファイルを作る。
パーミッションを変更するのを忘れずに。
$ mkdir .ssh
$ chmod 700 .ssh
$ vi .ssh/authorized_keys
$ chmod 600 .ssh/authorized_keys
このファイルに公開鍵を挿入する。
$ cat id_rsa.pub > authorized_keys
PuTTYでエキスポートしたOpenSSH Keyファイルは変換が必要。
$ ssh-keygen -i -f id_rsa.pub.putty > id_rsa.pub
$ chmod 700 .ssh
$ vi .ssh/authorized_keys
$ chmod 600 .ssh/authorized_keys
このファイルに公開鍵を挿入する。
$ cat id_rsa.pub > authorized_keys
PuTTYでエキスポートしたOpenSSH Keyファイルは変換が必要。
$ ssh-keygen -i -f id_rsa.pub.putty > id_rsa.pub
ESXi再構築 ― 2011-02-20 11:36:46
HDD障害により、仮想マシンのハードディスクに障害が発生した。
復旧を試みるが、無理だった。
しかたないので新規一転、システム環境を再構築することにする。
とりあえず、ESXi 4.1をインストール。ついでにvSphere Clientも。
まず、リモートアクセス用のサーバ構築から始める。
データストアにCentOS 5.5 netinstall用のisoイメージをアップロードして、
新規仮想マシンでisoイメージをデータストア経由でマウントする。
設定変更点は以下のとおり。
ネットワークアダプタ:
VMXNET3は認識しなかったので、E1000に変更。
SCSIコントローラは、
VMWare準仮想~はインストーラから認識できなかったので、
LSI Logic SASに変更。
後は通常どおりのインストール。
はぁ、先は長い。
復旧を試みるが、無理だった。
しかたないので新規一転、システム環境を再構築することにする。
とりあえず、ESXi 4.1をインストール。ついでにvSphere Clientも。
まず、リモートアクセス用のサーバ構築から始める。
データストアにCentOS 5.5 netinstall用のisoイメージをアップロードして、
新規仮想マシンでisoイメージをデータストア経由でマウントする。
設定変更点は以下のとおり。
ネットワークアダプタ:
VMXNET3は認識しなかったので、E1000に変更。
SCSIコントローラは、
VMWare準仮想~はインストーラから認識できなかったので、
LSI Logic SASに変更。
後は通常どおりのインストール。
はぁ、先は長い。
JSON形式SPARQL Resultを処理する ― 2010-12-17 21:50:53
あまり使う機会は無いけど。
try {
FileInputStream fin = new FileInputStream(new File("sparql.json"));
ResultSet result = JSONInput.fromJSON(fin);
while(result.hasNext()) {
QuerySolution qsol = result.next();
Literal literal = qsol.getLiteral("o");
String str = (String) literal.getValue();
System.out.println(str);
}
} catch (FileNotFoundException e) {
e.printStackTrace();
}
try {
FileInputStream fin = new FileInputStream(new File("sparql.json"));
ResultSet result = JSONInput.fromJSON(fin);
while(result.hasNext()) {
QuerySolution qsol = result.next();
Literal literal = qsol.getLiteral("o");
String str = (String) literal.getValue();
System.out.println(str);
}
} catch (FileNotFoundException e) {
e.printStackTrace();
}
log4j RollingFileAppenderについてのメモ ― 2010-12-09 07:44:05
課題
Servletでのlog4j.appender.file.Fileでのパス指定の仕方がわからずPermission deniedが発生。フルパスは使いたくない。
対処法
log4j.appender.file.Fileでのパス指定に変数${catalina.home}を利用する。
log4j.appender.file=org.apache.log4j.RollingFileAppender
log4j.appender.file.File=${catalina.home}/logs/servlet.log
log4j.appender.file.Append=true
log4j.appender.file.MaxFileSize=1MB
log4j.appender.file.MaxBackupIndex=10
log4j.appender.file.layout=org.apache.log4j.PatternLayout
log4j.appender.file.layout.ConversionPattern=%d %-5p %c - %m [%t] (%F:%L)%n

最近のコメント