2011年11月29日火曜日

rootでパスワードなしのSSHを使用してrsync…危険じゃないの?


元々はFTPだけしか使えない、ログイン不可のユーザ(シェルが/sbin/nologin)でrsyncも出来るようにしたかった。
でも、nologinのユーザだとrsync -e sshとしても失敗。
rsyncはログインしなくちゃできないから、それも当然。

そこで、rsync用のユーザを作って、rsyncすることにした。
sshでパスワードなしにすることも簡単。
ただ、ファイルの権限がrsyncになってしまう…。chmodで変更が出来ない…。
chmodはrootじゃないとダメだから。

じゃあ、rootでパスワードなしのSSHなら出来る。
いや、それはさすがにマズイ。
どうしたもんか、と思っていたところ見つけた。
http://sonic64.com/2004-11-17.html
http://www.ice.is.kit.ac.jp/~umehara/misc/comp/20061121.html

つまり、鍵ファイルによって実行できるコマンドを絞ることが出来る。
authorized_keyの鍵情報にcommandを追加。
そこにrsyncコマンドを入れておけば、いいわけだ。
通常のsshは鍵なしだから、普通にsshしてきたら普通に使える。
鍵を指定してsshしてきたら、指定したcommandだけ実行して終わり。

全然知らなかったけど、sshは奥が深いね!なんとなく世界が広がる気がする!

2011年11月21日月曜日

MCITP合格


70-663 Pro: Designing and Deploying Messaging Solusions with Microsoft Exchange Server 2010に合格。
この前受けた、70-662の上位資格。

日本語では情報が乏しいので、英語のテキストや問題集を使い、英語で受けた。
変な訳とかないので、その辺は英語の方がいいのかも。
テキストは一回通して読みつつ、あとは問題集を繰り返しやった。
多分、7回ぐらい。
分からないところをテキストとtechnet等でチェック。

他の人の合格体験記を読むと、technetだけで合格してたりするね。
スゴイわ、尊敬。
問題集なかったら絶対ダメだったと思う。

Exchange Server 2010の上位資格なんだけど、未だに本社のExchange Serverには触れないまま…。
忘れてしまう前に触っておきたいなぁ…。

2011年11月17日木曜日

PostgreSQLで文字列の結合(||)をすると勝手にトリムされる


開発中に「あれ?!」と思ったので記録の意味で。

DBからデータを引っ張っていて、フィールド定義はtext型だが、固定長で出力する必要があったため、
SELECT 'hoge ' || field1::char(20) FROM table1;
というように書いた。

が、結果は
hoge AAA↵(改行コード)
というように勝手にトリム(trim)されている。

なんで?と思って、調べたら文字列を結合する演算子の||は、返す型がtextのため、不要な空白は消してくれているらしい。

なので、実装には
SELECT 'hoge ' || rpad( field1, 20 ) FROM table1;
というようにしたら大丈夫になりました。

2011年11月15日火曜日

redmine 1.2.1にredmine_importerをインストール


CSV形式でチケットをインポートできるredmine_importerをインストールした。
ホントはMS Projectからそのままが一番よくて、suerさんが作成してくれたXML形式なら対応しているプラグインもあるんだけど、データが大きすぎたようで読み込めなくなっちゃったので、一旦CSVにしてからインポートすることに。


redmine_importerを元々知ってたわけじゃなく、調べているうちに知っただけ。
rchadさんが作り、junoさんが改良してくれて、ネットではこちらの手順がいっぱいあった。
日本語で使う時には、langフォルダにあるja.ymlをconfig/localesに置いて、インデント揃えて、といろいろあってやってみたけど、結局うまく行かず。
もしかして、バージョンが違うから合わない?と思い、探ってみると2年以上更新がない…。

どうしよう…と思ったけど、githubで同じ名前で検索かけたら、tsukanoさんって方が作っているじゃないですか!
https://github.com/tsukano/redmine_importer
これを入れたらすんなり動きました!
どうもありがとうございます!!