質問: ユーザ追加のスクリプト作成について教えてください linuxでスクリプトを作りたいのですが初めてでしてアドバイスいただきたいのですが。「ユーザを加え、パスワードの設定。その後確認画面として/etc/passwordと/etc/shadowにて新規に作成したユーザとパスワード”のみ”表示される」とゆうのが条件です。更にwhileを使ったユーザを作成したのちのy/nの応答でnを入力するまでは繰り返しユーザの追加が行えるようにしたいのですが。 途中まで教科書片手に作りましたが行き詰まってしまいました。 variableに混乱しています。 continue=y while [ "$continue" != "n" ] do echo "adding a user" useradd -d /etc/shadow "$username" echo -e "type a user name" /c read username passwd "$password" echo -e "type a password" /c read password
回答: 私もno1さんに賛成だなぁ。なんか既にめちゃくちゃだもの。useraddのオプションもヘンだし。 スクリプトを作る意義は聞かないことにして(勉強のためだと理解するとして)、このような処理をするときは、すべての変数を取得してから目的のコマンド(useradd)を動かすのが普通です。 また、取得したパスワードの変数を表示するのは可能ですが、/etc/shadow からパスワードを導き出すのは不可能です(パスワードフィールドは不可逆に暗号化されてます)。 とりあえず足し算のループあたりから作るのが安全は無いでしょうか。