Skript zum Hinzufügen mehrerer Benutzer in Ubuntu (Bulk)

9

Ich muss 10 Benutzer durch ein Skript in Ubuntu 12.04 hinzufügen.

Das könnte die Zeit reduzieren, indem Benutzer manuell hinzugefügt werden, und ich kann dieses Skript auf anderen Desktop anwenden.

Jeder Benutzer hat einen bestimmten Benutzer und eine bestimmte Gruppe.

Irgendeine Idee?

nux
quelle

Antworten:

5

Öffnen Sie ein Terminal und geben Sie: ein vim /tmp/name, um eine Datei und die Namen der Benutzer zu erstellen: z.

vim /tmp/name
mika
mery
etc

Benutzer mit Home Dir und Standard-Shell erstellen:

for i in `cat /tmp/name`; do useradd -m -d /home/$i -s /bin/bash $i; done

Erstellen Sie ein Passwort für jeden Benutzer:

for i in `cat /tmp/name`; do passwd $i; done
Archy k
quelle
1

Versuchen Sie es mit neuen Benutzern echo "vivek:myUltraSecretPassword" | sudo newusers

Leszek
quelle
0

Sie könnten das versuchen, nehme ich an.

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







EOF
done
kiri
quelle
Hier sind alle Benutzer in der gleichen Gruppe.
Guntbert
@guntbert Sie waren auch in der Antwort des OP. Alle waren 513 in den OPs.
Kiri
wahr, aber die Frage lautete: "Jeder Benutzer hat einen bestimmten Benutzer und in einer bestimmten Gruppe." - was Sie erreichen könnten, indem Sie das --gid 500Teil weglassen .
Guntbert
0

Schauen Sie sich die Antwort hier an , die besagt, dass die Verwendung adduser(zum Hinzufügen von Benutzern) und usermod(zum Hinzufügen eines Benutzers zu einer Gruppe), die sich um viele Dinge kümmert , es sei denn, Sie haben eine ganze Reihe von Benutzern zum Hinzufügen . Wenn Sie sich noch ein vorgefertigtes Skript wünschen, gibt es eines hier und eines hier , aber ich weiß nicht, ob sie wirklich für Sie funktionieren

Ron
quelle
-1

Es ist meine Lösung. Ich habe eine Datei erstellt /tmp/userlistund alle Benutzernamen hinzugefügt. Nach Abschluss des Skripts werden Benutzer erstellt, und Sie können den Benutzernamen und das zufällige Kennwort in der Datei finden /tmp/userlist-created. Ich weiß, dass es keine perfekte Lösung ist.

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
Nischay
quelle