• ベストアンサー
  • 困ってます

バッチ処理からのユーザ登録+パスワード設定

RedHat Linux 4.2 でユーザの登録+パスワードの設定を プログラムから行おうといているのですが、いい方法が見つかりません。 現在はプログラムから「adduser」コマンドでユーザ登録 することはできています。 その後、パスワードの設定に「passwd」コマンドを利用しようとえていましたが、「passwd」コマンドはパスワードを再入力するようきいてくるので正常に起動されません。 コマンド:”#/bin/passwd < /パスワードを記述したファイル” どなたかよい方法をご存知に方、お教えください。 追伸) RedHat Linux 6.0 では「newusers」を使用して出来たのですが、私の利用している RedHat Linux 4.2 が存在しないの利用できていません。

noname#1261

共感・応援の気持ちを伝えよう!

  • 回答数1
  • 閲覧数417
  • ありがとう数1

質問者が選んだベストアンサー

  • ベストアンサー
  • 回答No.1
  • ita3
  • ベストアンサー率67% (25/37)

パスワードを自動で更新するだけなら、expect が使えます。 RedHat4.2で入って居なければ、rpmで探せば見つかると思 います。 例えば、UIDとパスワードを ------ userpass ------- user1,password1 user2,password2 . . . ----------------------- というファイルで作成しておいて、 次のexpectスクリプトを作成します。 ----- chgpass.ep #!/usr/local/bin/expect set password [lindex $argv 1] spawn passwd [lindex $argv 0] expect "*password:" send "$password\r" expect "*password:" send "$password\r" expect eof --------------------- 次に、実際に動かすためのスクリプトを こんな感じで作成します。 ---------- chgpass.sh ---- #!/bin/sh for i in `cat $1` do USER=`echo $i | cut -f 1 -d,` PASS=`echo $i | cut -f 2 -d,` ./chgpass.ep $USER $PASS done --------------------------- chgpass.ep と chpass.sh を chmod 755 しておいて スーパユーザになったあとに # ./chpass.sh userpass とすればいいでしょう。 ただし、パスワードが短いとか不正なやつは、エラーで 止まってしまいますので気をつけてください。 この方法だと、RedHatに限らず、FreeBSDでも、Solaris でも対応可能です。Expect入れとく必要があるんですが...

共感・感謝の気持ちを伝えよう!

質問者からのお礼

詳細な回答ありがとうございました。m(。_)m

