【Perl上級者コーナーPart01】at PHP
【Perl上級者コーナーPart01】 - 暇つぶし2ch440:nobodyさん
07/06/20 00:59:21
>>439
低級者のレスはいりません

441:nobodyさん
07/06/20 01:26:40
>>438
一行に500文字が入っているの?
SMTPの仕様だか、実装だかに一行の最大文字数みたいな制限があったはず。
途中に改行入れていて500文字だったらスマン、わからん。

442:nobodyさん
07/06/20 06:41:47
>>441, >>443-
低級者のレスはいりません。

443:438
07/06/20 10:56:39
>>441
どうやらビンゴのようです。
改行入れると化けません。
SMTPの仕様でしたか。。。
この仕様について色々と調べてみたいと思います。
大変参考になりました、ありがとうございます!

444:438
07/06/20 13:04:00
完全に文字化けが直りました。
>>441さんに多謝!

445: ◆lVJAPUTeX.
07/07/24 21:05:58
>>441

RFC2822によれば、CRLFを入れて1000文字 (オクテット) ですね。
Sendmailでは長い行を自動的に分割します。
500文字というのはShift_JISで書かれた日本語での換算かな?

…とここまで書いて1ヶ月前の記事ってのに気づいた。まあいいや。

446:nobodyさん
07/08/19 05:01:02 LoxscrBM
Perlからメールアカウントの追加をしたいんですが、どうやったらええんでしょ?
MTAはqmailでvpopmailでバーチャルドメイン運用してます。

root権限もあります。
perlからの会員登録と同時にメールアカウント作成みたいなもんをしたいんですが。


447:446
07/08/21 17:15:45 HBIrwO1t
誰か~~

助けておくれ><;


448:nobodyさん
07/08/21 19:24:10
UNIXユーザーか仮想ユーザーか、自力でシミュレートして登録するか
外部コマンドを利用するか等で実現方法が変わる。

外部コマンド使う場合
・パイプ、system関数 or バッククォートで外部コマンドを実行
・uidをrootにしsetuidする
・強制的にテイントモードになるのでサニタイズする
ここら辺注意すれば比較的簡単に出来ると思う。

449:446
07/08/23 03:02:56 i/ueFIKi
>>448
ありがとうございます。
おかげさまで解決しました。
Insecure $ENV{PATH} while running setuid at ./hoge.cgi line xx.
というエラーが出て少し悩みましたが。


450:446
07/08/23 22:35:13 i/ueFIKi
すいません。もう一つ質問です。

setuidでroot権限で実行する方法なんですが、mod-perlだとroot権限になりませんね。
できればmod-perlで動かしたいんですが、方法はあるんでしょうか?



451:nobodyさん
07/08/24 06:17:27 ZilCg/Oy
これはまたひどい後出し

452:nobodyさん
07/08/24 13:37:27
>>450
mod_perlの動作原理をちょっと考えればわかることだが、不可能

453:nobodyさん
07/08/24 17:19:07
・BIGSECURITYHOLEオプションでapacheをrootで動作させる。
・外部コマンドを実行するプログラム(setuidされた)をmod_perlから呼び出す。
・sudoを使う
思いつくのはこんぐらいかな。

454:446
07/08/24 23:47:48 IBL+ZrlN
>>453
ありがとうございます。
apacheをrootで動かすのは怖くてできません><;

2つ目のプログラムを分けてmod-perlから呼び出すプログラムに数値を渡すにはファイル書き込みか何かで渡す他ないんですよね?
これならできそうです。

3つ目のsudoは
perlプログラム内(test.cgi)に以下の外部コマンド
`script /dev/null -q -c 'sudo -u root /home/vpopmail/bin/vadduser -r hoge\@hogehoge.com'`;

visudoにて以下を追加
apache ALL=(root) NOPASSWD: /var/www/test.cgi

で実行してみましたが、secureログには
sudo: pam_unix(sudo:auth): authentication failure;
と出ます。sudoがシンプルで良いと思っているのですが、認証失敗は何が原因でしょうか?


455:446
07/08/24 23:57:13 IBL+ZrlN
あ。test.cgi自体をsudoで動作させなきゃ意味ないですよね。
どうしたらtest.cgiをsudoで動作させられるんでしょう?><;



456:nobodyさん
07/08/25 02:55:37
それはperlと関係ない話だからなぁ
sudoでググれば普通にわかるべ

つーか、そもそもmod_perl使わなきゃいいだけの話じゃないのか?
そんな何回も実行するようなもんじゃないし、危ない橋を渡ることもあるまいに

457:446
07/08/25 03:35:05 YKfJDMUn
あ。解決しました。
visudoには
apache ALL=(root) NOPASSWD: /home/vpopmail/bin/vadduser
ですね。

教えてくださった方々ありがとうございました。


458:nobodyさん
07/08/25 07:04:35 uu0LXyl+
URLリンク(icomu.jp)

459:nobodyさん
07/08/25 08:17:45 XkW9fGs3
URLリンク(inoken.tv)

460:nobodyさん
07/10/08 21:00:42
さげさげ


最新レス表示
レスジャンプ
類似スレ一覧
スレッドの検索
話題のニュース
おまかせリスト
オプション
しおりを挟む
スレッドに書込
スレッドの一覧
暇つぶし2ch