68user's page 掲示板

Prev< No. 1276〜1292> Next  [最新発言に戻る] [過去ログ一覧]
No. 1276 # 超メール初心者 [E-mail] 2000/10/20 (金) 13:18:44
追記します。
下記の例は、添付ファイルがついていた場合
メール転送しないという意味で書いています

No. 1277 # 超初心者 [E-mail] 2000/10/20 (金) 16:16:55
68userさん、hsjさん。返信ありがとうございます。
やはりそうですか・・・。
さすがにセキュリティを下げると問題があるので、コマンドレベルから
やることは破棄せざるをえなくなりました。
その代替となると、passwdコマンドのソースを研究するしかないのかもしれませんね。どこかにそんなことを詳しくのっている場所はないでしょうか?
現在自分自身でも検索中です。

No. 1278 # hsj 2000/10/20 (金) 21:45:44
@68userさん
スミマセン、ぼくの確認方法が正しくなかったようです。
確実な方法で確認したところ、確かにnews.yahoo.co.jpは
LFしか返してきませんね。はー

>  http://x68000.startshop.co.jp/~68user/cgi-bin/wwwboard.cgi?log=1135
> の書き方はちょっとアレなので、書き直すと、
>  http://news.yahoo.co.jp/headlines/top/
> のヘッダ/ボディのセパレータは LF になってます。
こっちの意味は取り違えてなかったんですが(苦笑

@超初心者さん
いやそうではなくて、ユーザが任意の文字列を選ぶ際に、
その文字列のパスワードとしての強度を(ある程度)判定してくれる物を
取り除いてしまうこと自体が「改悪」だと言う意味です・・・。

No. 1279 # ケイ 2000/10/21 (土) 00:34:11
お礼が遅れてすいませんでした。
てっきり頼り過ぎたので無視されたと
思って掲示板を見てませんでした(^^;
なるほど、良く分かりました。
ありがとうございました

No. 1280 # 68user 2000/10/21 (土) 15:25:40
> 超初心者
> 超メール初心者
> 超ビギナー
こういうハンドルはやめてください。そこまで匿名性を
求めるならば、www.2ch.net などを利用してください。

> 今、procmailを用いて転送制限の設定を行っているのですが
> 添付ファイル付きのメールを転送しない設定ができません。
まずは ~/.procmailrc の先頭に LOGFILE=$HOME/procmail-log
などと書いて、ログを取りましょう。原因究明はその後です。

> passwdコマンドのソースを研究するしかないのかもしれませんね。
まぁそうなりますが、passwd は人間様が対話的に使うコマンド
なので、*BSD ならスクリプト向きの pw コマンドってのが
あります。これは root での使用を前提としているので、
指定したパスワードをそのまま設定してくれます。Redhat
Linux にも、その手のコマンドがあるかもしれません。

で、以下のようなスクリプト
    #!/usr/bin/suidperl
    $username=$ARGV[0];
    $newpasswd=<STDIN>;
    chomp($newpasswd);
    echo $newpasswd | pw usermod -n $username -h 0
を passwd_change という名前で保存して、
    # chmod 4755 passwd_change
    # chown root passwd_change
しておけば、誰でも
    % echo newpasswd | passwd_change username
で変更できます。

もちろんこのままでは、セキュリティもへったくれもないので
何かしらの制限を付けないといけません。

@has
文字コードの件、了解です。

No. 1281 # Madstar [E-mail] 2000/10/22 (日) 02:40:11
どうも皆さん始めまして。

私は最近Cygwinでプログラミングの勉強を始めました。
Linuxのことはまだほとんどわからないので2つ同時に
勉強しなければならないので大変です(^_^;)

で、インターネットで拾ってきたいろんなサンプルソースを
コンパイルして遊んでるんですが、LinuxとWin32での
ソースレベルでの互換性に疑問があります。

たとえば、あるサンプルソースの場合、シリアルポートにアクセス
するのに

#makefile
SERIALDEVICE = /dev/ttyS0

#tool.c
/* setup serial port */
void open_serial(char *devicename)
{
        struct termios newtio;

        dfd = open(devicename, O_RDWR | O_NOCTTY);
        if (dcfd < 0) {
    perror(devicename);
    exit(-1);
        }

        open_serial(SERIALDEVICE);

という具合にデバイスをオープンしているのですが、
このソースをWin32アプリとしてコンパイルしても当然(?)動きません。

で、SERIALDEVICEの部分を COM1 に変えて見たのですが、これも
動きませんでした。

他のファイルやソースを眺めてみても、良くわからないのですが、
この場合、Win32で動作させるにはどのようにすべきなのでしょうか?

No. 1282 # 雅人 2000/10/23 (月) 00:40:25
ども、はじめまして。雅人と言います。
質問なのですが
掲示板をつくろう(1)でperlを書くならEUCで書くべきと
書かれてたのでSJIS(CRLF)からEUC(CRLF)に変換したところ
逆に文字化けが起こってしまいました。
ローカルな環境(win95)でもアップロード先(virtualave.net)
でも文字化けが起こってしまいます。
これの原因とは一体なんなのでしょうか?
よろしくお願いします。

No. 1283 # 宗佑 [E-mail] 2000/10/23 (月) 11:16:10
超メール初心者あらため宗佑です。

procmailの転送設定、自己解決しました。
記述が足りなかっただけでした。
うーん、奥が深いですね、メール転送。
これからスクリプトを徐々に複雑にしていこうと思います。

でもprocmailを記述しているHPって少ないものなんですね。
載っている例も基本的なものです。
私も自分で試している途中ですが、procmailの達人みたいな例の
載っているHPをどなたかご存知内でしょうか?
お願いいたします

No. 1284 # 68user 2000/10/23 (月) 22:30:07
@雅人さん
> ローカルな環境(win95)でも
メモ帳などのエディタで化ける、ということならば
EUC を読めるエディタを入手して下さい。

> アップロード先(virtualave.net) でも
ブラウザの文字コード設定を「日本語 EUC」として直るならば、
CGI の出力する日本語部分が短かすぎるため、ブラウザが
文字コードを正しく解釈していないのでしょう。その場合は、
    print "Content-type: text/html\n\n";

    print "Content-type: text/html; charset=EUC-JP\n\n";
として下さい。

@宗佑さん
> でもprocmailを記述しているHPって少ないものなんですね。
> 載っている例も基本的なものです。
確かに少ないですね。僕もあまり見かけたことがありません。
ただ、基本的なところをわかっていれば procmailrc(5) と
procmailex(5) でなんとかなることも多いです。

@Madstar さん
うーん、さっぱりです。シリアルポートの操作さえしたことがないので…。

No. 1285 # 68user 2000/10/24 (火) 00:21:28
>  print "Content-type: text/html; charset=EUC-JP\n\n";
> として下さい。
というより、Content-type ヘッダには EUC-JP/Shift_JIS/ISO-2022-JP
などの charset を付加 *すべき* です。

僕のところの CGI プログラムには一部にしか付いていませんが、
これは悪い CGI の見本です。必ず charset を付けましょう。

No. 1286 # 雅人 2000/10/24 (火) 00:46:24
どうも、ありがとうございました!
無事できました。

No. 1287 # 海苔王 2000/10/24 (火) 16:51:10
みなさん、はじめまして。海苔王と申します。
現在、ソラリス7でサーバーを構築しています。
apache,sendmail,popper と動かしてきて、昨日までは
メールが動いていたのですが、突如、受信ができなくな
ってしまいました。電八で出たエラーは以下のとおりです。 +OK QPOP (version 3.0.2) a ******starting.
C: USER ***
S: +OK Password required for ******
C: PASS ********
S: -ERR [SYS/TEMP] maillock error 3: '/usr/mail/*****'

といった内容でした。sendmail.def からいろいろ見直したのですが、
うごきませんでした。どうかアドバイスお願いします。

No. 1288 # 68user 2000/10/24 (火) 23:44:09
チェック項目を思い付くままに。
    1. /var/log/messages や /var/log/maillog に詳細なエラーは出ていないか
    2. /usr/mail/ のパーミッションがおかしくなったのではないか (ls -ld /usr/mail)
    3. /usr/mail/ にロックファイルらしきものは残っていないか (ls -lA /usr/mail)
    4. ディスクの残り容量は (df -k)。i-node space が枯渇していないか (dk -ki)
    5. ソースから grep maillock して、エラー箇所を捜し出す
あと重要なのが、全ユーザでメールを取得できないのか、
一人だけメールを取得できないのかってこと。全ユーザなら
1,2,4 あたり。一人だけなら 3 をチェック。

ってな感じでしょうか。

No. 1289 # Madstar 2000/10/26 (木) 00:25:25
>うーん、さっぱりです。シリアルポートの操作さえしたことがないので…。

残念です(T_T)

まぁシリアルポートなんて今更余り使わないですよねぇ(^_^;)
いろいろ検索かけてるんですが、さっぱりです。

No. 1290 # mm 2000/10/26 (木) 00:51:17
>まぁシリアルポートなんて今更余り使わないですよねぇ(^_^;)
DOS時代には、awkで
print "AT" > "AUX"
みたいな感じでモデムとお話してましたが、
Windowsではどうなんだろう…試してません(^^;

No. 1291 # hsj 2000/10/26 (木) 01:22:13
> シリアルポート
ぼくの当てにならない記憶によると、
winでシリアルポートを開くときはAPIのCreateFile()を使うはずです。
その辺を調べてみてください。
で、この辺のソースはwin系と*nix系での互換性を維持するのは
難しいところだと思います。
ぼくはCygwinは使ったことありませんが、おそらくopen()を実装するのに
このAPIを使ってると思うので、もしかしたら開けるかもしれません。
が、結局フラグが違うでしょうからあまり意味無いと思います・・・。
#そもそもLinuxのopen()ってシステムコールですしね

No. 1292 # ありしあ 2000/10/26 (木) 16:37:09
初めまして。
Perlの勉強をし始めたばかりなのですけど、ソケットを使ったクライアントプログラムの作り方とか…全くの初心者な私にはすごく解りやすくて、それに読みやすかったです。

全部説明しよとう難しくなってるサイトや、簡単に説明しようと補足説明が抜けてるサイトも多いですけど、このサイトの説明はとても解りやすいです。
えっと感想をここに書いて良い物かどうか解りませんが、本当に参考になりました。ありがとうございます。

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