Toon posts:

[linux] adduser script

Pagina: 1
Acties:

Verwijderd

Topicstarter
Hoi, ik had al gezocht op internet en hier op tweakers. Maar ik kon het niet echt vinden, dus vraag ik het maar.

Ik heb een scriptje nodig dat 10 users kan aanmaken (user1 t/m user10) inclusief home dirs enz.. en ze moeten allemaal hetzelfde wachtwoord krijgen.

Nu verwacht ik niet echt dat jullie mij hier een volledig script gaan geven. Maar hoe geef je in een script het wachtwoord mee zodat je dat niet 2 keer (1x als bevestiging) per gebruiker hoeft in te typen?

Alvast bedankt

Verwijderd

onder redhat kun je dit doen (geen id of andere distro's dit ook hebben):

echo "mijnwachtwoord" | passwd --stdin <username>

maar dit had je ook in de manual page kunnen vinden

In pseudo code:
code:
1
2
3
4
for each username do
    adduser <username>
    echo "password" | passwd --stdin <username>
done


edit:

|:( doe ik "edit" ipv "quote"

[ Voor 163% gewijzigd door Verwijderd op 08-01-2003 12:41 ]


  • moto-moi
  • Registratie: Juli 2001
  • Laatst online: 09-06-2011

moto-moi

Ja, ik haat jou ook :w

Verwijderd schreef op 08 januari 2003 @ 12:24:
onder redhat kun je dit doen (geen id of andere distro's dit ook hebben):

echo "mijnwachtwoord" | passwd --stdin <username>
code:
1
2
3
4
5
6
kahlan:/home/hylke#  echo "nieuwepass" | passwd --stdin cursus
passwd: invalid option -- -
usage: passwd [-f|-s] [name]
       passwd [-x max] [-n min] [-w warn] [-i inact] name
       passwd {-l|-u|-d|-S|-e} name
kahlan:/home/hylke#

Gelukkig werkt dat dus niet ;)
maar dit had je ook in de manual page kunnen vinden
Zeg, wees eens een schat, en wijs eens aan waar dat staat in die manpage ? ;)

Dit is wel mogelijk, maar dan zul je adduser <username> moeten gaan draaien, en kijken naar het moment waarop hij naar het password vraagt. Of je moet direct in /etc/passwd (Of /etc/shadow) gaan porren, maar dat vind ik persoonlijk nogal eng..

[ Voor 3% gewijzigd door moto-moi op 08-01-2003 12:30 ]

God, root, what is difference? | Talga Vassternich | IBM zuigt


Verwijderd

onder redhat kun je dit doen (geen id of andere distro's dit ook h
ebben):
code:
1
2
3
4
5
6
7
8
9
[user@redhat user]$ cat /etc/redhat-release 
Red Hat Linux release 7.2 (Enigma)
[user@redhat user]$ man passwd
...
       --stdin
                  This option is used to indicate that passwd  should
                  read  the  new  password from standard input,
                  which can be a pipe.
...


Imo is dit voor admins een handige optie voor bijvoorbeeld migraties ...

  • moto-moi
  • Registratie: Juli 2001
  • Laatst online: 09-06-2011

moto-moi

Ja, ik haat jou ook :w

Verwijderd schreef op 08 januari 2003 @ 12:42:
code:
1
2
3
4
5
6
7
8
9
[user@redhat user]$ cat /etc/redhat-release 
Red Hat Linux release 7.2 (Enigma)
[user@redhat user]$ man passwd
...
       --stdin
                  This option is used to indicate that passwd  should
                  read  the  new  password from standard input,
                  which can be a pipe.
...
Gatverdamme, wat een onzinnige patch.. maargoed, het kan dus blijkbaar wel, * moto-moi stands corrected.
Imo is dit voor admins een handige optie voor bijvoorbeeld migraties
Persoonlijk zou ik dan de /home directories en /etc/passwd, /etc/shadow backuppen, en deze na een nieuwe installatie weer terug plaatsen, dat lijkt me handiger dan tientallen, of misschien wel duizenden passwords handmatig in te voeren.
Maargoed, ik heb ook niet gezegt dat het onmogelijk zou zijn *wijst naar /etc/passwd verhaal in vorige posting*

God, root, what is difference? | Talga Vassternich | IBM zuigt


Verwijderd

Als je salt gelijk is en je wachtwoord ook, zou in /etc/shadow het crypted wachtwoord identiek moeten zijn voor al die users. In dat geval zou je nog het volgende kunnen doen:

- voeg user1 toe, incl password.
- Copy & paste de rest van de 9 regels in /etc/shadow en /etc/passwd, waarbij je telkens de username, UID, GECOS en homedir veranderd.

moto-moi: Ook dat gaat alleen maar op als je redhat gebruikt, die heeft de -p parameter voor adduser. Hiermee kun je het crypted wachtwoord meegeven.
code:
1
2
3
4
5
6
[user@redhat user]$ man adduser
...
       -p passwd
              The  encrypted  password,  as returned by crypt(3).
              The default is to disable the account
...

Vraag is echter of deze parameter ook md5 based passwords ondersteund...

edit:

moto-moi: passwd/shadow copyen werkt alleen maar als je van lnx -> lnx migreerd. Op het moment dat je van iets (bv solaris of freebsd) naar redhat moet zijn dit echt wel handige opties die ik persoonlijk mis in andere distro's. Wat is erop tegen afgezien van het feit dat het wachtwoord te zien is in de process listing?

[ Voor 26% gewijzigd door Verwijderd op 08-01-2003 12:57 ]


Verwijderd

Topicstarter
Oke. dit werkt goed. Maar is er voor Samba users toevoegen ook zoiets.. of heb je dan vette pech?

Ik gebruik trouwens RedHat 8.0

Verwijderd

vast wel, maar dat mag je eerst zelf zoeken :P (/me weet het iig niet)

[ Voor 9% gewijzigd door Verwijderd op 08-01-2003 13:12 ]


Verwijderd

Topicstarter
Ik had al zelf gezocht.. en bij smdpasswd werkt het ook wel op dezelfde manier.. maar smbadduser kan je niet uitvoeren zonder dat je voor een wachtwoord geprompt wordt. En je moet ze toch eerst aanmaken voordat je smbpasswd kan doen.

[ Voor 17% gewijzigd door Verwijderd op 08-01-2003 13:18 ]


  • imdos
  • Registratie: Maart 2000
  • Laatst online: 08-05 14:35

imdos

I use FreeNAS and Ubuntu

je hebt toch mksmbpasswd ofzoiets die vanuit je /etc/passwd alle zut aanmaakt.
Die moet het wel kunnen afaik

pvoutput. Waarom makkelijk doen, als het ook moeilijk kan! Every solution has a new problem


Verwijderd

Volgens mij moet het kunnen met de volgende regel. Werkt iig voor gewone gebruikers.
code:
1
echo "user:wachtwoord" | chpasswd

Zal denk ik ook wel werken onder samba

Verwijderd

waarschijnlijk niet. /etc/passwd en /pad/naar/smbpasswd zijn 2 totaal verschillende dingen. Het lijkt me sterk dat chpasswd beide formaten ondersteund. Ik kan het echter niet checken, aangezien ik hier op dit moment alleen maar IRIX bij de hand heb, en die kent dit commando weer niet ;)

  • MALobert
  • Registratie: Mei 2002
  • Laatst online: 13-10-2024
