- PR -

passwdコマンドをシェルスクリプトで使いたいのです。

1
投稿者投稿内容
森蔵
大ベテラン
会議室デビュー日: 2001/08/10
投稿数: 158
お住まい・勤務地: 大阪
投稿日時: 2002-05-04 00:47
はじめまして。森谷と申します。

ユーザを作成するシェルスクリプトを作ろうと考えています。"useradd"コマンドを使用して"-p"オプションをつけてパスワードを設定したんですが、うまくログインできません。そこで"passwd"コマンドを使用してパスワードを設定してみるとログインすることが出来ました。

# /etc/shadowファイルのが"-p"オプションでしていたパスワードそのままが入ってました。# これってそういうもんなんでしょうか?

これでは面倒なので、"passwd"コマンドをシェルスクリプトでどうにかしたいんですが、"passwd"コマンドが対話コマンドなためうまい方法が見つかりません。よい知恵はありますでしょうか?
rookie
会議室デビュー日: 2002/05/04
投稿数: 1
投稿日時: 2002-05-04 03:40
Linuxに限っていえば
chpasswdコマンドを利用するといいと思います
H2
ぬし
会議室デビュー日: 2001/09/06
投稿数: 586
お住まい・勤務地: 港
投稿日時: 2002-05-04 08:25
引用:

# /etc/shadowファイルのが"-p"オプションでしていたパスワードそのままが入ってました。# これってそういうもんなんでしょうか?



そうですよ。-p オプションで入力するパスワードは暗号化されたの文字列です。平文を入力すれば平文が暗号化されたパスワードとして保存されます。よって、設定した平文を入力してもログインできません。

平文を入力するためには一行ごとにusername:passwordのフォーマットで書かれたファイルを作成して、
$ chpasswd < ファイル名
とすればよいはずです。
[ メッセージ編集済み 編集者: H2 編集日時 2002-05-04 08:29 ]

[ メッセージ編集済み 編集者: H2 編集日時 2002-05-04 08:29 ]
森蔵
大ベテラン
会議室デビュー日: 2001/08/10
投稿数: 158
お住まい・勤務地: 大阪
投稿日時: 2002-05-04 10:37
rookieさん・大ベテランさんありがとうございます。

早速やってみたところ、うまくいきました!このコマンドがあることは知りませんでした。このようなコマンドがあることを探すコツとかあるんでしょうか?
森蔵
大ベテラン
会議室デビュー日: 2001/08/10
投稿数: 158
お住まい・勤務地: 大阪
投稿日時: 2002-05-04 10:37
rookieさん・大ベテランさんありがとうございます。

早速やってみたところ、うまくいきました!このコマンドがあることは知りませんでした。このようなコマンドがあることを探すコツとかあるんでしょうか?
H2
ぬし
会議室デビュー日: 2001/09/06
投稿数: 586
お住まい・勤務地: 港
投稿日時: 2002-05-04 22:42
私は大抵、
manページの「SEE ALSO」から辿っていったり、man -k キーワードで検索したりしてます。

それでもない場合は@ITの記事や、Googleで検索してます。それでも分からないときにはRedHat リファレンスブックや大学が配ってた「UNIXマニュアル」(これが古い上に分厚くて読みにくい・・・しかもUNIXだからちょっと違ってたりする)などを調べます。

もうここまできて分からない時はここで聞くようにしてます。

#ちなみに私のハンドル名はH2です。 大ベテランではありません。(残念ながら
森蔵
大ベテラン
会議室デビュー日: 2001/08/10
投稿数: 158
お住まい・勤務地: 大阪
投稿日時: 2002-05-06 02:07
H2さんハンドルネーム間違えてごめんなさい。

manの見方があまいんだとおもいます。まずはそこからですね。また聞くことがあるかもしれませんが、その時はよろしくお願いします!
EF8
会議室デビュー日: 2002/05/07
投稿数: 3
投稿日時: 2002-05-07 17:39
echo 設定したいパスワード | passwd ユーザー名 --stdin

というシブい方法でもいけそうです。
1

スキルアップ/キャリアアップ(JOB@IT)