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:
Comandousado 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