Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- Meteor.methods({
- setupUser: function(id, password, profile) {
- var createDirectory = process_exec_sync("mkdir /var/www/Suppression/maillists/" + id);
- var createUser = process_exec_sync("useradd -g ftp -d /var/www/Suppression/maillists/"+ id +" -c '"+profile.firstName+" "+profile.lastName+"' "+ id);
- var assignPassword = process_exec_sync("echo '"+id+":"+password+"' | chpasswd "+id);
- var createGhostShell = process_exec_sync("usermod -s /bin/ftp "+ id);
- var createFilesDirectory = process_exec_sync('mkdir /var/www/Suppression/maillists/'+id+'/files');
- if ( createDirectory.error) {
- throw new Meteor.Error("exec-fail", "Error creating directory " + createDirectory.error.message);
- }
- else
- {
- if(createUser.error) {
- throw new Meteor.Error("exec-fail", "Error creating user " + createUser.error.message);
- }
- else
- {
- if(assignPassword.error){
- throw new Meteor.Error("exec-fail", "Error Assigning password " + assignPassword.error.message);
- }
- else
- {
- if(createGhostShell.error) {
- throw new Meteor.Error("exec-fail", "Error creating ghost Shell " + createGhostShell.error.message);
- }
- else
- {
- if(createFilesDirectory.error) {
- throw new Meteor.Error("exec-fail", "Error creating File's directory " + createFilesDirectory.error.message);
- }
- else
- {
- console.log("Yey!");
- }
- }
- }
- }
- }
- }
- });
- process_exec_sync = function (command) {
- var Future = Npm.require("fibers/future");
- var child = Npm.require("child_process");
- var future = new Future();
- child.exec(command, {maxBuffer: 1024 * 100000}, function(error, stdout, stderr) {
- var result = {};
- if (error) {
- result.error = error;
- }
- result.stdout = stdout;
- future.return(result);
- });
- return future.wait();
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement