home ホーム search 検索 -  login ログイン  | help ヘルプ

find 検索

691 - 700 / 1320    [|<]  [|<]  [<]  61  62  63  64  65  66  67  68  69  70   [>]  [>|][>|]
タイトル/名前 更新者 更新日
Perl/codepiece/環境確認スクリプト msakamoto-sf 2010-07-26 13:41:05
日記/2010/07/26/Python言語に洗脳された人間の症状その1 msakamoto-sf 2010-07-26 12:47:29
日記/2010/07/25/SCPとSFTPの違いを初めて知った。 msakamoto-sf 2010-07-25 22:54:53
日記/2010/07/24/logrotateとログファイルのオーナー・グループ msakamoto-sf 2010-07-24 14:34:20
日記/2010/07/24/Dovecot設定メモ msakamoto-sf 2010-07-24 11:30:10
日記/2010/07/23/VMware上のPostfixで外部へのメールを特定のメールサーバに中継するメモ msakamoto-sf 2010-07-24 00:05:59
日記/2010/07/23/CentOS5.3とVMwareとSCSIドライブ msakamoto-sf 2010-07-23 11:41:40
日記/2010/07/17/伊豆・大瀬崎 msakamoto-sf 2010-07-20 11:25:23
日記/2010/07/15/「フリーの怪しげなバージョン管理ソフトは使いたくない」 msakamoto-sf 2010-07-15 23:21:42
日記/2010/07/15/文字列をスタック上にPUSHするコードの自動生成, NASM用 msakamoto-sf 2010-07-15 20:22:01
ソート項目 / ソート順     1ページ 件ずつ表示

Perl/codepiece/環境確認スクリプト  

所有者: msakamoto-sf    作成日: 2010-07-26 13:38:59
カテゴリ: Perl 

コマンドラインから直接実行されるのではなく、別のデーモンやプロセスから実行されるPerlスクリプトの実行環境確認用スクリプト。

iam.pl:

#!/bin/env perl
 
use strict;
use warnings;
use Cwd;
 
open my $fh, ">>", "/tmp/iam.log" or die "Can't create logfile: $!";
 
print $fh ">>> [", scalar localtime, "] <<<\n";
print $fh ">>> CWD = [", Cwd::getcwd, "] <<<\n";
print $fh ">>> uid/euid = [$</$>] <<<\n";
print $fh ">>> gid/egid = [$(/$)] <<<\n";
print $fh ">>> \@ARGV =\n";
foreach my $p (@ARGV) {
        print $fh $p, "\n";
}
print $fh "<<<\n";
print $fh ">>> \@INC =\n";
foreach my $p (@INC) {
        print $fh $p, "\n";
}
print $fh "<<<\n";
print $fh ">>> \%ENV =\n";
foreach my $k (sort(keys(%ENV))) {
        print $fh "\%ENV{$k} = [", $ENV{$k}, "]\n";
}
print $fh "<<<\n";
print $fh ">>> STDIN\n";
while (<STDIN>) {
        print $fh $_;
}
print $fh "<<<\n";
print $fh "\n";
 
close $fh;

メールサーバのlocal配信から起動されることを意識し、標準入力もダンプしているが、状況に応じてコメントアウトしてしまってもよい。



プレーンテキスト形式でダウンロード
現在のバージョン : 1
更新者: msakamoto-sf
更新日: 2010-07-26 13:41:05
md5:ec6dbd415025b118c9a15fa5202dc03a
sha1:41ae6d394cfa5ac65a485f7b568168c3b1e95a76

日記/2010/07/26/Python言語に洗脳された人間の症状その1  

