[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[debian-users:26078] Re: change passwd in shell



碇です。

Tomoo Nomura wrote:

> こんにちは。
>
> というようなscriptを動かすことはできるのでしょうか?多分、標準入力ではな
> いので、
> passwd 3<&0 << EOF
> とかの変更は必要と思うのですが、どうも上手く動きません。
>
> 野村
> --
>

passwd ってretypeを求めてくるのでexpectが必要じゃないでしょうか?
#!/usr/bin/expect
set user [lindex $argv 0]
set passwd [lindex $argv 1]
spawn passwd $user
expect "Enter new UNIX password:"
send "$passwd\n"
expect "Retype new UNIX password:"
send "$passwd\n"
expect "passwd: password update successfully"

こんな感じで
あと、if文でpalindromeとかsimpleとか分岐させるのじゃだめでしょうか?
chpasswdというコマンドもありますけど使ったことが無いので
わかりません。
そういえば、いつのころからかuseraddでホームディレクトリが作成されなく
なりましたね。
大量のユーザーを一気に登録する場合は、
newusersを使うかもしくはスクリプトを自分で書くしかないのですかね。




--
****************************************
    碇 永志  PCA(株) ikari@xxxxxxxxx
****************************************