简体   繁体   中英

CentOS creating users from CSV file script

I want to write a script in CentOs 7 that creates a new user for every CSV file row.

My csv file looks like this:

username;firstname;lastname;password
username2;firstname2;lastname2;
...
...

First column is the username, second is the first name, third is the last name and last column stands for password. If there isn't a password, it creates a user with some default value.

My code:

#!/bin/bash 

export IFS=";" 

cat users.csv | while read username name surname password; do 
    useradd "$username" -c "${name} ${surname}" -p "$password"
done

How do I create users from each column?

Try this:

$ su - newuser
No passwd entry for user 'newuser' 

$ IFS=";" && echo "newuser;New;User;testpass" | while read username name surname password; do sudo useradd "$username" -c "${name} ${surname}" -p `openssl passwd -1 $password` -m; done

$ su - newuser
Password: 
newuser@my-desktop:~$ logout

$ cat /etc/passwd | grep newuser
newuser:x:1002:1002:New User:/home/newuser:

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM