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

find 検索

1041 - 1050 / 1320    [|<]  [|<]  [<]  101  102  103  104  105  106  107  108  109  110   [>]  [>|][>|]
タイトル/名前 更新者 更新日
日記/2004/10/03/sendmailがaliasesから起動するスクリプトのUID, GID msakamoto-sf 2009-04-12 17:25:26
日記/2004/10/03/sendmailエラー "stat=unknown mailer error 2" msakamoto-sf 2009-04-12 17:24:06
日記/2004/10/06/MTU値が原因で長いメールが送れない(タイムアウト) msakamoto-sf 2009-04-12 16:51:52
日記/2004/11/05/sendmailの"makemap hash"メモ msakamoto-sf 2009-04-12 16:40:49
Perl/ローカルで動かすPerlCGIをGUIデバッグメモ msakamoto-sf 2009-04-12 16:26:10
日記/2004/12/28/Nz関数とIIf関数 msakamoto-sf 2009-04-12 16:14:19
日記/2004/12/29/Environ関数 msakamoto-sf 2009-04-12 16:11:21
技術/Linux/iptablesメモ msakamoto-sf 2009-04-12 16:03:35
JavaScript/Bookmarklet/ブラウザで表示中のページタイトルを取得 msakamoto-sf 2009-04-12 15:31:33
技術/sendmailメモ msakamoto-sf 2009-04-11 01:09:43
ソート項目 / ソート順     1ページ 件ずつ表示

日記/2004/10/03/sendmailがaliasesから起動するスクリプトのUID, GID  

所有者: msakamoto-sf    作成日: 2004-10-03 17:24:40
カテゴリ: sendmail 

システムやコンパイル時のオプションによるのでしょうが、TurboLinux 7 Server では
ユーザー:mail
グループ:mail
で起動されます。

逆に言えば、違うユーザー権限で起動させたいときは setuid などしておく必要があります。


プレーンテキスト形式でダウンロード
現在のバージョン : 1
更新者: msakamoto-sf
更新日: 2009-04-12 17:25:26
md5:d1a1d6a94d252ddbf0c27b327a9cb1f5
sha1:045aabd9cdb89c10cbd2bc20cb9728a137402777

日記/2004/10/03/sendmailエラー "stat=unknown mailer error 2"  

所有者: msakamoto-sf    作成日: 2004-10-03 17:20:32
カテゴリ: sendmail 

aliasesファイルなどで

foo: "|/usr/local/bin/bar.pl"

と指定した場合や、あるいは:include:で指定した先でスクリプトを起動していた場合に題名のようなエラーが表示され場合、十中八九スクリプトの起動エラーです。

スクリプトをフルパスで起動するなどして、sendmail が起動するのと同じ条件で起動してみて、正常に動作するか確認します。

":include:"使用時の注意というかメモですが、aliasesの :include: は、「宛先転送リスト」であるため、スクリプトを起動する場合は「宛先リスト」を返す必要があります。
つまりメーリングリストのためにあるようなものです。
逆に言えばリストを返さないようなスクリプトを起動するために使うのは宜しくない。

リストなど返さず、「喰わせて」別のシステムを起動するなどの目的では、素直に冒頭のような

baz: "|/usr/local/bin/script.pl"

形式を利用すべきです。


プレーンテキスト形式でダウンロード
現在のバージョン : 1
更新者: msakamoto-sf
更新日: 2009-04-12 17:24:06
md5:96dadb46043c9dcd52bc25b7a4452a03
sha1:e5565f6a885c5afa92f2e350cb06078f830f3244

日記/2004/10/06/MTU値が原因で長いメールが送れない(タイムアウト)  

所有者: msakamoto-sf    作成日: 2004-10-06 16:42:38
カテゴリ: sendmail ネットワーク 

MTU値が原因でトラブったのでメモ。

