Script per aggiungere più utenti in ubuntu (Bulk)


9

Devo aggiungere 10 utenti con uno script in Ubuntu 12.04.

Ciò potrebbe ridurre il tempo aggiungendo manualmente gli utenti e posso applicare questo script su altri desktop.

Ogni utente avrà un utente specifico e in un gruppo specifico.

Qualche idea?


Risposte:


5

Apri un terminale e digita: vim /tmp/nameper creare un file e i nomi degli utenti: es:

vim /tmp/name
mika
mery
etc

Crea utente con Home Dir e shell predefinita:

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

Crea password per ogni utente:

for i in `cat /tmp/name`; do passwd $i; done


0

Potresti provare questo, suppongo.

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







EOF
done

qui tutti gli utenti sono nello stesso gruppo.
Guntbert,

@guntbert Erano anche nella risposta del PO. Erano tutti nel 513 nei PO.
Kiri,

vero, ma la domanda affermava: "Ogni utente avrà un utente specifico e in un gruppo specifico". - che potresti ottenere omettendo la --gid 500parte.
Guntbert,

0

Guarda qui la risposta , che dice che a meno che tu non abbia molti utenti da aggiungere, il modo migliore è quello di usare adduser(per aggiungere utenti) e usermod(per aggiungere un utente a un gruppo) che si occupa di molte cose. Se desideri ancora qualche sceneggiatura prefabbricata, ce n'è una qui e un'altra qui , ma non so se funzionano davvero per te


-1

È la mia soluzione Ho creato il file /tmp/userliste aggiunto il nome di tutti gli utenti, dopo il completamento dello script creerà gli utenti e potrai trovare il nome utente e la password casuale nel file /tmp/userlist-created. So che non è una soluzione perfetta.

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
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.