|
>>2425 68user 「特定のメールアドレスにメールが届いたらコマンドを実行する」は、 (/etc/mail/aliases)に mailuser :"|/etc/mail/mail-program" と記述しています。 よろしくお願いします。 |
|
>>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 権限で動く、ということです。 |
|
>>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が使えないのでしょうか。 何かよい方法ありましたら教えてください。 宜しくお願いします。 |
|
>>2429 橋本 …ふむ。 deamon でなく daemon です。sudoers を修正してみて下さい。 |
|
>>2429 橋本 どうもありがとうございます。 deamonではなく"daemon" に修正したところ上手くいきました! とてもお恥ずかしいですが、すごくうれしかったです。 ありがとうございました。 |
|
こんにちは。ヒサブリに質問です。 下のような 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 です。 |