newusers コマンドに ID を追加するシェルスクリプト

newusers コマンドに ID を追加するシェルスクリプト

Linuxシステムでローカルに60人のユーザーを作成しています。私はこれを自動化したかったので、newusersコマンドを使用してユーザーを一括で追加できることを発見しました。ユーザーとパスワードをリストするテキストファイルがあります。現在、次の形式のテキストファイルがあります。

user1:password1
user2:password2
user3:password3

ただし、newusers コマンドでは、次の形式のファイルが必要です。

user1:password1:1011:1000:user1:/home/user1:/bin/bash

ユーザーシェルでUID、グループID、およびユーザーのホームパスを追加するには、テキストファイルを変更する必要があります。これより簡単な方法はありますか?

ベストアンサー1

ファイルの変更は、username:passファイルを繰り返すのと同じくらい簡単です。

k=1000; while IFS=: read user pass; do 
             echo "$user:$pass:$k:1000:/home/$user:/bin/bash"; let k++;
        done <  users.txt > newusers.txt

これにより、次の名前のファイルが生成されますnewusers.txt

user1:password1:1000:1000:/home/user1:/bin/bash
user2:password2:1001:1000:/home/user2:/bin/bash
user3:password3:1002:1000:/home/user3:/bin/bash

おすすめ記事