68user's page 掲示板

Prev< No. 3607〜3612> Next  [最新発言に戻る] [過去ログ一覧]
No. 3607 # バンガード [URL] [E-mail] 2004/03/08 (月) 16:00:43
色々と調べたのですが、どうしても分かりません。
以下の機能のスクリプトを作成中です。

1.ユーザーに入力を促し、ユーザーID、パスワードを入力させる。
2.入力されたパスワードの整合性チェック
                文字数、英文字数、数字文字数、ユーザーIDと不一致etc.
3.正しいパスワードであった場合、passwdコマンドを実行し該当ユーザーのパスワードを変更。

問題は、上記の「3」です。
ユーザーが入力したパスワードをそのままpasswdコマンドに渡し、パスワード変更を行いたいのですが、入力されたパスワード文字列をpasswdコマンドに渡すことが出来ません。
通常時のpasswdコマンド実行時の様に旧パスワード/新パスワード/新パスワード(再入力)を促さずに、変数として持っているパスワード文字列をpasswdコマンドに渡すことは出来ないでしょうか?

環境はAIX 5.2でシェルは出来ればkshで実現したいと考えています。

No. 3608 # 68user 2004/03/08 (月) 17:55:21
>>3607 バンガード
AIX は知りませんが、一般的な UNIX では root 権限があれば
元パスワードを聞かれることはないと思います。
    http://publib16.boulder.ibm.com/pseries/Ja_JP/cmds/aixcmds4/passwd.htm

ただしプログラムで制御するなら、pwdadm を使った方が
よいような気がします。
    http://publib16.boulder.ibm.com/pseries/Ja_JP/cmds/aixcmds4/pwdadm.htm

passwd は人間が操作することを前提としたコマンドなので。

No. 3609 # zsh 2004/03/09 (火) 00:49:09
>>3607 バンガード
passwdコマンドは端末からの入力しか受け付けないため
シェルからpasswdコマンドへ直接値を渡すことは出来ません。
expectを使うのが一般的?かなと思います。
(Solaris以外はさっぱりなので参考程度に。)

>>3608 68user
AIXにはpwdadmというコマンドがあるのですね。
HP-UXのshの話といい、色々と参考になります。

No. 3610 # 68user 2004/03/09 (火) 01:30:50
>>3609 zsh
> passwdコマンドは端末からの入力しか受け付けないため
> シェルからpasswdコマンドへ直接値を渡すことは出来ません。
UNIX 一般の話であれば、そうでもありません。Linux では
    % ( echo oldpasswd ; sleep 3 ; \
            echo newpasswd ; sleep 3 ; \
            echo newpasswd ) | passwd
でできました。Solaris8 だと不可でしたが、本当に端末が
ない状況 (cron からとか、CGI からとか) でやるとうまく
いったりするかも、とか思ったりします。

なぜ sleep が必要かについてはよくわからないんですが、
そのうち Linux の passwd のソースを読んでみよう。

>>3593 へにか
遅くなりましたが、2key-3DES について。お待たせしたわりに
技術的な話ではないんですが…。

http://x68000.startshop.co.jp/~68user/net/crypt-1.html では、
      2key-3DES はやめといた方がいいよ。なぜなら、こんな
      攻撃方法があって、現時点では (全数探索を除くと) 最も
      現実的な攻撃と思われるからでありますよ。
ということを書きたかったのです。よって、これに対して

> 確かに2つの鍵を使う3DESは攻撃方法がある、ということも
> 書いていますが、どっちかって言いますと、既存の方法、すなわち、
> §2の、Merkle-Hellman Attackの方法よりも、早い方法がありますよ、
という指摘はちょっと意図が図りかねるなぁと思っておりました。

つまり Merkle-Hellman Attack の選択平文攻撃よりも既知
平文攻撃の方が脅威であるため、
    「Merkle-Hellman Attack の方は紹介しなくていいかな。
        論文も見つからないし」
と思ったわけです。もしこの認識が誤りであればご教示願います。

No. 3611 # へにか [URL] 2004/03/09 (火) 07:23:26
>>3610 68user

> つまり Merkle-Hellman Attack の選択平文攻撃よりも既知
> 平文攻撃の方が脅威であるため、
> 「Merkle-Hellman Attack の方は紹介しなくていいかな。
> 論文も見つからないし」

当時の僕は論文の意図しか見ておらずこの、「論文も見つからない」
ということ、特に誰でも容易にハイパーリンクを辿ることによって
確認できる方法が無い、というところまで、頭が回っていませんでした。

> と思ったわけです。もしこの認識が誤りであればご教示願います。

いえ、少なくとも現在の僕の認識とは同一です。

#僕の勇み足だったと思います。お詫び申し上げます。

No. 3612 # バンガード [URL] [E-mail] 2004/03/09 (火) 10:09:31
>>3610 68user
バンガードです。

この掲示板を使うのが初めてなので、うまくコメント出来ていなかったら御免なさい。

>UNIX 一般の話であれば、そうでもありません。Linux では
> % ( echo oldpasswd ; sleep 3 ; \
> echo newpasswd ; sleep 3 ; \
> echo newpasswd ) | passwd
>でできました。Solaris8 だと不可でしたが、本当に端末が
>ない状況 (cron からとか、CGI からとか) でやるとうまく
>いったりするかも、とか思ったりします。
        at コマンドで試してみましたが、残念ながら駄目でした。

        引き続きpwdadmについて調査致します。
        また、結果を報告させていただきます。

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