Qual dos comandos 'nohup sudo' e 'sudo nohup' é recomendado e por quê?

2

Existe alguma diferença entre eles, algum caso de uso especial que faria um deles preferível ao outro?

    
por glarry 26.12.2017 / 12:05

1 resposta

1

Em geral, se um comando não precisar de root privileges, você não o executará como usuário root .

Sempre tente e execute com o menor priv. Imagine que há um bug no <command> que permite que um invasor injete código para ser executado com os privilégios do usuário que chamou <command> .

INCORRECTO: No entanto, neste caso específico, acho que nohup sudo <command> evitará problemas em sudo , NÃO <command> . Então eu iria para sudo nohup <command> .

EDITAR: De fato, de acordo com man fork , quaisquer sinais de processos filhos são herdados pelo processo pai, isso também afeta nohup . Obrigado a Stephen Kitt por mencionar isso.

Para que você possa executar com alegria nohup sudo <command>

EDIT: Na verdade, criei o seguinte caso de teste:

$ cat /tmp/test1.sh /tmp/test2.sh
#!/bin/sh

/tmp/test2.sh &
sleep 5

#!/bin/sh

echo "test"

kill -HUP $$

Quando executo nohup /tmp/test1.sh , a saída (armazenada em nohup.out) é:

test

Isso significa que kill -HUP $$ foi interceptado por nohup.

    
por 26.12.2017 / 13:04