脚本:用户名无效且权限被拒绝

脚本:用户名无效且权限被拒绝

我正在尝试编写一个脚本,从文本文件创建多个用户,然后将它们添加到我创建的名为“实习生”的组中。我想设置默认密码“AIST2330PASSWORD”,然后提示用户在登录时更改密码。我现在的代码是

for i in $(cat users.txt)
do
echo useradd -m -s /bin/bash -G interns $i
useradd -m -s /bin/bash -G interns $i
echo "AIST2330PASSWORD" | passwd --stdin $i
passwd -e $i
echo "User needs to chnage pw upon reentry"
done

我收到的错误是:

paaswd: Permission denied.
User needs to change pw upon reentry
useradd -m -s /bin/bash -G interns hmccoy
'seradd: invalid user name 'hmccoy 
passwd: unrecognized option '--stdin'

我究竟做错了什么?

答案1

您收到错误是因为Ubuntu 中passwd: unrecognized option '--stdin'没有通过 STDIN--stdin使用命令提供密码的选项。passwd

您不能使用passwd命令以非交互方式传递密码,而在交互式 shell 中,passwd使用 STDIN 来获取密码。这只发生在交互式操作中,如果您使用管道等 shell 程序,它将不起作用。

由于您希望为所有人创建具有相同密码的批量用户,因此也许您应该查看newusers适合您情况的命令。

相关内容