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

관련 정보