JPEGを添付した巨大なmultipartメールを送信した場合に限り、送信時にクライアント側でタイムアウトが発生した。
ウィルスゲートウェイを備えたメールサーバから、送信先ドメインのメールサーバに送れない。ちなみに、送信先ドメインのメールサーバのプロセスを見てみると、データ送信で止まってるプロセスが出現する。

# ps aux
...sendmail: server virusgwbr.sppd.jp [210.136.111.234] child wait
...sendmail: ./i96CqhT26555 virusgwbr.sppd.jp [210.136.111.234]: DATA

そのうち、タイムアウトでこれらのプロセスは消える。

以前、知人が同様に「画像が送信できない」と困っていて、いろいろ調査したところTCPパケットの1500バイト前後の境界で現象が発生していた。MTU値を自動設定か1500に固定したかしたら直ったことがあったので、今回もMTU値を疑った。

色々調べた結果、以下のHPの通りMTU値を1454にしたところ解決した。
http://www.fiberbit.net/member/router/barwl.html

関連:
http://www.sendmail.org/tips/pathmtu.html
http://www.linuxjournal.com/article.php?sid=5507

※2009年現在、こうした話は最近はとんと聞かなくなった・・・。


プレーンテキスト形式でダウンロード
現在のバージョン : 1
更新者: msakamoto-sf
更新日: 2009-04-12 16:51:52
md5:9887a8e155c4e216a1d3e57e62dc0589
sha1:1887931c833ee2f87383d5fb76500300e88ce523

日記/2004/11/05/sendmailの"makemap hash"メモ  

所有者: msakamoto-sf    作成日: 2004-11-05 16:34:22
カテゴリ: sendmail 

sendmailで良く使う"makemap"コマンドについてメモ。aliasとかvirtusertableとかで良く使います。

もともと、makemap は sendmail に含まれるプログラムみたいです。ヘルプを読むとこんな風に使うようです。

$ makemap type mapname

"type" には hash や b-tree という内部データ構造の名前を指定します。大抵は"hash"を指定します。
"mapname" ですが、これはファイル名ではない点に注意です。

# makemap hash /etc/mail/virtusertable < /etc/mail/virtusertable

virtusertableの操作では上記のようなコマンドを実行しますが、ぱっと見、「virtusertableに上書きしてるのかな?」と思ってしまいます。
実際は "mapname" が "/etc/mail/virtusertable" で、makemapの方でお尻に".db"を付けて実際のファイル名にしています。つまり"/etc/mail/virtusertable.db" が実際に書き込まれるファイルになります。

makemapは標準入力からキー値(スペース)対応値を一行ずつ読み込んでって、「(mapname).db」というファイルにtypeで指定された形式で出力するプログラムです。
試しにファイル入力無しで動かしてみると、「入力してね」という内容のプロンプトが表示されます。

ダンプも用意されてます。

$ makemap type -u mapname

これで、undump できます。

# makemap hash -u /etc/mail/virtusertable

"mapname"ですので、間違っても "-u /etc/mail/virtusertable.db" とはなりません。(".../virtusertable.db.db" を読みに行ってしまいます)

以上。


プレーンテキスト形式でダウンロード
現在のバージョン : 1
更新者: msakamoto-sf
更新日: 2009-04-12 16:40:49
md5:ccc010b7a0c956e17e275b395077b17f
sha1:1d51d197f6efcf3855a3a76c23c3a0f93d36163f

Perl/ローカルで動かすPerlCGIをGUIデバッグメモ  

所有者: msakamoto-sf    作成日: 2004-12-13 17:11:28
カテゴリ: Linux Perl UNIX 

この記事を書いている時点ではLinux/UNIX専用の技です。(Tcl/TkがXWindowsと通信できる環境が必要)

ローカルマシンでWebサーバを立ち上げて、PerlのCGIをデバッグするときに Devel::ptkdb を使ってGUIデバッガを立ち上げる手法です。

Devel::ptkdbを入れると、通常のPerlスクリプトであれば

$ perl -d:ptkdb ./hoge.pl

でGUIデバッグを利用できます。

