Skrypt dodawania wielu użytkowników w Ubuntu (Bulk)


9

Muszę dodać 10 użytkowników za pomocą skryptu w Ubuntu 12.04.

To może skrócić czas poprzez ręczne dodawanie użytkowników i mogę zastosować ten skrypt na innym komputerze.

Każdy użytkownik będzie miał konkretnego użytkownika i określoną grupę.

Dowolny pomysł?


Odpowiedzi:


5

Otwórz terminal i wpisz:, vim /tmp/nameaby utworzyć plik i nazwy użytkowników: np .:

vim /tmp/name
mika
mery
etc

Utwórz użytkownika z Home Dir i domyślną powłoką:

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

Utwórz hasło dla każdego użytkownika:

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


0

Przypuszczam, że możesz spróbować.

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







EOF
done

tutaj wszyscy użytkownicy należą do tej samej grupy.
guntbert

@guntbert Byli również w odpowiedzi PO. Wszyscy byli w 513 w PO.
kiri

prawda, ale pytanie brzmiało: „Każdy użytkownik będzie miał konkretnego użytkownika i określoną grupę”. - co można osiągnąć, pomijając tę --gid 500część.
guntbert

0

Spójrz na odpowiedź tutaj , która mówi, że jeśli nie masz wielu użytkowników, najlepszym sposobem dodania jest użycie adduser(do dodawania użytkowników) i usermod(do dodawania użytkownika do grupy), która dba o wiele rzeczy. Jeśli nadal chcesz mieć gotowy skrypt, jest tutaj jeden , a drugi tutaj , ale nie wiem, czy naprawdę dla ciebie działają


-1

To jest moje rozwiązanie. Utworzyłem plik /tmp/userlisti dodałem nazwę wszystkich użytkowników, po zakończeniu skryptu utworzy użytkowników, w których można znaleźć nazwę użytkownika i podane losowe hasło /tmp/userlist-created. Wiem, że to nie jest idealne rozwiązanie.

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
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.