関連するQ&A

  • パスワードを期限切れにしたい

    RedHat Enterprise Linux ES2.1を使用しています。 新しいユーザーを作成し、そのユーザーにすぐパスワードを変更してもらうため、 新しいユーザーを作成し、最初ののパスワードを設定した時点で、期限切れにしたいのです。 色々調べて、「passwd -e ユーザー名」のコマンドでできると書いてあるページを見つけましたが、 やってみたところ、unknown optionとなり、ダメでした。 UNIXではできるようですが、Linuxでできる方法はないのでしょうか。

  • ドメインユーザーの一括登録・詳細設定

    今回、業務で2000アカウントほどドメインに新規で登録することになったのですが、とても手作業で登録できる量ではないので、adduserかnet userでのバッチファイルでの一括登録を考えています。 ですが、上記コマンドだと詳細な設定がちょっと難しい?ように思えます。 今回設定したいのは ・ユーザーのアカウントとパスワード ・特定のユーザーはパスワード期限がなく、ある特定のユーザーはパスワードの有効期限を設定したい。 ・特定のユーザーは初回ログオン時にパスワードの変更が必要だが、特定のユーザーは特に変更しなくてよい(ダイアログを出さない) ・・・というユーザーごとにアカウント&パスワードのポリシーが違うのですが、これらの設定をコマンドから行うことは可能でしょうか?

  • パスワード設定していないユーザーのログイン

    いつもお世話になっております。 linuxで、useraddした後、passwdコマンドでパスワードを設定していないユーザーがいます。ここでは、postgresとします。 このユーザーに一般ユーザーからなるときに、 $su - postgres としますが、パスワードがきかれて、何も入力しないと、 invalidになります。(centos5) パスワードを設定しないと、一般ユーザーからログインできないのでしょうか。 ちなみに、rootからpostgresですと、ログインできます。 $su - $su - postgres お手数をおかけしますが、なにとぞご教授お願いいたします。

  • サーバ移行のユーザ移動&パスワード

    初心者ですいません。 現在Turbolinux6を使っています。 最近PCを購入してTurbolinux7をインストールしたパソコンがあります。 Turbolinux6の方には100個ぐらいのアカウントを作っていますが、これをTurbolinux7にユーザ、パスワードを移動させたいのですがまともにadduserしてpasswdを設定しなければならないのでしょうか? もし良い方法がございましたらご教授頂けると大変助かります。

  • LDAPユーザー認証で、設定後パスワード変更したいが、、、

    RedHatLinux9+OpenLDAPで3台のサーバー(RedHat9+RedHat7+Solaris9)のユーザー認証させようと思ってます。 今現在ユーザー登録は、登録時に仮パスワードを発行、その後ユーザーに任意のパスワードに変更してもらうようにしています。でもこれだとその都度LDAPに登録しなおさないといけないわけですよね? LDAPからそのユーザーのエントリを削除してから入れなおすという順序になるんでしょうか? 追加ユーザー数が百近くあり、これは現実的ではないので、何かいい方法がないかと模索しています。 みなさんはこの辺をどう処理しているんでしょうか? よろしくお願いします

  • 現在MySQLの特権ユーザー(root)にパスワードが設定されているかどうか知る方法。

    シェルの超初心者です。 現在MySQLの特権ユーザー(root)にパスワードが設定されているかどうか知るには、どのようなコマンド(方法)を使えばよいのですか? サーバは、レンタルサーバです。 CentOS 5.3(Red Hat Enterprise Linux 5と別コマンドになる場合は、Redhatのコマンドも教えて下さい。) PHP 5.1.x MySQLの特権ユーザー(root)にパスワードを設定する方法は、下記サイトでわかりました。 http://y-kit.jp/saba/xp/mysqlsetup.htm#root よろしくお願いします。

  • MySQLにユーザを登録したい

    のですがLinuxではどのようなコマンドで登録するのでしょうか? パスワードを設定するのは mysqladmin -u root password 'xyz' -p でできることは分かるのですが 最初から存在するroot以外のユーザを作る方法がわかりません

    • ベストアンサー
    • MySQL
  • Linuxでuseraddコマンドでユーザを作成

    したときにそのユーザのパスワードは何になるのでしょうか? すぐにpasswdコマンドでパスワードを登録するのが普通ですが もしpasswdコマンドしなければ そのユーザのパスワードは何になるのでしょうか?

  • PuppyLinux 既存ユーザのパスワードは?

    LINUX初心者です. PppyLinux 4.3.1を使用しています./etc/passwd を見ると,インストール直後でも いくつもの既存ユーザが登録されています. これらのユーザのパスワードはどこかで公開されているのでしょうか? (rootは,woofwoofと,どこかで見たことがありますが?) それとも,利用者が変更の必要がなければ知る必要がないので,公開されていないのでしょうか?

  • パスワードの変更

    RedHat7.2Jを利用しております。 あるユーザ(rootではありません)のパスワードをpasswdコマンドで変更しようとしたのですが、新パスワードを入力すると it is based on a dictionary word と出てきてしまい受け付けてくれません。 何度かトライすると最後は passwd:Authentication toke manipulation error となって終了してしまいます。 新パスワードはある固有名詞なので一般的な名詞ではないですし、以前使っていたものでもないはずなのですが、いずれにせよ強制的に新パスワードを受け付けさせる方法は無いものでしょうか?