linux - CentOS 从 CSV 文件脚本创建用户

标签 linux bash shell csv centos

我想在 CentOs 7 中编写一个脚本,为每个 CSV 文件行创建一个新用户。

我的 csv 文件如下所示:

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

第一列是用户名,第二列是名字,第三列是姓氏,最后一列代表密码。如果没有密码,它会创建一个具有一些默认值的用户。

我的代码:

#!/bin/bash 

export IFS=";" 

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

如何从每一列创建用户?

最佳答案

试试这个:

$ 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:

关于linux - CentOS 从 CSV 文件脚本创建用户,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48241956/

相关文章:

linux - docker - 写入管道 : bad file descriptor

linux - 遍历 bash 中的参数

linux - 在文件中查找特定字符串,然后删除具有相同文件名的其他文件

linux - 如何在 Bash 中提取引号之间的字符串

bash - 获取 bash 中唯一文件的文件路径

bash - 如何在 bash 中同时遍历多个通配符?

linux - grep 两个字符串作为变量在脚本中使用

c++ - 创建一个即使在全屏模式下也保持在顶部的新窗口(Linux 上的 Qt)

mysql - 避免在从脚本运行 MySQL 的每个命令中添加用户名和密码

shell - 删除 impala shell 历史记录