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

find 検索

1101 - 1110 / 1320    [|<]  [|<]  [<]  111  112  113  114  115  116  117  118  119  120   [>]  [>|][>|]
タイトル/名前 更新者 更新日
日記/2007/04/03/Perlとsetuidフラグ msakamoto-sf 2009-04-04 09:16:09
技術/shell/標準エラー出力のパイプとリダイレクト(2) msakamoto-sf 2009-04-04 09:12:53
技術/shell/標準エラー出力のパイプとリダイレクト(1) msakamoto-sf 2009-04-04 09:10:35
技術/shell/bashの"-x"オプション msakamoto-sf 2009-04-04 09:05:35
日記/2007/04/14/fmlとディレクトリの"S"フラグとパーミッション msakamoto-sf 2009-04-04 08:57:22
日記/2007/04/14/sendmail or postfix の aliases における:include:について msakamoto-sf 2009-04-04 08:52:47
日記/2007/04/15/Mailbox vulnerable - directory /var/spool/mail must have 1777 protection msakamoto-sf 2009-03-29 23:18:28
日記/2007/04/15/Postfixでのメールキューの整理メモ msakamoto-sf 2009-03-29 23:16:59
サイバー日野/2007/04/15/postfixの調整、他。 msakamoto-sf 2009-03-29 23:13:47
日記/2007/05/04/Etag, If-Modified-Sinceヘッダーメモ(3)(X-Padヘッダ) msakamoto-sf 2009-03-29 23:10:23
ソート項目 / ソート順     1ページ 件ずつ表示

日記/2007/04/03/Perlとsetuidフラグ  

所有者: msakamoto-sf    作成日: 2007-04-03 11:24:19
カテゴリ: Perl 

Perlの場合、setuidが立てられているスクリプトを実行しようとすると、自動的にTaintモードが発動するようである。(OSレベルのsetuidの有効・無効も絡むようではあるが・・・)

http://perldoc.jp/docs/perl/5.6.1/perlsec.pod
http://x68000.q-e-d.net/~68user/unix/pickup?setuid
http://x68000.q-e-d.net/~68user/webcgi/permission.html

などを参照のこと。
で、Taintモードだと

$arg = shift;

これ、汚染されてると見なされるみたい・・・。コマンドライン引数から指定された値を「そのまま」使うのはよろしくない。Taintモードにおいては。


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

技術/shell/標準エラー出力のパイプとリダイレクト(2)  

所有者: msakamoto-sf    作成日: 2007-04-10 04:37:45
カテゴリ: UNIX シェルスクリプト 

例えば、

bash: $ command1 >file 2>&1

だと、STDERRもSTDOUTもファイルにリダイレクトされる。
が、

bash: $ command1 2>&1 >file

だと、STDERRが画面に出力されてしまう。

http://x68000.q-e-d.net/~68user/unix/pickup?%A5%EA%A5%C0%A5%A4%A5%EC%A5%AF%A5%C8

にあるが、bashにおける"N>M"の機能は、内部的にはdup(M, N)(dup2?)をコールしている。
dup(M, N)の意は、MのファイルディスクリプタをNにコピーする。

すなわち、"N>M"の意は、Mの出力先ディスクリプタをNにコピーする。つまり、

bash: $ comman1 2>&1 >file

の意は・・・
1.2(STDERR)の出力先を、1(STDOUT)と同じくする。(=画面)
2.1(STDOUT)の出力先を、fileにする。
ということになる。よって、STDERRだけが画面に出力されるわけ。

逆に言えば、STDERRだけをlessりたい場合などは上記でオッケー。

リダイレクトはcshか、bashかによっても書き方が分かれるので忘れやすいところ。
見た目にもだまされやすい。
上記リンクを書きたかっただけじゃないかと言われればその通りだが、実際、忘れたときには上記リンク参照のこと。



プレーンテキスト形式でダウンロード
現在のバージョン : 1
更新者: msakamoto-sf
更新日: 2009-04-04 09:12:53
md5:cc52d9e8152f99b8c555eb793d991dcd
sha1:af4cd1769a9c4a8105cd7e439336400471a2dbd3

技術/shell/標準エラー出力のパイプとリダイレクト(1)  

所有者: msakamoto-sf    作成日: 2003-04-17 16:54:26
カテゴリ: シェルスクリプト 

例1:コマンド1の標準出力と標準エラー出力を「file.txt」にリダイレクトする。

bash:$ cmd1 &> file.txt
tcsh:$ cmd1 >& file.txt

例2:cmd1の標準出力を「file1.txt」へ、標準エラー出力を「file2.txt」へ。

bash:$ cmd1 1> file1.txt 2> file2.txt
tcsh:$ (cmd1 > file1.txt) >& file2.txt