これをCGIでも利用するには、PerlCGIの先頭行、スクリプトファイルの指定部分を下記のように-dオプションを付けます。

#!/usr/bin/perl -d:ptkdb

但し、このままではTcl/TkのGUIライブラリがXWindowsSystemと通信できませんので

$ xhost +localhost

で、ローカルホスト。つまり、CGIを起動するWebサーバからのアクセスを許可します。



プレーンテキスト形式でダウンロード
現在のバージョン : 1
更新者: msakamoto-sf
更新日: 2009-04-12 16:26:10
md5:eeb00af9aa19936afbe3c80238a27b70
sha1:bddaaa3e41ed1a030960774cadb81fe9739d637a

日記/2004/12/28/Nz関数とIIf関数  

所有者: msakamoto-sf    作成日: 2004-12-28 16:12:22
カテゴリ: VisualBasic 

IIf関数はC言語系での "?" と ":" による三項演算子のVB版です。
Nz関数を使うと、Null式を適当に""とか0にして返してくれるみたいです。便利。
というわけで、Nzのヘルプにこんな感じで短縮できますよー、というのが載ってました。

varTemp = IIf(IsNull(varFoo), 0, varFoo)
varResult = IIf(varTemp > 50, "High", "Low")

これが、

varResult = IIf(Nz(varFoo) > 50, "High", "Low")

になるので非常に便利そうです。


プレーンテキスト形式でダウンロード
現在のバージョン : 1
更新者: msakamoto-sf
更新日: 2009-04-12 16:14:19
md5:e17ed074e7cf27552bbfb93e67778125
sha1:d044f09ec39dc0782e381798f3ca9d2a62ee3d8c

日記/2004/12/29/Environ関数  

所有者: msakamoto-sf    作成日: 2004-12-29 16:09:21
カテゴリ: VisualBasic 

仕事でAccessVBAの既存アプリのVBコード読んでるといろいろと新しい関数とかクラスとか勉強できて楽しいです。

Environ関数もその一つで、システムに設定された環境変数を取得する関数です。
基本的な使い方は

Environ(envstring)

で、envstringで指定されてる環境変数を返してくれます。もし設定されていなければ、長さ0の文字列を返します。
(但し、そもそもエントリ自体が存在しないのか、それとも""として設定されているのかの判別はこれだけではできない。)


プレーンテキスト形式でダウンロード
現在のバージョン : 1
更新者: msakamoto-sf
更新日: 2009-04-12 16:11:21
md5:f4c07302cf668e587702d8e5052b7f5d
sha1:ab6d7023ccc0de67bb71c7b96618da783e33de73

技術/Linux/iptablesメモ  

所有者: msakamoto-sf    作成日: 2002-12-31 05:00:00
カテゴリ: Linux セキュリティ ネットワーク 

概要

Linuxのカーネルモジュールとして実装され、動作する。
Linux 2.2 : ipchains
Linux 2.4, 2.6 : iptables
Netfilterという仕組みを使うと、ipchainseの設定ファイルや機能を2.4でも利用可能。

iptablesの構成例 (TurboLinux Server 7)

  • バージョン:iptables-1.2.2
  • 起動スクリプト:/etc/init.d/iptables
  • 設定ファイル:/etc/sysconfig/iptables
  • ログ:/var/messages

なお、iptablesコマンドのオプションや設定ファイルの位置などは CentOS5.2 でも同様である。

参考:

コマンドラインからの使い方サマリ

(IPマスカレードの説明は省略)

現在の設定を確認

"-L" オプションでINPUT(侵入), FORWARD(通過), OUTPUT(送出)に対する各チェインの設定を表示する。

# iptables -L

個別のチェインに対する設定を表示するには "-L" に続けてチェイン名を指定する。

# iptables -L [チェイン]

ルールの追加と削除

INPUTチェインに対して192.168.0.0/24からのICMPパケットを全て破棄するルールを追加する :

