Advertisement
Guest User

Untitled

a guest
Apr 16th, 2017
117
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.31 KB | None | 0 0
  1. Meteor.methods({
  2.  
  3. setupUser: function(id, password, profile) {
  4. var createDirectory = process_exec_sync("mkdir /var/www/Suppression/maillists/" + id);
  5. var createUser = process_exec_sync("useradd -g ftp -d /var/www/Suppression/maillists/"+ id +" -c '"+profile.firstName+" "+profile.lastName+"' "+ id);
  6. var assignPassword = process_exec_sync("echo '"+id+":"+password+"' | chpasswd "+id);
  7. var createGhostShell = process_exec_sync("usermod -s /bin/ftp "+ id);
  8. var createFilesDirectory = process_exec_sync('mkdir /var/www/Suppression/maillists/'+id+'/files');
  9.  
  10. if ( createDirectory.error) {
  11. throw new Meteor.Error("exec-fail", "Error creating directory " + createDirectory.error.message);
  12. }
  13. else
  14. {
  15. if(createUser.error) {
  16. throw new Meteor.Error("exec-fail", "Error creating user " + createUser.error.message);
  17. }
  18. else
  19. {
  20. if(assignPassword.error){
  21. throw new Meteor.Error("exec-fail", "Error Assigning password " + assignPassword.error.message);
  22. }
  23. else
  24. {
  25. if(createGhostShell.error) {
  26. throw new Meteor.Error("exec-fail", "Error creating ghost Shell " + createGhostShell.error.message);
  27. }
  28. else
  29. {
  30. if(createFilesDirectory.error) {
  31. throw new Meteor.Error("exec-fail", "Error creating File's directory " + createFilesDirectory.error.message);
  32. }
  33. else
  34. {
  35. console.log("Yey!");
  36. }
  37. }
  38. }
  39. }
  40. }
  41. }
  42.  
  43. });
  44.  
  45. process_exec_sync = function (command) {
  46.  
  47. var Future = Npm.require("fibers/future");
  48. var child = Npm.require("child_process");
  49. var future = new Future();
  50.  
  51. child.exec(command, {maxBuffer: 1024 * 100000}, function(error, stdout, stderr) {
  52. var result = {};
  53. if (error) {
  54. result.error = error;
  55. }
  56. result.stdout = stdout;
  57. future.return(result);
  58. });
  59. return future.wait();
  60. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement