#!/usr/bin/perl # kreator, '98 # sa manjim pravopisnim ispravcima by UnreaL. :) # datum predzadnje promjene: Wed Jul 1 11:45:14 CEST 1998 # promjena za /meho/users/h by UnreaL: Sat Oct 3 19:23:02 MET DST 1998 # promjena za novi disk (svi su na /home) by UnreaL: Tue Nov 3 22:36:37 MET 1998 print <); if (chop($value = `grep :x:$uid /etc/passwd`) ne '') { print "Vec postoji taj UID!\n$value\n"; $uid = ''; } else { if (chop($full_name = `gzip -dc /home/root/passwd.gz | grep $uid:`) eq '') { print "UID $uid nije pronadjen..\nzelite li unijeti UID ponovo? (y/n) "; chop($answer = ); if (($answer eq '') || ($answer eq 'y') || ($answer eq 'Y')) { $uid = ''; } else { $full_name = 'burek s mesom..'; } } else { print "pronadjeno: $full_name\n"; } } } # enter group print "grupa (users): "; chop($group = ); if ($group eq '') { $group = 'users'; } if ($group ne 'users') { print "OPREZ: grupa je $group! [ENTER]"; $answer = ; } # enter login name $value = 'dummy'; while ($value ne '') { print "login korisnika: "; chop($name = ); chop($value = `grep ^$name:x /etc/passwd`); $strlen = length($name); if ($value ne '') { print "postoji korisnik!\n$value\n"; } else { if ($strlen > 8) { print "duze od 8 znakova!\n"; $value = 'dummy'; } else { if (($value2 = `grep ^$name: /etc/mail/aliases`) ne '') { print "korisnik postoji u alias bazi!\n"; print "$value2\n"; $value = 'dummy'; } else { if ($name eq '') { print "prazan password!\n"; $value = 'dummy'; } } } } } # full name parsing if ($full_name eq 'nema me..') { print "OPREZ: molim unijeti kompletno ime i prezime!\n"; } else { #tnx to ivac.. and man sed, perlop, perfunc, perlre, perlfaq, corava_posla $full_name =~ s/([^:]+:){4}([^:,]+)[:,].*/$2/g; $full_name =~ s/(\w+)/\u\L$1/g; } print "puno ime korisnika ($full_name): "; chop($full_name2 = ); if ($full_name2 ne '') { $full_name = $full_name2; $full_name =~ s/([^:]+:){4}([^:,]+)[:,].*/$2/g; $full_name =~ s/(\w+)/\u\L$1/g; } # find home $letter = lc(substr($name,0,1)); #if ($letter =~ /^[a-h]/g) #{ # $home = '/meho'; #} else #{ $home = '/home'; #} # ok.. now system-it (tm) :) $todo = "useradd -u $uid -g $group -d $home/users/$letter/$name -c \"$full_name\" -m $name"; print "$todo\nmolim malo pricekati.. [ENTER]"; $answer = ; system $todo; # do some quota stuff #if ($home eq '/meho') #{ # $todo = "edquota -p alice $name"; #} else #{ $todo = "edquota -p icarus $name"; #} system $todo; # enter new password $todo = "passwd $name"; system $todo; # limit password changes $todo = "passwd -n 1 $name"; system $todo; system "quota -v $name";