在ubuntu中添加多个用户的脚本(批量)


9

我需要在Ubuntu 12.04中通过脚本添加10个用户。

通过手动添加用户,可以减少时间,并且我可以在其他桌面上应用此脚本。

每个用户将有一个特定的用户,并在特定的组中。

任何的想法?


Answers:


5

打开一个终端并输入:vim /tmp/name创建一个文件和用户名:例如:

vim /tmp/name
mika
mery
etc

使用主目录和默认外壳创建用户:

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


0

我想你可以试试看。

for user in {1..200}; do
    echo "Creating user$user"
    cat <<EOF | adduser --gid 500 user$user
password
password
user$user







EOF
done

这里所有用户都在同一组中。
guntbert 2014年

@guntbert他们也在OP的回答中。所有人都在OP的513中。
kiri 2014年

是的,但问题是:“每个用户将有一个特定的用户,并且在特定的组中。” -您可以通过省略该--gid 500部分来实现。
guntbert 2014年

0

查看此处的答案,它表示除非您有很多用户要添加,否则最好的方法是使用adduser(用于添加用户)和usermod(用于将用户添加到组中)这要照顾很多事情。如果您仍然希望对于一些预先制作的脚本,有一个在这里,另一个在这里,但我不知道他们是否真的对你的工作


-1

这是我的解决方案。我创建了文件/tmp/userlist并添加了所有用户名,脚本完成后它将创建用户,您可以在file中找到用户名和给定的随机密码/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
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.