Advertisement
Guest User

Untitled

a guest
May 17th, 2017
75
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.39 KB | None | 0 0
  1. #!/usr/bin/perl
  2. # Manage_Users (P.Burghouwt 2005 THRijswijk)
  3. # Eenvoudig voorbeeld om gebruikers toe te voegen of te verwijderen.
  4. # (Voor lab, dus niet bedoeld voor serieus gebruik)
  5. # Gebruik als root: #Manage_Users <file>
  6. # Waarbij <file> een tekstfile is met op elke regel drie velden
  7. # <add/remove> <user> <password>
  8. use warnings;
  9. use strict;
  10. my $user;
  11. my $password;
  12. my $line;
  13. my $filename;
  14. #Controle op meegegeven filenaam
  15. die "ERROR: Usage $0 <list> !\n ...with <list> is file containing status user and password on
  16. each line.\n\n" unless (@ARGV == 1);
  17. ($filename) = @ARGV;
  18. die "ERROR: Cannot open $filename !\n\n" unless (open(IN, $filename));
  19. for (<IN>){ #alle regels in de file doorlopen
  20. if(/^add\s+(\w+)\s+(\w+)/) { #regexp: controle op add
  21. $user=$1;
  22. $password=$2;
  23. `adduser $user`;
  24. `echo $password | passwd $user`; #truc om password mee te geven
  25. print("Added ", $user, " - ", $password, " \n");
  26. };
  27. if(/^remove\s+(\w+)/) { #regexp: controle op remove
  28. $user=$1;
  29. `tar cz /home/$user > archive.tar.gz`;
  30. `userdel $user`;
  31. `rm -rf /home/$user`;
  32. print("Removed ", $user, " \n");
  33. };
  34. if(/^recover\s+(\w+)\s+(\w+)/) { #regexp: controle op remove
  35. $user=$1;
  36. $password=$2;
  37. `tar zxvf archive.tar.gz > /home/$user`;
  38. `adduser $user`;
  39. `echo $password | passwd $user`; #truc om password mee te geven
  40. print("Added ", $user, " - ", $password, " \n");
  41. print ("recovered\n");
  42. };};
  43. close(IN);
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement