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.