# iptables -A INPUT -s 192.168.0.0/24 -p icmp -j DROP

このルールを削除する :

# iptables -D INPUT -s 192.168.0.0/24 -p icmp -j DROP

"-L" で表示されるルール番号を指定して削除する :

# iptables -D [チェイン] [ルール番号]

代表的なコマンドラインオプション

# iptables -[ADC] チェイン ルール [オプション]
# iptables -[RI] チェイン ルール番号 ルール [オプション]
# iptables -D チェイン ルール番号 [オプション]
# iptables -[LFZ] チェイン [オプション]
# iptables -[NX] チェイン
# iptables -P チェイン ターゲット(DROPとか。) [オプション]
# iptables -E 既存のチェイン名 新規チェイン名

チェイン操作のオプション

-A (Append) 指定したチェインに新しいルールを追加
-D (Delete) ルールを削除
-R (Replace) 指定したチェインのルール番号を、新しいルールで置換
-I (Insert) ルール番号を指定して置換
-L (List) 指定したチェインのルールを表示
-F (Flush) 指定したチェインのルールを全て削除
-Z (Zero) チェインのカウンタをリセット(後述)
-N (New Chain) 新しいチェインを作成
-X (Delete Chain) ルールが空のチェインを削除
-P (Policy) 指定したチェインのポリシーを設定
-E (Rename Chain) ユーザー定義のチェインの名前を変更

パケットのマッチング用代表的オプション

-s (Source) パケットの送信元を指定
  • 直接IPで指定
  • FQDN(turbo.turbolinux.gr.jp)で指定、
  • ネットワークアドレス(192.168.0.0/24, 192.168.0.0/255.255.255.0)
  • !を頭に付ければ否定の効果。
-s !localhost
→ localhost以外のパケットとマッチ

!否定は他のほとんどのオプションでも使える。

-d (Destination) パケットの宛先を指定
"-s" と同じ書式で指定
-i (In Interface) パケットが入って来るデバイス名を指定

OUTPUTチェインには指定できない。
FORWARDには-i, -o 両方指定できる。

例: 
-i eth0

PPP接続などで、ppp0かppp1か分からない場合 :

-i ppp+
-o (Out Interface) パケットが出て行くI/Oを指定

INPUTチェインには指定できない。
FORWARDチェインには-i, -o 両方指定できる。
指定方法は -i と同じ。

-p (Protocol) プロトコルを指定

指定できるプロトコルはtcp, udp, icmp のいずれか。
大文字小文字の区別はない。

-j (Jump) ターゲットを指定
(後述)

TCP拡張, UDP拡張, ICMP拡張

例 : --sportオプション

# iptables -A OUTPUT -p tcp --sport 80 -j ACCEPT

次の二つの拡張オプションはTCP, UDP用です。

--sport (Source Port) 送信元のポートをマッチング

/etc/servicesファイルに記述されたポート番号又はサービス名を指定可能。
範囲を指定するには":"で区切る。

ポート番号2000から3000番を指定

--sport 2000:3000

ポート番号0 から1024番までを指定

--sport :1024

ポート番号1025 から 65535 までを指定

--sport 1025:
--dport (Destination Port) 宛先のポートをマッチング
範囲指定は--sportと同じ。

TCP, UDP, ICMP拡張を調べる :

# iptables -p tcp --help
# iptables -p udp --help
# iptables -p icmp --help

その他の拡張(mac, limit, owner, state等)を調べる :

# iptables -m mac --help

など。

ターゲット指定

条件にマッチしたパケットを処理方法を指定する。"-j"オプションの後に指定する。
代表的なターゲットを以下に示す。

ACCEPT
パケットを通過させる。
DROP
パケットを破棄する。。
REJECT
パケットを破棄し、破棄した旨のICMPメッセージを送信元に返す。
LOG
マッチしたパケットのログを記録する。
RETURN
INPUT, OUTPUT , FORWARDチェインの場合はチェインの最後へ処理が移り、そのチェインのポリシーが適用される。
ユーザー定義のチェインの場合は、呼び出したルールに戻り、引続き次のルールから調べられる。

