事前定義されたパスワードでユーザーを生成するスクリプトを作成します。

事前定義されたパスワードでユーザーを生成するスクリプトを作成します。

簡単なスクリプトが必要です。

nameというファイルはuserID10個のunixIDで構成され、nameという他のファイルはpasswdfileの10個のunixIDの10個のパスワードで構成されていますuserID。各ファイルの最初の単語は unixID とその unixID に対応するパスワードを表します。

特定のユーザーIDにパスワードを割り当てるには、2つのforループまたは別の操作を実行する必要があると思います。

誰でもどんな提案がありますか?

ベストアンサー1

ファイルを使用してください記述子単一のwhileループ実行で2つのファイルの入力を読み込みます。例は次のとおりです。

#!/bin/bash

# Assign file descriptors to users and passwords files
exec 3< users.txt
exec 4< passwords.txt

# Read user and password
while read iuser <&3 && read ipasswd <&4 ; do
    # Just print this for debugging
    printf "\tCreating user: %s with password: %s\n" $iuser $ipasswd
    # Create the user with adduser (you can add whichever option you like)
    adduser $iuser
    # Assign the password to the user, passwd must read it from stdin
    echo $ipasswd | passwd --stdin $iuser
done

passwdでパスワードを読み込むように求める方法に注意してくださいstdin。ファイルが存在するか、ユーザー名にスペースがないか、ユーザーがシステムにまだ存在していないかなどを確認するなど、上記のコードに多くの完全性チェックを追加する必要があるかもしれません。両方のファイル名を入力パラメータとして受け入れるスクリプト。

この回答スタックオーバーフローに非常に便利です。

おすすめ記事