Permitindo às pessoas acesso temporário ao meu servidor para executar um comando

3
Eu vou estar no meio do nada por 10 dias mais tarde neste verão. Eu tenho um serviço que precisa ficar em execução e se houver um problema quando eu tiver ido embora, desejo conceder a uma ou duas pessoas de confiança acesso para poder reiniciar esse serviço. O serviço é um aplicativo node.js e, embora sejam muito técnicos, eu quero que seja tão simples quanto executar um script via SSH (ou uma opção melhor se houver um). Qual seria a melhor abordagem para conseguir isso?

    
por Mike Wills 18.06.2012 / 16:46

4 respostas

2

Basta configurar uma conta adicional para pessoas confiáveis. Permita que esta conta apenas inicie / pare / reinicie a operação para o aplicativo node.js. Afinal, você pode gerenciar seu aplicativo com o seguinte script de exemplo:

#!/bin/bash

command=$1
ssh user@host "your-app $command"

Depois disso, corra assim:

script.sh restart
    
por 18.06.2012 / 17:34
4

Para evitar a necessidade de uma segunda pessoa, provavelmente você deve usar um software do tipo watchdog para manter o serviço em dia. Existem muitas ferramentas diferentes usadas no Linux para fazer isso, como:

  1. Monit: link
  2. Upstart: link
  3. Daemontools: link
  4. Launchtool: link

Felizmente, há um aplicativo específico node.js chamado ' forever ' vai conseguir isso para você facilmente. Aqui está um tutorial muito útil sobre como usá-lo.

A maneira rápida é:

npm install forever -g
forever start app.js
    
por 10.07.2012 / 18:12
3

Configure sudo para que esses dois usuários possam executar os comandos necessários para parar / star / qualquer que seja o serviço.

O mais fácil é se você tiver um script de inicialização que faça todas as coisas necessárias. Então tudo que você precisa é conceder a esses usuários /sbin/service <servicename> ... ou similar, dependendo da sua distro.

Dessa forma, você não precisa alterar nada para sua configuração e tem certeza de que tudo será iniciado com todos os parâmetros e configurações corretos e tal.

    
por 18.06.2012 / 21:25
0
  1. Dê a eles um usuário normal.
  2. Coloque o comando desejado no caminho deles.
  3. Defina o sinalizador SETUID para o seu executável.

    # chmod u+s [your executable file for service restart]

por 18.06.2012 / 17:07

Tags