Ik ga mijn antwoord zeer kort houden :)
probeer eens newusers die gebruikte ik bij mijn IBM cursus redhat om +/- 500 gebruikers of meer aan te maken
:) :P

vi gebruikers (of zoiets)

test1:wachtwoord1:1001:1001:volledigenaam1:/home/test1:/usr/bin/bash
test2:wachtwoord1:1002:1002:volledigenaam1:/home/test2:/usr/bin/bash
test3:wachtwoord1:1003:1003:volledigenaam1:/home/test3:/usr/bin/bash
test4:wachtwoord1:1004:1004:volledigenaam1:/home/test4:/usr/bin/bash
test5:wachtwoord1:1005:1005:volledigenaam1:/home/test5:/usr/bin/bash

wel even kijken of uid en guid niet in gebruik zijn..... :)

en dan op de commandline "newuser gebruikers" klaar :)

tip:
het makkelijkst gaat dit in openoffice of in excel

[ Voor 68% gewijzigd door MALobert op 09-01-2003 17:11 ]


Verwijderd

Doet dit "newusers" script ook smb accounts aanmaken? In dat geval is dit mischien handiger dan OO of excel (anders is het imho nogal tijdrovend dat users aanmaken. Dit is nou bij uitstek iets wat geautomatiseerd kan worden):
code:
1
2
3
4
5
for nr in 1 2 3 ... 500; do
       ID=`expr ${nr} + 1000`
       echo "user${nr}:wachtwoord${nr}:${ID}:${ID}:volledige naam:/home/user${nr}:/bin/bash \
        >> /tmp/gebruikers
done

offtopic:
dat newusers script ziet er wel _erg_ tijdrovend uit, aangezien je eerst een (bijna) complete "virtuele" /etc/passwd moet gaan maken, waarna je alle users nog eens toe moet gaan voegen aan je /etc/passwd. Beetje dubbelop lijkt me, en dan zou je beter met een lijst met username:passwd kunnen werken en daar zelf een script omheen te bakken...

[ Voor 32% gewijzigd door Verwijderd op 09-01-2003 17:47 ]


Verwijderd

Topicstarter
Debian-User schreef op 09 January 2003 @ 17:03:
Ik ga mijn antwoord zeer kort houden :)
probeer eens newusers die gebruikte ik bij mijn IBM cursus redhat om +/- 500 gebruikers of meer aan te maken
:) :P

vi gebruikers (of zoiets)

test1:wachtwoord1:1001:1001:volledigenaam1:/home/test1:/usr/bin/bash
test2:wachtwoord1:1002:1002:volledigenaam1:/home/test2:/usr/bin/bash
test3:wachtwoord1:1003:1003:volledigenaam1:/home/test3:/usr/bin/bash
test4:wachtwoord1:1004:1004:volledigenaam1:/home/test4:/usr/bin/bash
test5:wachtwoord1:1005:1005:volledigenaam1:/home/test5:/usr/bin/bash

wel even kijken of uid en guid niet in gebruik zijn..... :)

en dan op de commandline "newuser gebruikers" klaar :)

tip:
het makkelijkst gaat dit in openoffice of in excel
Dit werkt dus niet voor samba....
Het was ook niet echt perse nodig. Maar ik wilde het gewoon even weten.

in iedergeval iedereen bedankt. Het useraddscript voor gewone users (zonder samba) werkt wel.

Verwijderd

Ik heb een soort gelijk probleem ik moet uid en guid toevoegen aan NIS maar sommige zijn dubbel qua username udi en of guid geen flauw id hoe ik dit nog ga aanpakken

iemand ervaring hiermee met servers mergen ?
Pagina: 1