首页 > 解决方案 > 从 csv 文件在 bash shell 中创建多个用户

问题描述

我正在尝试从 bash shell 脚本中的 csv 文件创建多个用户。我的 csv 看起来像这样

Codigo,Apellido,Nombre,Carrera,Facultad,Rol 
10001,Accorti,Paolo,COM,FACED,Profesor
10002,Afonso,Pedro,ICI,FIA,Estudiante
.
.
.

我有以下代码

#!/bin/bash

while IFS=, read  -r Codigo Apellido Nombre Carrera Facultad Rol; 
do

password="Pass123"
sudo useradd -c "${Codigo} ${Apellido}" -d "/home/$codigo" -s /bin/bash -p "${password}"

done < Usuarios.csv 

当我运行代码时,我没有任何错误,但我的终端显示了 useradd 选项并且我的帐户尚未创建。这是我第一次在 bash shell 中编程,我不确定我做错了什么。

标签: linuxbashshellunix

解决方案


取自 useradd 的手册页:

  -p, --password PASSWORD
       The encrypted password, as returned by crypt(3). The default is to
       disable the password.

       Note: This option is not recommended because the password (or
       encrypted password) will be visible by users listing the processes.

       You should make sure the password respects the system's password
       policy.

使用 -p 传递的密码需要加密,不能是纯文本。另一种方法是使用 passwd

另一种可能性是用户 newusers,尽管这是特定于发行版的。


推荐阅读