Guest User

Untitled

a guest
Nov 17th, 2018
99
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.89 KB | None | 0 0
  1. #!/usr/bin/env perl
  2. use strict;
  3. use warnings;
  4. use utf8;
  5.  
  6. my $name;
  7. my $group;
  8. my $useraddcmd;
  9. my $password;
  10. my $passwdcmd;
  11.  
  12. $name = getprop_must("enter username:");
  13. $group = getprop_opt("enter usergroup(default '$name'):");
  14. $useraddcmd = "useradd " . ($group ? " -g $group " : " ") . $name;
  15. system($useraddcmd) == 0 || die;
  16.  
  17. $password = getprop_must("enter password for $name:");
  18. $password eq getprop_must("re-enter password for $name:") || die("error: password mismatch.");
  19. $passwdcmd = "yes $password | passwd $name > /dev/null 2>&1";
  20. system($passwdcmd);
  21.  
  22. sub getprop_opt {
  23. my $prompt = shift;
  24. my $prop;
  25.  
  26. print $prompt . $/;
  27. $prop = <STDIN>;
  28. $prop =~ s/^\s*([^\s]*)\s*$/$1/;
  29. return $prop;
  30. }
  31.  
  32. sub getprop_must {
  33. my $prompt = shift;
  34. my $prop;
  35. do {
  36. $prop = getprop_opt($prompt);
  37. } while (!$prop);
  38. return $prop;
  39. }
Add Comment
Please, Sign In to add comment