Permite que o usuário execute programas como root sem senha. Seria a solução correta para o meu problema?

1

Eu tenho um servidor que eu preciso estar executando certos programas permanentemente; Estou tendo problemas com dois deles e não tenho certeza se a solução que encontrei seria a correta, por isso peço opinião aos usuários com mais experiência sobre esses problemas.

  • Por um lado, eu tenho um script iniciado pela tarefa do cron que se conecta a um FTP para atualizar o IP do servidor; assim, caso o IP (é dinâmico) mude, posso verificar o FTP para obter o IP atual para que eu possa se conectar ao servidor.

  • Por outro lado, eu tenho um programa lançado pelo wine que também precisa se conectar a outra conta FTP e executar de vez em quando outros comandos que precisam de privilégios de root.

Qual é o meu problema?

Se eu fizer login e iniciar esses processos, eles funcionarão perfeitamente por horas, mesmo se eu deixar a sessão "ir para a tela de bloqueio de senha", eu acho que é porque eles executam os processos que precisam de senha root frequentemente (talvez a cada 2-10 minutos), mas se eles pararem de executar esses processos, por exemplo, eles não precisarão se conectar ao FTP por 5 ou 10 horas, depois disso eles não poderão fazer isso até que eu faça o login novamente e, nesse exato momento, eles podem se conectar novamente ao FTP.

Então, depois de ler bastante informações sobre isso, eu acho que a solução seria editar o / etc / sudoers e adicionar uma linha similar a esta:

user_X ALL=NOPASSWD:/home/user_X/script.sh

Portanto, este usuário (os processos executados em sua sessão) poderá acessar o FTP permanentemente. Na verdade, o processo de lançamento do vinho não será capaz de se conectar novamente, mesmo se eu fizer o login, então acho que o vinho precisa da sua própria permissão, então talvez eu devesse algo diferente em vez disso?

Não tenho certeza se é a solução certa. Alguém poderia me confirmar que é?

Agradecemos antecipadamente.

EDITAR:

Comando

usado para editar tarefas do cron:

sudo crontab -u root -e

linha que adicionei para (tentar) fazer com que funcione:

*/30 * * * * /home/user_X/check_public_IP.sh > /home/user_X/Desktop/cron_res.txt
    
por Alberto Martín 24.04.2014 / 07:50

0 respostas