備考:bashでは標準入力は「0」。tcshで括弧でくくった部分は別のシェルとして実行される。

例3:cmd1の標準エラー出力を「file.txt」へリダイレクト

bash:$ cmd1 2> file.txt
tcsh:$ (cmd1 > /dev/null) >& file.txt

例4:cmd1の標準出力と標準エラー出力をパイプを用いてcmd2へ渡す。

bash:$ cmd1 2>&1 | cmd2
tcsh:$ cmd1 |& cmd2

例5:cmd1の標準エラー出力をパイプを用いてcmd2へ渡す。

bash:$ (cmd 1> /dev/null) 2>&1 | cmd2
tcsh:$ (cmd1 > /dev/null) | cmd2


プレーンテキスト形式でダウンロード
現在のバージョン : 1
更新者: msakamoto-sf
更新日: 2009-04-04 09:10:35
md5:2d4f1c40ae91bbd1db6adfa9948ab6f5
sha1:6012787de94b449c16458f80323feaa9fab80c1c

技術/shell/bashの"-x"オプション  

所有者: msakamoto-sf    作成日: 2007-04-14 11:45:11
カテゴリ: シェルスクリプト 

仕事先で憶えた小技。

#!/bin/sh -x

これをつけておくと、実行コマンド行が"+...."みたいな形で出力されるので、何をやっているのかが一目瞭然。



プレーンテキスト形式でダウンロード
現在のバージョン : 2
更新者: msakamoto-sf
更新日: 2009-04-04 09:05:35
md5:a7b9f3294d0db63f9b53a27dca357d11
sha1:a0d2e1de17a3ca0663e8e122c497125fbedef151

日記/2007/04/14/fmlとディレクトリの"S"フラグとパーミッション  

所有者: msakamoto-sf    作成日: 2007-04-14 14:40:09
カテゴリ: Linux UNIX fml シェルスクリプト 

暫く触っていないうちにすっかり分からなくなっていた setuid 系のパーミッション。

きっかけは、geno_squidsでsetuidするのを諦めた。が、fmlでは特に何もせずともML配下のvar/logなどに、fmlのユーザーで書き込めている。何故だ?

で、fmlの場合、ML配下のvarやspoolは、

drwx--S---  2 fml fml  4096 Jan 24 22:09 spool/
drwx--S---  2 fml fml  4096 Jan 24 22:09 tmp/
drwx--S---  5 fml fml  4096 Jan 24 22:09 var/

のように"S"がセットされる。→このフラグの意味を完全に忘れていた。というか、そもそも調べなかったのか。

"S"フラグは以下の形で設定できる。

$ chmod 0000 hoge
$ chmod g+s hoge

解説は以下を参照。
http://blog.livedoor.jp/dankogai/archives/50777535.html

ディレクトリにつけることで、ディレクトリのグループでファイルを作成できるらしい。委細は不明だが、だからfmlのvar, spoolにはSフラグが立っているのか・・・?しかし、Sフラグだけではファイルの作成はできないはず。実行権も付与しないと・・・。

っつーか、素でUNIXのパーミッションを忘れている自分が居る。


プレーンテキスト形式でダウンロード
現在のバージョン : 1
更新者: msakamoto-sf
更新日: 2009-04-04 08:57:22
md5:d461fb0d035892d185a2042f732125bb
sha1:af8b34f2451dd30de07a60dde67305a183db7661

日記/2007/04/14/sendmail or postfix の aliases における:include:について  

所有者: msakamoto-sf    作成日: 2007-04-14 14:51:11
カテゴリ: Postfix sendmail サイバー日野 

きっかけはgeno_squidsでsetuidを諦めたことだった。
ところが、fmlは特別な権限設定も無しに、fmlユーザーでMLディレクトリ配下のvar, spool に書けている。なぜ・・・?

違いは、以下のように ":include:" を経由しているか、いないかだった。

・geno_squidsの(今までの)記法

alias: "|/xxx/geno_squids.pl ..."

・fmlの記法

alias: :include:/var/spool/ml/hogeml/include
→/var/spool/ml/hogeml/include の中身:
"|/xxx/fml.pl /var/spool/ml/hogeml"

そう。fmlの場合、:include:を経由しているのだ。
試しに簡単なスクリプトを組んで、上記有無を適当なaliasを設定し試したところ、見事に上記の差異が再現できた。

どうも、:include: 経由だと、続くファイルの所有者・グループでもって、ファイルの中のパイプリダイレクトが動作するらしい。これがため、fmlはfmlのowneruid/gidでもってファイルを操作できていた。

では、:include: なしの、直接パイプリダイレクト(従来のgeno_squids)だとどうしても他のユーザでは動かせないのか?

