Script para agregar múltiples usuarios en ubuntu (Bulk)

9

Necesito agregar 10 usuarios por un script en Ubuntu 12.04.

Eso podría reducir el tiempo al agregar usuarios manualmente, y puedo aplicar este script en otro escritorio.

Cada usuario tendrá un usuario específico y en un grupo específico.

¿Alguna idea?

nux
fuente
posible duplicado del script
Ron

Respuestas:

5

Abra una terminal y escriba: vim /tmp/namepara crear un archivo y los nombres de los usuarios: por ejemplo:

vim /tmp/name
mika
mery
etc

Crear usuario con Home Dir y shell predeterminado:

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

Crear contraseña para cada usuario:

for i in `cat /tmp/name`; do passwd $i; done
Archy k
fuente
0

Podrías probar esto, supongo.

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







EOF
done
kiri
fuente
Aquí todos los usuarios están en el mismo grupo.
guntbert
@guntbert También estaban en la respuesta del OP. Todos estaban en 513 en los OP.
kiri
cierto, pero la pregunta decía: "Cada usuario tendrá un usuario específico y un grupo específico". - lo que podría lograr omitiendo la --gid 500parte.
guntbert
0

Mire la respuesta aquí , que dice que a menos que tenga una gran cantidad de usuarios para agregar, la mejor manera es usar adduser(para agregar usuarios) y usermod(para agregar un usuario a un grupo) que se encarga de muchas cosas. Si todavía desea un guión prefabricado, hay uno aquí y otro aquí , pero no sé si realmente funcionan para usted

Ron
fuente
-1

Es mi solucion. Creé el archivo /tmp/userlisty agregué el nombre de todos los usuarios, después de completar el script creará usuarios y puede encontrar el nombre de usuario y la contraseña aleatoria en el archivo /tmp/userlist-created. Sé que no es la solución perfecta.

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
fuente