useradd script

Giorgos Keramidas keramida at ceid.upatras.gr
Mon Sep 25 14:39:20 EEST 2000


On Mon, Sep 25, 2000 at 04:05:29AM -0700, George Liolios wrote:
> 
> Θέλοντας να ανοίξω 550 accounts σε ενα Suse Linux 6.4 αποφάσισα να
> χρησιμοποιήσω την εντολή useradd:
>
> useradd -u 512 -g users -s /bin/bash -u
> /home/tkostopoulos -p sol54 tkostopoulos
> 
> επαναλαμβανόμενη σε ένα script file 550 φορές.
> 
> Υπάρχει όμως πρόβλημα με το -p [passwd] παράμετρο και αυτό γιατί
> το "sol54" στο παραπάνω παράδειγμα το βάζει όπως είναι στο file
> /etc/shadow και όχι κωδικοποιημένο!

Δοκιμασε να χρησιμοποιησεις κατι σαν perl για να κωδικοποιησεις το
password πριν το στειλεις στην useradd. Π.χ αν εχεις το παρακατω perl
script για να κωδικοποιεις strings:

	% cat crypt.pl
	die "missing or too many arguments" unless ($#ARGV != 0);
	$salt = join '', ('.', '/', 0..9, 'A'..'Z', 'a'..'z')[rand 64, rand 64];
	$encrypted = crypt $ARGV[0], $salt;
	print "$encrypted\n";

τοτε μπορεις να γραψεις τα usernames + passwords των καινουριων users σε
ενα αρχειο οπως:

	% cat newusers.dat
	keramida:so5&4bsd
	giorgos:more+fun
	paizaki:kid.pass

Και να ανοιξεις τα καινουρια accounts με κατι σαν:

	% cat makeusers.sh
	#!/bin/sh

	exec xargs -n1 createuser.sh < newusers.dat

	% cat createuser.sh
	#!/bin/sh

	set `echo $1 | sed -e s/:/`
	useradd -g users \
	  -s /bin/bash \
	  -u "/home/$1" \
	  -p "`perl crypt.pl $2`" \
	  "$1"

Εχεις ολα τα scripting tools για να παιξεις.  Καντο λοιπον :-)

-- 
Giorgos Keramidas, <keramida at ceid.upatras.gr>
For my public pgp2 key: finger -l keramida at diogenis.ceid.upatras.gr

--
linux-greek-users mailing list -- http://lists.hellug.gr




More information about the Linux-greek-users mailing list