我需要在 Ubuntu 12.04 中使用脚本添加 10 个用户。
这可以通过手动添加用户来减少时间,并且我可以在其他桌面上应用该脚本。
每个用户都有特定的用户和特定的组。
任何想法?
答案1
打开终端并输入:vim /tmp/name
创建文件和用户的名称:例如:
vim /tmp/name
mika
mery
etc
创建具有主目录和默认 shell 的用户:
for i in `cat /tmp/name`; do useradd -m -d /home/$i -s /bin/bash $i; done
为每个用户创建密码:
for i in `cat /tmp/name`; do passwd $i; done
答案2
尝试新用户
echo "vivek:myUltraSecretPassword" | sudo newusers
答案3
我想你可以尝试一下。
for user in {1..200}; do
echo "Creating user$user"
cat <<EOF | adduser --gid 500 user$user
password
password
user$user
EOF
done
答案4
这是我的解决方案。我创建了文件/tmp/userlist
并添加了所有用户名,脚本完成后它将创建用户,您可以在文件中找到用户名和给定的随机密码/tmp/userlist-created
。我知道这不是完美的解决方案。
root@demobox:/root : cat /tmp/userlist
xyz1
zyz2
zyz3
root@demobox:/root : cat demo.sh
#!/bin/bash
if [ -f /tmp/userlist ]
then
for i in $(cat /tmp/userlist)
do
if [ -f /usr/bin/pwgen ]
then
PASSWORD=$(pwgen -1 -s 16)
else
PASSWORD=$(cat /dev/urandom | tr -dc "passwordNSR!@#$%0-9" | fold -w 9 | head -1)
fi
useradd -s /bin/bash -d "/home/$i" -m -p "$PASSWORD" "$i"
echo "$i --------- $PASSWORD" >>/tmp/userlist-created
done
else
echo "File /tmp/userlist not found"
fi
chmod 0600 /tmp/userlist-created
root@demobox:/root : ./demo.sh
root@demobox:/root : cat /tmp/userlist-created
xyz1 --------- FivSHfdbDCRffhc7
zyz2 --------- AIjFjE0bv3FslHnp
zyz3 --------- JazcGcKYp2Y0I3Rk
root@demobox:/root : egrep "xyz1|zyz2|zyz3" /etc/passwd
xyz1:x:9016:100::/home/xyz1:/bin/bash
zyz2:x:9017:100::/home/zyz2:/bin/bash
zyz3:x:9018:100::/home/zyz3:/bin/bash