ユーザー定義チェイン

"-N" オプションを使うと、ユーザが新しくチェインを作れる。

# iptables -N userchain

これでuserchain と言う名前のチェインが新しく作られた。
ルールの操作などでこのチェインを対象とするには、 "-j userchain" と指定する。

アカウンティングルール

あるルールによって処理されたパケットの数をカウントするルール。設定するにはターゲットの指定を省略する。

OUTPUTチェインを通過したtcp 80番ポート(http) のパケットをカウントするように指定する :

# iptables -A OUTPUT -p tcp --sport 80

カウンターのリセットには-Zオプションを使う。

# iptables -Z OUTPUT

設定の保存

iptablesコマンドによる設定は一時的なもので、マシンをリブートすると消えてしまう。
通常は、

# /sbin/service iptables save

として、現在設定されているルールを/etc/sysconfig/iptablesに上書き保存できる。

好きなファイルに保存するには"iptables-save"コマンドを使う。

# iptables-save > ファイル名

緊急停止用として、ルールを全てリセットし、ポリシーを全てDROPにする :

# /etc/rc.d/init.d/iptables panic

否定の指定で、

!xxx.xxx.xxx.xxx

とすると×。

! xxx.xxx...

と言う風に、半角空白をいれる。シェルの変数が混ざっちゃう?



プレーンテキスト形式でダウンロード
現在のバージョン : 1
更新者: msakamoto-sf
更新日: 2009-04-12 16:03:35
md5:ba4a21a73e248224b9f3b45d2c607a76
sha1:ecf448a656b69e4888305b646b77f46b148f340a

JavaScript/Bookmarklet/ブラウザで表示中のページタイトルを取得  

所有者: msakamoto-sf    作成日: 2009-04-12 15:28:12
カテゴリ: JavaScript 

IE7, FF3, Opera9で動作確認。

javascript:void(prompt('title',document.title))

コピペし易いよう、プロンプトで表示してます。



プレーンテキスト形式でダウンロード
現在のバージョン : 1
更新者: msakamoto-sf
更新日: 2009-04-12 15:31:33
md5:373eedca1c9d2c3c306716d7ae137702
sha1:858781a30ab930553f8a935e8f3de4e39ea326f5

技術/sendmailメモ  

所有者: msakamoto-sf    作成日: 2002-12-31 03:00:00
カテゴリ: sendmail 

PostfixやQmailなどのMTAデーモンが使われるようになったとはいえ、依然としてデフォルトのSMTPデーモンとしてsendmailがインストールされる場面もある。また古いサーバのメンテナンス時にも、sendmailを操作する場合がある。

sendmailは設定ファイルが難解であるが、より注意が必要なのは設定ファイルをm4マクロで処理する段であり、ディストリビューションのRPMによって設定ファイルの位置やm4マクロ処理の手順が異なる。ディストリビューションのマニュアル、乃至はsendmailのパッケージ構成をよく確認した上で、調整を行うこと。

また、sendmailコマンド単体でも色々な機能を使える。
http://www.linux.or.jp/JM/html/sendmail/man8/sendmail.8.html

例1 : /etc/rc.d/init.d/sendmailを使わずにとりあえず直接起動する

# /usr/sbin/sendmail -bd -q15m

"-bd"はデーモンとして起動するオプション、"-q15m"はキューにたまっているメールの再送を15分ごとに試みる意味。

例2 : アドレス定義内容のデバッグダンプ

# sendmail -bt -d0

例3 : ベリファイモード(aliasesファイルの展開の詳細報告など)

# sendmail -v user1


プレーンテキスト形式でダウンロード
現在のバージョン : 1
更新者: msakamoto-sf
更新日: 2009-04-11 01:09:43
md5:87c1344c56161d366e6e3bf261f40164
sha1:e3d658b0d1fd33da038299fced0f0f0845fb4217