所有者: msakamoto-sf    作成日: 2010-07-26 12:29:13
カテゴリ:
        ____
      /      \!??
     /   u   ノ   \     やべーお、数年ぶりにPerl弄ってみたけど、
   /      u (●)  \    変数宣言してprintするだけの数行のプログラム
    |         (__人__)|    の時点で文法エラーが消えないお・・・
   \    u   .` ⌒/
   ノ            \
. /´                 ヽ                 カ
 |    l   l||l 从人 l||l      l||l 从人 l||l   カ   タ
 ヽ    -一''''''"~~``'ー--、   -一'''''''ー-、.     タ
  ヽ ____(⌒)(⌒)⌒) )  (⌒_(⌒)⌒)⌒))
   ┌ ┌┬┬┐┌┬┬┬┐┌┬┬┬┐┌┬┬┬┐
  ,. - ''"| ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ρ ̄`l
   ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ノ ̄ ̄

       / ̄ ̄\
     /  ヽ、_  \   どれ、ちょっと見てみるだろJK
    (●)(● )   |
    (__人__)     |
    (          |
.    {          |
    ⊂ ヽ∩     く
     | '、_ \ /  )
     |  |_\  “ ./
     ヽ、 __\_/

------------------------------------------
#!/usr/bin/perl

use strict;
use warnings;

my $foo = 123
print $foo
------------------------------------------
$ perl foo.pl
syntax error at foo.pl line 7, near "print"
Global symbol "$foo" requires explicit package name at foo.pl line 7.
Execution of foo.pl aborted due to compilation errors.

            / ̄ ̄\
          _ノ  ヽ、  \
        (○)(○ )   |
.       (__人__)   u  .|  ・・・
.        ヽ`⌒ ´    |
        {       /
        lヽ、  ,ィ'.) ./
        j .}ン// ヽ
        ノ '"´  ̄〉  |
.        {     勹.. |
         ヽ 、__,,ノ . |


       __
      / ./}\
    / ,r'"/  .\
   ハ / / ヽ、 /"i  文末に";"(セミコロン)入れ忘れてるだろ・・・
  .ソ ノ / / (●/ ..,ィ´  (Pythonに毒されすぎだろJK)
  |  レ'   '- '~  /..|_
  l        t".,.-┘.)
.  ',        、-ーr'、
   .\       ゛''´.ノ
    )      /`´
    /     /ヽ
  . /    /  │

※Pythonは文末に";"不要の言語です。

         ____、′     、 ’、  ′
       /      \     . ’      ’、
      /  ─    ─\ 、′・” ”;  ”  ’、
    /    (●)  (●) \  ’、′・  ’、.・”;  ”  ’、
     |       (__人__)  ’、′  ’、  (;;ノ;; (′‘ ・. ’、′”;
     \      ` ⌒´ ’、′・  ( (´;^`⌒)∴⌒`.・   ” ;  ’、′
    ノ          、 ’、 ’・ 、´⌒,;y'VAIO;;;;;ノ、"'人      ヽ
   /           〃  、(⌒ ;;;:;´'从 ;'   ;:;;) ;⌒ ;; :) )、   ヽ
  (    ヽ、     ,.γ ー( ´;`ヾ,;⌒)´  从⌒ ;) `⌒ )⌒:`.・ ヽ
   |   ヽ     γ⌒ヽ)ニ`:::、 ノ  ...;:;_)  ...::ノ  ソ ...::ノ

おわり。


プレーンテキスト形式でダウンロード
現在のバージョン : 1
更新者: msakamoto-sf
更新日: 2010-07-26 12:47:29
md5:2ddd81dc85735f9e399e14aa35be2629
sha1:849ec52dfcc98e053cfdd49feb6bf98cad68b76c

日記/2010/07/25/SCPとSFTPの違いを初めて知った。  

所有者: msakamoto-sf    作成日: 2010-07-25 22:47:33
カテゴリ: FTP SSH セキュリティ 

毎度のことだが、疑問に思うのが、そして調べるのが、遅すぎる・・・!!

まぁ、WinSCPが宜しくやってくれるおかげで意識すること無かったので。
偶々久しぶりにサーバ弄ってて、「あれ~?SCPとSFTPって何が違うのかな?」と思ってググった。

WinSCP使うようになる前は、それこそSSHとか鯖のこと何も知らなかったので適当にFFFTP使ってHPとかUPってたんだけど、WinSCP使うようになってからはUI的にも特に不自由しなかったのでそのままにしてた。

そう言う中で、「やっぱ平文PASSWORD送るの怖いのでFTPやめます、お前ら今日からWinSCP使え」というのもいきなりすぎで受け付けてくれないかも。特に「SCP」の文字が入ってるので、「ナニソレ」って思われるかも。

そう言う場合は、「FileZilla」を奨めると良いかも。Webデザイナで使ってる人もいるようだし日本語資料豊富。UIがFFFTPと似てる。等。

と言う感じで、今更ながら違いを理解した。あと、名前だけは聞いていた「FileZilla」というのがどんなのかようやく調べた。腰が重い・・・。でもzip落としてUSBに入れてそのまま使えるのは便利そう。


プレーンテキスト形式でダウンロード
現在のバージョン : 1
更新者: msakamoto-sf
更新日: 2010-07-25 22:54:53
md5:617bba9585a6d39a2cd61be2dfce2889
sha1:cea80afbec54a20adb9bb6e9d1e9ecde6f349dfe

日記/2010/07/24/logrotateとログファイルのオーナー・グループ  

所有者: msakamoto-sf    作成日: 2010-07-24 14:31:50
カテゴリ: Linux 

rootユーザーでlogrotateを実行した場合、対象のログファイルの所有者とグループは維持される。

例えばfoobar.logというのがuid=500, gid=600だったとして、logrotateにより

foobar.log.1

にrotateされ、新たに

foobar.log

がlogrotateにより作成される。
この時、

foobar.log.1 -> uid=500, gid=600

はもとより、新規作成されたfoobar.logも

foboar.log -> uid=500, gid=600

となる。


プレーンテキスト形式でダウンロード
現在のバージョン : 1
更新者: msakamoto-sf
更新日: 2010-07-24 14:34:20
md5:5c03a7e57b85080f5511994981895f04
sha1:a47af7c733e4ade2cfc16c584ac75c73143a1257

日記/2010/07/24/Dovecot設定メモ  

所有者: msakamoto-sf    作成日: 2010-07-24 11:10:54
カテゴリ: Dovecot Postfix 

Dovecotの設定メモといっても、開発環境でちょろっと使いたいだけなのでそんなに凝った設定はしていない。

#protocols = imap imaps pop3 pop3s

→コメントアウト外すだけ。

一応ログファイルは指定しておく。

log_path = /var/log/dovecot.log

開発環境で使うかはしらないが、一応SSL可にしておく。

#ssl_disable = no
→コメントアウト外すだけ。

あと

ssl_cert_file = ...
ssl_key_file = ...

はRPMがデフォで入れててくれたのをそのまま流用・・・まぁ開発環境だからいっか。

メールボックスの標準を指定。今回はマルチドメインで、ドメイン毎にメール専用アカウントを用意した環境なので、そちらに合わせる。一応Postfix側でも virtual_mailbox_base, virtual_mailbox_maps を使ってこの位置に合わせている。

mail_location = maildir:/var/spool/mail/vhosts/%d/%n/Maildir/

とりあえずデバッグなのでON:

mail_debug = yes

メールボックスディレクトリ中の"."始まりのエントリを自動的にメールディレクトリと判断せず、ちゃんとstat()の結果見ましょうね:(ただしdisk I/Oの負担増)

maildir_stat_dirs = yes

認証とかの詳細情報もON:

auth_verbose = yes
auth_debug = yes

この後認証になるが、今回は

  1. メールボックスは全て同じUID, GIDで作成される(Postfixのvirtual_uid_maps, virtual_gid_mapsで静的に指定)。
  2. UNIXシステムとは独立して登録

となるので、こんな感じに。

auth default {
  mechanisms = plain login cram-md5
  passdb passwd-file {
    args = /etc/dovecot.passdb
  }
  userdb static {
    args = uid=500 gid=600 home=/var/spool/mail/vhosts/%d/%u/Maildir
  }
}

パスワードは "/etc/dovecot.passdb" に平文保存。開発環境だし。
もしアカウント毎にuid, gidも変える事も出来る。今回なら"/etc/dovecot.passdb"に既定のフォーマットでUID, GID, $HOMEも指定して、userdbの方に

userdb passwd-file {
  args = /etc/dovecot.passdb
}

としていすれば良い。

参考:


プレーンテキスト形式でダウンロード
現在のバージョン : 1
更新者: msakamoto-sf
更新日: 2010-07-24 11:30:10
md5:2c66f1d5590711751a9434d5c70c4300
sha1:741df138af8cbbecfd077ad27d0e9e1ec147ad79

日記/2010/07/23/VMware上のPostfixで外部へのメールを特定のメールサーバに中継するメモ  

所有者: msakamoto-sf    作成日: 2010-07-23 23:56:07
カテゴリ: Postfix 

ようするに宛先のメールサーバに25番ポートでつなげない(ISP側でブロックしている)ので、587番ポート+SMTP AUTHなら使える外部のメールサーバなりISPなりLAN内の調整済サーバなりに、外部宛のメールを全部中継して貰う設定。
OP25B(Outbound Port 25 Blocking)対策の一種。

参考URL:

最初はpostfixの公式(SOHO_README.html)を見てたのだけれど、認証(AUTH)コマンド出さずにすぐRCPT TOコマンド送信してて「おっかし~な~」と、「Fedoraで自宅サーバー構築」の方も見てみたら

smtp_sasl_security_options = noanonymous
smtp_sasl_mechanism_filter = LOGIN

が抜けてた罠。

あと、

smtpd_sasl_auth_enable = yes

じゃなくて

smtp_sasl_auth_enable = yes

が間違えそうな罠。

最後に、

smtp_sasl_password_maps = hash:/etc/postfix/smtp_sasl_passwd

で指定したファイルにリレー先ホストとSMTP AUTOのユーザー名とパスワードを保存しておくのだけれど、

relayhost = [mx.foobar.com]:submission

としてTCPポート番号も指定していたら、smtp_sasl_passwdファイルには
[mx.foobar.com] user:password
ではなくて、ちゃんとポート番号もつけてあげた
[mx.foobar.com]:submission user:password
の形式にしないと認識されない罠。

VMware上のマシンから外部に送信する時は、最近だとこうなっちゃうみたい。ISPが25番ポートブロックしてるので、ISP経由で直に宛先のMXホストに25番で接続出来ない。ということで、ISPの向こう側で動いているレンタルサーバーなり調整済のホストなりISPのメールサーバーなりに中継して貰わないといけない仕掛け。

今更ながらだけど、暫くメールサーバの設定なんぞまともにしてなかったのでメモでした。


プレーンテキスト形式でダウンロード
現在のバージョン : 1
更新者: msakamoto-sf
更新日: 2010-07-24 00:05:59
md5:bfc6fa4dd0e11425aeb78c7c8117dcda
sha1:18ad54e4b8dd9500d73b8e7df5e6ae14ed825ff0

日記/2010/07/23/CentOS5.3とVMwareとSCSIドライブ  

所有者: msakamoto-sf    作成日: 2010-07-23 11:38:48
カテゴリ: Linux 

VMware5 + CentOS5.3でインストールしようとしたら、VMwareで作成したSCSIドライブが認識されない。インストーラが表示してくれない。

→仮想マシン作成時に、標準構成ではなくカスタム構成を選択、SCSI Adapter に BusLogic ではなく LSI Logic を選択する。
これ以外は普通の設定でOK、仮想ディスクもSCSI接続でいつも通り作成すればOK。

参考:


プレーンテキスト形式でダウンロード
現在のバージョン : 1
更新者: msakamoto-sf
更新日: 2010-07-23 11:41:40
md5:cef6127ae148772c9686a7b3bc551e72
sha1:b651e11e789857788bd476ffc87a64cc1a5d97ec

日記/2010/07/17/伊豆・大瀬崎  

所有者: msakamoto-sf    作成日: 2010-07-20 11:10:14
カテゴリ: ダイビング 

7/17-19と伊豆は大瀬崎でダイビングしてきました。ダイビングポイントは大瀬崎湾内や先端、湾外でいずれもビーチから潜っていきました。

大瀬崎ビーチから望む富士山:

(全て表示する)
プレーンテキスト形式でダウンロード
現在のバージョン : 1
更新者: msakamoto-sf
更新日: 2010-07-20 11:25:23
md5:0d6512a095f320e008ed442d0dd8aa66
sha1:85b251ff7572b8c3167fbb1fd3a9e77132fbd9a0

日記/2010/07/15/「フリーの怪しげなバージョン管理ソフトは使いたくない」  

所有者: msakamoto-sf    作成日: 2010-07-15 23:03:11
カテゴリ:

っていうところはまだまだあります。自分が知っている範囲だと、某大手電機メーカーのシステム構築部門の手がけているとあるプロジェクトがそうでした。

のブクマで「VSSもうやだお・・・」みたいなコメントがあったのでエントリ書いてます。

お客様の大切なソースコードを管理するソフトウェアなのですから、多少使い勝手が悪くとも、Microsoft社がテストまできっちり行っているVisual Source Safe を使いましょう・・・という考え方ですね。
これはこれで納得出来る所ではあります。
Linuxマンセー、オープンソースマンセー、流行のツールを使えりゃ満足な、自分の頭で考えないヲタク連中に好き勝手に弄られ、ある日突然データが吹っ飛ぶ・・・とゆーのが恐ろしい。それくらいなら、実績もあるし何よりMicrosoft社製というブランドマーク付きのVSSを使おう・・・というのも納得です。

「これだから頭の固い老害連中は駄目なんだ」と嘆くのもありなんですが・・・実は、グローバル展開しているソフトウェア会社が独自に動作検証済のバイナリを提供、さらにはお値段高めですが有償サポートもしてくれてるんです。

なので、「オープンソースだから, フリーだから, 壊れないか不安だな~」という不安が原因でSubversionに手を出せないでいるのであれば、ぜひこちらを検討してみて下さい。いや、別にCollabNetの社員という訳じゃないんですが。

ただ、「メーカーによる動作検証」が壁となってしまいオープンソースを導入出来ない現場も多々あると思います。そうした場合に、「これだから頭の固い老害は」と嘆く前に、企業による有償サポートや動作検証済のバイナリ提供がないかどうか、調べておいて損は無いと思います。

インフラ系のツールは一度導入されると使い続けることの慣性が非常に巨大になりますので、どんなに時代にそぐわなくなった古くさいツールといえど中々乗り換えられないケースは多いはずです。
今現在「Subversion, Git, Mercurialマンセー、CI使わない奴らは馬鹿なの?氏ぬの?」と叫ぶことが出来ても、5年後10年後になって「えー、まだSubversion使ってるのー!?それなんて老害www」と蔑まれる可能性はゼロではないはずです。

オープンソースのツールの導入にあたっては、現場に応じて柔軟な提案が出来るように手札を揃えておきたいですね。


プレーンテキスト形式でダウンロード
現在のバージョン : 1
更新者: msakamoto-sf
更新日: 2010-07-15 23:21:42
md5:0124b721a263b6ea190181d4ef3c3c26
sha1:ae0fb59e9e33c921d8806ac715b254196cac7b1c

日記/2010/07/15/文字列をスタック上にPUSHするコードの自動生成, NASM用  

所有者: msakamoto-sf    作成日: 2010-07-15 20:12:58
カテゴリ: Assembler C言語 hacks 

初期化・未初期化データセクションに配置せず、実行コードのセクションに持たせる、つまり実行コード内でstack領域に展開するコードを自動生成する。

pushstack.c:

#include <stdio.h>
#include <string.h>
 
int main(int argc, char *argv[])
{
    int len, d;
    int i, j, k;
    char *src;
    char cbuf[4];
    char *offset_label = "OFFSET";
    
    if (2 > argc) {
        fprintf(stderr, "usage: %s push_string <offset_label>\n", argv[0]);
        return 1;
    }
    
    src = argv[1];
    len = strlen(src);
    if (3 == argc) {
        offset_label = argv[2];
    }
    printf("; '%s', 0 (%d = 0x%X bytes)\n", src, len + 1, len + 1);
    printf("%%define %s ebp - 0000h\n", offset_label);
    d = len / 4;
    if (len % 4) {
        d++;
    }
    
    for (i = 0, j = 0, k = 0; i < d; i++) {
        cbuf[0] = src[j++];
        cbuf[1] = (j > len) ? 0 : src[j++];
        cbuf[2] = (j > len) ? 0 : src[j++];
        cbuf[3] = (j > len) ? 0 : src[j++];
        printf("mov eax, 0%02X%02X%02X%02Xh\n", 
            cbuf[3], cbuf[2], cbuf[1], cbuf[0]);
        printf("mov dword[%s + 0%Xh], eax\n", offset_label, k);
        k += 4;
    }
    return 0;
}

使い方:

> pushstack abcdef STR1
; 'abcdef', 0 (7 = 0x7 bytes)
%define STR1 ebp - 0000h
mov eax, 064636261h
mov dword[STR1 + 00h], eax
mov eax, 000006665h
mov dword[STR1 + 04h], eax

出力をぺたりとnasmソースにはりつけ、STR1のマクロでEBPのoffsetを適当に調整してあげればOK。
UnicodeやMBCSには未対応。
"xor eax, eax"も入れてきちんとゼロクリアした方が良いかな?
後はお好みに応じて適当に改造して下さい。


プレーンテキスト形式でダウンロード
現在のバージョン : 1
更新者: msakamoto-sf
更新日: 2010-07-15 20:22:01
md5:ec4ae25b3bc8e14d11b422125b0605fd
sha1:a9a8cdcf5c4246fe2ed66720df4d639c609a421d