+2
-3
@@ -5,3 +5,3 @@ { | ||
| "author": "NodeCraft Hosting LLC <admin@getnodecraft.net> (http://getnodecraft.net)", | ||
| "version":"1.0.0", | ||
| "version":"1.0.1", | ||
| "main": "sysUser.js", | ||
@@ -11,4 +11,3 @@ "repository": { | ||
| "url": "https://github.com/nodecraft/sysUser.js.git" | ||
| }, | ||
| "bugs":"https://github.com/nodecraft/sysUser.js/issues" | ||
| } | ||
| } |
+17
-9
@@ -9,6 +9,3 @@ var cp = require('child_process'), | ||
| */ | ||
| var regex = { | ||
| valid: /^([a-z_][a-z0-9_]{0,30})$/, | ||
| exists: /no such user/g | ||
| }; | ||
| var validUsernameRegex = /^([a-z_][a-z0-9_]{0,30})$/; | ||
@@ -33,3 +30,3 @@ var buildFlags = function(flags){ | ||
| validate: function(username){ | ||
| return regex['valid'].test(username); | ||
| return validUsernameRegex.test(username); | ||
| }, | ||
@@ -63,2 +60,7 @@ checkExists: function(username,callback){ | ||
| add: function(username,flags,callback){ | ||
| if(callback == undefined){ | ||
| callback = flags; | ||
| flags = ''; | ||
| } | ||
| username = String(username); // just to do some basic sanitization | ||
| this.checkExists(username,function(err,exists){ | ||
@@ -71,3 +73,3 @@ if(err){ | ||
| }else{ | ||
| var cmd = 'adduser '+String(username)+buildFlags(flags); | ||
| var cmd = 'adduser '+username+buildFlags(flags); | ||
| console.log('CMD',cmd); | ||
@@ -78,3 +80,3 @@ exec(cmd,function(error,stdout,stderr){ | ||
| }else{ | ||
| exec('id -u '+String(username),function(error,stdout,stderr){ | ||
| exec('id -u '+username,function(error,stdout,stderr){ | ||
| if(error){ | ||
@@ -93,2 +95,6 @@ callback(stderr); | ||
| delete: function(username,flags,callback){ | ||
| if(callback == undefined){ | ||
| callback = flags; | ||
| flags = ''; | ||
| } | ||
| this.checkExists(username,function(err,exists){ | ||
@@ -111,3 +117,4 @@ if(err){ | ||
| }); | ||
| },setGroup: function(username,group,callback){ | ||
| }, | ||
| setGroup: function(username,group,callback){ | ||
| exec('usermod -g '+String(group)+' '+String(username),function(error,stdout,stderr){ | ||
@@ -120,3 +127,4 @@ if(error){ | ||
| }); | ||
| },addToGroup: function(username,group,callback){ | ||
| }, | ||
| addToGroup: function(username,group,callback){ | ||
| exec('usermod -G '+String(group)+' '+String(username),function(error,stdout,stderr){ | ||
@@ -123,0 +131,0 @@ if(error){ |
Shell access
Supply chain riskThis module accesses the system shell. Accessing the system shell increases the risk of executing arbitrary code.
Found 1 instance in 1 package
No bug tracker
MaintenancePackage does not have a linked bug tracker in package.json.
Found 1 instance in 1 package
Shell access
Supply chain riskThis module accesses the system shell. Accessing the system shell increases the risk of executing arbitrary code.
Found 1 instance in 1 package
22110
0.56%127
6.72%