Скрипт для добавления нескольких пользователей в Ubuntu (Bulk)

Мне нужно добавить 10 пользователей с помощью скрипта в Ubuntu 12.04.

Это может сократить время, добавляя пользователей вручную, и я могу применить этот скрипт на другом рабочем столе.

Каждый пользователь будет иметь определенного пользователя и в определенной группе.

Есть идеи?

9
задан 1 February 2014 в 18:24

5 ответов

Откройте терминал и введите: vim /tmp/name, чтобы создать файл и имена пользователей: например:

vim /tmp/name
mika
mery
etc

Создать пользователя с помощью Home Dir и оболочки по умолчанию:

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
ответ дан 1 February 2014 в 18:24
  • 1
    большое спасибо человек!! Вы сохранили меня. я пытаюсь сделать работу со дней. Большое Спасибо. Я должен Вам:) – kunal 16 July 2015 в 10:58

Вы можете попробовать это, я полагаю.

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







EOF
done
0
ответ дан 1 February 2014 в 18:24

Посмотрите ответ здесь , в котором говорится, что, если у вас нет большого количества пользователей для добавления, лучшим способом является использование adduser (для добавления пользователей) и usermod (для добавления пользователя группе), которая заботится о многих вещах. Если вы все еще хотите какой-то готовый сценарий, есть один здесь и еще один здесь , но я не знаю, действительно ли они работают для вас

0
ответ дан 1 February 2014 в 18:24

Попробуйте новичков echo "vivek:myUltraSecretPassword" | sudo newusers

0
ответ дан 1 February 2014 в 18:24

Это мое решение. Я создал файл /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
0
ответ дан 1 February 2014 в 18:24

Другие вопросы по тегам:

Похожие вопросы: