mirror of
https://github.com/HackPlan/RootPanel.git
synced 2026-01-13 07:01:20 +08:00
refactor ssh
This commit is contained in:
@@ -4,25 +4,19 @@
|
||||
|
||||
module.exports = exports = express.Router()
|
||||
|
||||
ssh = require './ssh'
|
||||
|
||||
exports.use requireInService 'ssh'
|
||||
|
||||
exports.post '/update_password', (req, res) ->
|
||||
unless /^.+$/.test req.body.password
|
||||
return res.error 'invalid_password'
|
||||
|
||||
chpasswd = child_process.spawn 'sudo', ['chpasswd']
|
||||
chpasswd.stdin.end "#{req.account.username}:#{req.body.password}"
|
||||
|
||||
chpasswd.on 'error', logger.error
|
||||
|
||||
chpasswd.on 'exit', ->
|
||||
|
||||
ssh.updatePassword req.account, req.body.password, ->
|
||||
res.json {}
|
||||
|
||||
exports.post '/kill', (req, res) ->
|
||||
pid = parseInt req.body.pid
|
||||
|
||||
child_process.exec "sudo su #{req.account.username} -c 'kill #{pid}'", (err) ->
|
||||
logger.error err if err
|
||||
|
||||
cache.delete 'linux.getProcessList', ->
|
||||
res.json {}
|
||||
ssh.killProcess req.account, pid, ->
|
||||
res.json {}
|
||||
|
||||
18
plugin/ssh/ssh.coffee
Normal file
18
plugin/ssh/ssh.coffee
Normal file
@@ -0,0 +1,18 @@
|
||||
{child_process} = app.libs
|
||||
{cache, logger} = app
|
||||
|
||||
exports.updatePassword = (account, password, callback) ->
|
||||
chpasswd = child_process.spawn 'sudo', ['chpasswd']
|
||||
chpasswd.stdin.end "#{account.username}:#{password}"
|
||||
|
||||
chpasswd.on 'error', logger.error
|
||||
|
||||
chpasswd.on 'exit', ->
|
||||
callback()
|
||||
|
||||
exports.killProcess = (account, pid, callback) ->
|
||||
child_process.exec "sudo su #{account.username} -c 'kill #{pid}'", (err) ->
|
||||
logger.error err if err
|
||||
|
||||
cache.delete 'linux.getProcessList', ->
|
||||
callback()
|
||||
@@ -12,7 +12,9 @@ exports.registerHook 'view.panel.scripts',
|
||||
|
||||
exports.registerHook 'view.panel.widgets',
|
||||
generator: (req, callback) ->
|
||||
exports.render 'widget', req, {}, callback
|
||||
exports.render 'widget', req,
|
||||
programSummary: supervisor.programSummary
|
||||
, callback
|
||||
|
||||
exports.registerServiceHook 'enable',
|
||||
filter: (req, callback) ->
|
||||
|
||||
Reference in New Issue
Block a user