68user's page 掲示板

Prev< No. 2427〜2432> Next  [最新発言に戻る] [過去ログ一覧]
No. 2427 # 橋本 [E-mail] 2002/01/21 (月) 19:21:39
>>2425 68user
「特定のメールアドレスにメールが届いたらコマンドを実行する」は、
(/etc/mail/aliases)に mailuser :"|/etc/mail/mail-program"
と記述しています。

よろしくお願いします。

No. 2428 # 68user 2002/01/21 (月) 19:48:29
>>2427 橋本
> ●メール受信時に動作するシェルスクリプト
で /usr/bin/id > /tmp/id.result などとすれば、どの権限で
動いているのかがわかります。

一般的には、/etc/mail/aliases に
    mailuser :"|/etc/mail/mail-program"
とあるなら、/etc/mail/mail-program というファイルの権限で動きます。

例えば
    % ls -l /etc/mail/mail-program
    -rw-r--r-- 1 hoge wheel 46632 Sep 19 02:30 /etc/mail/mail-program
ならば hoge 権限で動く、ということです。

No. 2429 # 橋本 [E-mail] 2002/01/21 (月) 21:31:13
>>2428 ですが、
mail-programの権限は以下のようになっています。↓
-rwxr-xr-x 1 root root 165 1・21 19:55 mail-program

また /usr/bin/id > /tmp/id.resutl の結果は以下になりました。↓
uid=2(daemon) gid=2(daemon) groups=2(daemon),1(bin),4(adm),7(lp)

やはり"deamon"で実行されているようです。sudoresにも正しく設定して
いるつもりなのですが、シェルスクリプトは動作しません。
deamonに関してはsudoが使えないのでしょうか。

何かよい方法ありましたら教えてください。
宜しくお願いします。

No. 2430 # 68user 2002/01/21 (月) 21:34:18
>>2429 橋本
…ふむ。

deamon でなく daemon です。sudoers を修正してみて下さい。

No. 2431 # 橋本 [E-mail] 2002/01/21 (月) 21:52:17
>>2429 橋本

どうもありがとうございます。
deamonではなく"daemon" に修正したところ上手くいきました!

とてもお恥ずかしいですが、すごくうれしかったです。
ありがとうございました。

No. 2432 # ふくし [E-mail] 2002/01/23 (水) 17:20:59
こんにちは。ヒサブリに質問です。

下のような CGI で euc、sjis の文字列をブラウザに表示します。

#! perl -w
# ~/public_html/cgi-bin/moji.cgi

use CGI;
use Jcode;

my $q = CGI->new;
print $q->header();
print $q->start_html();
print $q->start_form(-action=>'./answer.cgi');

$str_euc = 'こんにちは';
$str_sjis = $str_euc;
Jcode::convert(\$str_sjis, 'euc', 'sjis');

print "euc: $str_euc <br>";
print "sjis: $str_sjis <br>";
print "unpacked euc: ".unpack("H10", $str_euc)."<br>";
print "unpacked sjis: ".unpack("H10", $str_sjis)."<br>";
print "eq:".($str_euc eq $str_sjis)."<br>";

コード自体は EUC で書きました。
ブラウザの設定を EUC にすると、
当然のように、EUC 部分は正しく、sjis 部分は文字化けになります。
(本当は sjis 部分は半角カナになりました)

http://www/~fukushi/cgi-bin/moji.cgiの表示)
euc: こんにちは
sjis: 、ウ、・ヲヒ、チ、マ
unpacked euc: a4b3a4f3a4
unpacked sjis: 8ea48eb38e
eq:

これ、ブラウザの設定を sjis にすると、
euc も sjis も文字化けになります。
これはなぜでしょう?

http://www/~fukushi/cgi-bin/moji.cgiの表示)
euc: 、ウ、・ヲヒ、チ、マ
sjis: 痔宍痔・ヲ射痔蔀痔煮
unpacked euc: a4b3a4f3a4
unpacked sjis: 8ea48eb38e
eq:

で、下のように出力する文字列を URL から取得します。

#! perl -w
# ~/public_html/cgi-bin/moji.cgi

use CGI;
use Jcode;

my $q = CGI->new;
print $q->header();
print $q->start_html();
print $q->start_form(-action=>'./answer.cgi');

$str_euc = $q->url_param('greeting');
$str_sjis = $str_euc;
Jcode::convert(\$str_sjis, 'euc', 'sjis');

print "euc: $str_euc <br>";
print "sjis: $str_sjis <br>";
print "unpacked euc: ".unpack("H10", $str_euc)."<br>";
print "unpacked sjis: ".unpack("H10", $str_sjis)."<br>";
print "eq:".($str_euc eq $str_sjis)."<br>";

こうすると、ブラウザの設定を euc にすると、
なんと、euc も sjis も正しく表示されます。

http://www/~fukushi/cgi-bin/moji.cgi?greeting=こんにちは の表示)
euc: こんにちは
sjis: こんにちは
unpacked euc: a4b3a4f3a4
unpacked sjis: 8ea48eb38e
eq:

ブラウザの表示を sjis にすると、euc 部のみ正しく表示されます。

http://www/~fukushi/cgi-bin/moji.cgi?greeting=こんにちは の表示)
http://www/~fukushi/cgi-bin/moji.cgiの表示)
euc: こんにちは
sjis: 、ウ、・ヲヒ、チ、マ
unpacked euc: a4b3a4f3a4
unpacked sjis: 8ea48eb38e
eq:

これはなぜでしょう?
サーバーの OS は FreeBSD 2.2.8-RELEASE、
言語は jperl5.005_03-990612 EUC Version(Latin モードで使用)、
クライアントの OS は Windows 2000 server、
ブラウザーは Netscape Navigator 4.75 です。

Prev< No. 2427〜2432> Next  [最新発言に戻る] [過去ログ一覧]