sendmailの場合は不明だが、postfixの場合、回避策はある。main.cf で default_privs に、動作させたいユーザ名を設定する。

http://www.postfix-jp.info/trans-2.3/conf/main.cf.jp

これにより、以下のように制御できる。

:include:経由→従来通り、includeファイルのowneruid/gidで動作
直接パイプリダイレクト→default_privsで設定したユーザで動作

プレーンテキスト形式でダウンロード
現在のバージョン : 1
更新者: msakamoto-sf
更新日: 2009-04-04 08:52:47
md5:ac97f331e273d814735ab06582a67356
sha1:27b5bfb33755f8dda718c099bf19fec7d796bcd1

日記/2007/04/15/Mailbox vulnerable - directory /var/spool/mail must have 1777 protection  

所有者: msakamoto-sf    作成日: 2007-04-15 23:17:43
カテゴリ: Linux セキュリティ ネットワーク 

ipop3dを用いていると、出力されることがあるらしい。

実際、確認してみると /var/spool/mail ディレクトリ自体は 0775 のパーミッションだった。

http://tome.to/hiki/hiki.cgi?Fedora%A4%C7POP%A5%B5%A1%BC%A5%D0%A1%BC%A4%CE%C0%DF%C4%EA

単純にchmod 1777 すればいいだけらしい。


プレーンテキスト形式でダウンロード
現在のバージョン : 1
更新者: msakamoto-sf
更新日: 2009-03-29 23:18:28
md5:ff417a51a0e12220f542ca0b98a9aa52
sha1:5d0b14e48d49dfe7cc8cd906e792775cbed723f1

日記/2007/04/15/Postfixでのメールキューの整理メモ  

所有者: msakamoto-sf    作成日: 2007-04-15 23:16:12
カテゴリ: Postfix sendmail 

sendmailの場合は、/var/spool/mailqueueとかmqueueとかに一括して入っていたので、それを削ればメールキューを削除したりできた。

postfixになって、いろいろなディレクトリ間をステージに応じて移動されるようになった為、メールキューを整理・操作するには

postqueue
postcat
postsuper

などのコマンドを使用する必要があるらしい。

以下参照。
http://trombik.mine.nu/~cherry/w/index.php/2006/06/13/668/too-many-messages-in-queue


プレーンテキスト形式でダウンロード
現在のバージョン : 1
更新者: msakamoto-sf
更新日: 2009-03-29 23:16:59
md5:ede0a37d507c0db30f23db77a0c4d163
sha1:74ead97eea179c02b45aa2cf5eaa93dba2b7c4bc

サイバー日野/2007/04/15/postfixの調整、他。  

所有者: msakamoto-sf    作成日: 2007-04-15 23:12:24
カテゴリ: サイバー日野 

main.cfで、deafult_privsをlainユーザにした。でないと、geno_squidsがまともに動かない。
ファイルIOに関連するモジュールを大量に使っている為、迂闊にsetuid使ってTaintモードで動かせないし。
fmlは並走できるようなので、とりあえず十分。将来的にも、メールを用いた特殊な処理をさせたい場合は、業務アプリの範疇と見なし、lainユーザで動作させることに支障はない。まあ、:include:咬ませば、その先のファイルの所有uid/gidで動いてくれるから良いけど。

あと、/var/spool/mail ディレクトリを chmod 1777 実行。ipop3dがログにうるさかったので。

とりあえず書くところが無かったので、ここに。以上。


プレーンテキスト形式でダウンロード
現在のバージョン : 1
更新者: msakamoto-sf
更新日: 2009-03-29 23:13:47
md5:770c7b25c32de907a08f55dffa1512f8
sha1:8cf3f79e700b6213a261654ce2283495627a131f

日記/2007/05/04/Etag, If-Modified-Sinceヘッダーメモ(3)(X-Padヘッダ)  

所有者: msakamoto-sf    作成日: 2007-05-04 16:19:03
カテゴリ: Web ネットワーク 

そんなこんなでIf-Modified-Sinceに対して 304 Not Modified を返すよう調整してみたら、

X-Pad avoid browser bug

というヘッダーが出力されるようになった。

・・・どうも、古いNetScapeNavigatorでは 256バイト(のN倍)のバイト境界に足らないとparseされないバグがあるらしい。ので、それを避ける為、ダミーデータをpaddingしているとのこと。

http://ml.php.gr.jp/pipermail/php-users/2003-December/019752.html

なのであんまり気にする必要はないみたい。

以上。


プレーンテキスト形式でダウンロード
現在のバージョン : 1
更新者: msakamoto-sf
更新日: 2009-03-29 23:10:23
md5:a6788ea9930d8e579f87408555a91794
sha1:c274326ccb473397400e558d6c9c2f6586c595d7